Skip to content

Commit 5b397a0

Browse files
authored
Merge branch 'main' into feat/ALBA_56
2 parents 8d04a9f + 2081e0c commit 5b397a0

32 files changed

Lines changed: 1096 additions & 195 deletions

.github/workflows/deploy.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ jobs:
4848
GOOGLE_CLIENT_SECRET=$GOOGLE_CLIENT_SECRET
4949
JWT_ACCESS_SECRET=$JWT_ACCESS_SECRET
5050
JWT_REFRESH_SECRET=$JWT_REFRESH_SECRET
51+
KAKAO_REST_API_KEY=$KAKAO_REST_API_KEY
5152
END"
5253
5354
ssh albalog "cat > /app/.mysql_env << END
@@ -61,6 +62,7 @@ jobs:
6162
GOOGLE_CLIENT_SECRET: ${{secrets.GOOGLE_CLIENT_SECRET}}
6263
JWT_ACCESS_SECRET: ${{secrets.JWT_ACCESS_SECRET}}
6364
JWT_REFRESH_SECRET: ${{secrets.JWT_REFRESH_SECRET}}
65+
KAKAO_REST_API_KEY: ${{secrets.KAKAO_REST_API_KEY}}
6466

6567
- name: Compose Docker
6668
run: |

package-lock.json

Lines changed: 149 additions & 127 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
-- CreateTable: user_preferred_region (user-region 다대다 관계)
2+
CREATE TABLE `user_preferred_region` (
3+
`user_id` BINARY(16) NOT NULL,
4+
`region_id` BINARY(16) NOT NULL,
5+
`created_at` TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
6+
7+
INDEX `FK_region_TO_preferred_region`(`region_id`),
8+
PRIMARY KEY (`user_id`, `region_id`)
9+
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
10+
11+
-- AddForeignKey
12+
ALTER TABLE `user_preferred_region` ADD CONSTRAINT `FK_user_TO_preferred_region` FOREIGN KEY (`user_id`) REFERENCES `user`(`user_id`) ON DELETE CASCADE ON UPDATE NO ACTION;
13+
14+
-- AddForeignKey
15+
ALTER TABLE `user_preferred_region` ADD CONSTRAINT `FK_region_TO_preferred_region` FOREIGN KEY (`region_id`) REFERENCES `region`(`region_id`) ON DELETE CASCADE ON UPDATE NO ACTION;

prisma/schema.prisma

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ model user_preferred_region {
195195
region_id Int
196196
created_at DateTime @default(now()) @db.DateTime(0)
197197
region region @relation(fields: [region_id], references: [region_id], onDelete: Cascade, map: "user_preferred_region_region_region_id_fk")
198-
user user @relation(fields: [user_id], references: [user_id], onDelete: Cascade, map: "user_preferred_region_user_user_id_fk")
198+
user user @relation(fields: [user_id], references: [user_id], onDelete: Cascade, map: "FK_user_TO_preferred_region")
199199
200200
@@id([region_id, user_id])
201201
@@index([region_id], map: "user_preferred_region_region_id_index")

src/DTO/alba_application_dto.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ export interface AlbaDetailResponseDto{
1818
}
1919

2020
export interface AlbaApplyRequestDto{
21-
albaId:string,
22-
userId:string
21+
albaId:string
2322
}
2423
export interface AlbaApplyResponseDto{
2524
albaId:string,

src/DTO/error_dto.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,9 @@ export class InvalidTokenError extends CustomError {
2020
super('INVALID_TOKEN', 401, message, data);
2121
}
2222
}
23+
24+
export class UserRegionError extends CustomError {
25+
constructor(message: string = 'User Region Error', data: any = null) {
26+
super('USER_REGION_ERROR', 400, message, data);
27+
}
28+
}

src/DTO/region_dto.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export interface RegionInterface {
2+
region_id: number;
3+
city: string;
4+
district: string;
5+
}

src/DTO/search_alba_dto.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
export interface SearchAlbaRequestDto{
2+
//Todo:거리 기준 필터링 추가
3+
workDate?:string,
4+
storeCategory?:string,
5+
storeName?:string,
6+
workTime?:string,
7+
hourlyRate?:number
8+
}
9+
export interface SearchAlbaResponseDto{
10+
albaId:string,
11+
storeId:string,
12+
storeName:string,
13+
startTime:Date,
14+
endTime:Date,
15+
dayOfWeek:string,
16+
hourlyRate:number
17+
//Todo: 위치 기반 거리 계산, 가게 카테고리 반영
18+
}

src/DTO/store_review_dto.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
export interface StoreReviewRequestDto{
2-
userId:string,
32
storeId:string,
43
kindness:number,
54
communication:number,

src/DTO/userDTO.ts

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,56 @@
1+
import { binToUuid } from '../util/uuid';
2+
13
export interface UserCreationParams {
2-
email: string;
3-
password: string;
4-
user_name: string;
4+
email: string;
5+
password: string;
6+
user_name: string;
57
}
68

79
export interface UserLoginParams {
8-
email: string;
9-
password: string;
10+
email: string;
11+
password: string;
12+
}
13+
14+
export interface UserRegisterParams {
15+
email: string;
16+
nickname: string;
17+
birthdate: Date;
18+
gender: 'male' | 'female';
19+
}
20+
21+
export interface DefaultUserInterface {
22+
user_id: string;
23+
user_name?: string;
24+
user_birth?: Date;
25+
gender?: 'male' | 'female';
26+
profile_image?: string;
27+
income_goal?: number;
28+
email?: string;
29+
}
30+
31+
export class ResponseFromUser implements DefaultUserInterface {
32+
user_id: string;
33+
user_name?: string;
34+
user_birth?: Date;
35+
gender?: 'male' | 'female';
36+
profile_image?: string;
37+
income_goal?: number;
38+
email?: string;
39+
40+
constructor(userId: Uint8Array<ArrayBufferLike>, userInfo: Partial<DefaultUserInterface>) {
41+
this.user_id = binToUuid(userId);
42+
this.user_name = userInfo.user_name;
43+
this.user_birth = userInfo.user_birth;
44+
this.gender = userInfo.gender;
45+
this.profile_image = userInfo.profile_image;
46+
this.income_goal = userInfo.income_goal;
47+
this.email = userInfo.email;
48+
}
49+
}
50+
51+
export class ResponseFromInitialRegion {
52+
region_id: number[];
53+
constructor(data: { user_id: Uint8Array<ArrayBufferLike>; region_id: number }[]) {
54+
this.region_id = data.map((item) => item.region_id);
55+
}
1056
}

0 commit comments

Comments
 (0)