-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_structure.sh
More file actions
90 lines (78 loc) · 3.22 KB
/
create_structure.sh
File metadata and controls
90 lines (78 loc) · 3.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/usr/bin/env bash
set -euo pipefail
BASE="src/main/java/com/gearfirst/user"
RES="src/main/resources"
mkd() { [ -d "$1" ] || { mkdir -p "$1"; echo "[DIR] $1"; }; }
mkf() { [ -f "$1" ] || { mkdir -p "$(dirname "$1")"; : > "$1"; echo "[FILE] $1"; }; }
echo "===> Applying team convention structure (user-service)"
echo "Base package: $BASE"
# ---------------------------
# 1) API (도메인: auth, user)
# ---------------------------
# auth
mkd "$BASE/api/auth/controller"
mkd "$BASE/api/auth/dto/request"
mkd "$BASE/api/auth/dto/response"
mkd "$BASE/api/auth/service/impl"
mkd "$BASE/api/auth/repository"
mkd "$BASE/api/auth/entity"
mkf "$BASE/api/auth/controller/AuthController.java"
mkf "$BASE/api/auth/service/AuthService.java"
mkf "$BASE/api/auth/service/impl/AuthServiceImpl.java"
mkf "$BASE/api/auth/repository/UserRepository.java"
mkf "$BASE/api/auth/repository/WhitelistInviteRepository.java"
mkf "$BASE/api/auth/repository/UserBlacklistRepository.java"
mkf "$BASE/api/auth/entity/User.java"
mkf "$BASE/api/auth/entity/WhitelistInvite.java"
mkf "$BASE/api/auth/entity/UserBlacklist.java"
mkf "$BASE/api/auth/dto/request/LoginRequest.java"
mkf "$BASE/api/auth/dto/request/InviteCreateRequest.java"
mkf "$BASE/api/auth/dto/request/InviteAcceptRequest.java"
mkf "$BASE/api/auth/dto/request/PasswordResetRequest.java"
mkf "$BASE/api/auth/dto/response/LoginResponse.java"
mkf "$BASE/api/auth/dto/response/InviteResponse.java"
# user (프로필/조회 등 확장 대비)
mkd "$BASE/api/user/controller"
mkd "$BASE/api/user/dto/request"
mkd "$BASE/api/user/dto/response"
mkd "$BASE/api/user/service/impl"
mkd "$BASE/api/user/repository"
mkd "$BASE/api/user/entity"
mkf "$BASE/api/user/controller/UserAdminController.java"
mkf "$BASE/api/user/service/UserService.java"
mkf "$BASE/api/user/service/impl/UserServiceImpl.java"
# ------------------------------------
# 2) COMMON (공통 보안/응답/예외/설정 등)
# ------------------------------------
mkd "$BASE/common/security"
mkd "$BASE/common/advice"
mkd "$BASE/common/exception"
mkd "$BASE/common/response"
mkd "$BASE/common/config"
mkf "$BASE/common/security/SecurityConfigSession.java"
mkf "$BASE/common/security/SecurityConfigApi.java"
mkf "$BASE/common/advice/ControllerExceptionAdvice.java"
mkf "$BASE/common/exception/BaseException.java"
mkf "$BASE/common/exception/BadRequestException.java"
mkf "$BASE/common/exception/NotFoundException.java"
mkf "$BASE/common/exception/UnAuthorizedException.java"
mkf "$BASE/common/exception/InternalServerException.java"
mkf "$BASE/common/response/ApiResponse.java"
mkf "$BASE/common/response/SuccessStatus.java"
mkf "$BASE/common/response/ErrorStatus.java"
mkf "$BASE/common/config/SwaggerConfig.java"
# ---------------------------
# 3) RESOURCES (마이그레이션)
# ---------------------------
mkd "$RES/db/migration"
mkf "$RES/db/migration/V1__init_auth.sql"
# ---------------------------
# 4) TEST 스켈레톤(선택 최소)
# ---------------------------
TEST_BASE="src/test/java/com/gearfirst/user"
mkd "$TEST_BASE/api/auth"
mkf "$TEST_BASE/api/auth/AuthControllerTest.java"
mkf "$TEST_BASE/api/auth/AuthServiceTest.java"
mkd "$TEST_BASE/common/security"
mkf "$TEST_BASE/common/security/SecurityConfigSessionTest.java"
echo "===> Done. (Existing files were not modified)"