Skip to content

Commit 95eb39f

Browse files
authored
Merge pull request #55 from codeit-moving/release
Release -> main 20241220 18:03 V1
2 parents 41d99f0 + f9ac1a4 commit 95eb39f

File tree

11 files changed

+208
-141
lines changed

11 files changed

+208
-141
lines changed

data/movingRequest.ts

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,72 @@
11
export const movingRequest = [
22
{
33
id: 1,
4-
serviceType: 1,
4+
service: 1,
55
movingDate: "2024-12-05T10:00:00Z",
66
pickupAddress: "123 Maple St, City A",
77
dropOffAddress: "456 Oak Rd, City B",
88
requestCount: 0,
99
designateCount: 0,
1010
isDesignated: false,
11-
createAt: "2024-11-27T00:00:00Z",
12-
updateAt: "2024-11-27T00:00:00Z",
11+
createAt: "2024-12-27T00:00:00Z",
12+
updateAt: "2024-12-27T00:00:00Z",
1313
customerId: 1,
14+
region: 8202,
1415
},
1516
{
1617
id: 2,
17-
serviceType: 2,
18+
service: 2,
1819
movingDate: "2024-12-10T09:30:00Z",
1920
pickupAddress: "789 Pine Ave, City C",
2021
dropOffAddress: "101 Birch Ln, City D",
2122
requestCount: 0,
2223
designateCount: 0,
2324
isDesignated: false,
24-
createAt: "2024-11-27T00:00:00Z",
25-
updateAt: "2024-11-27T00:00:00Z",
25+
createAt: "2024-12-27T00:00:00Z",
26+
updateAt: "2024-12-27T00:00:00Z",
2627
customerId: 2,
28+
region: 82031,
2729
},
2830
{
2931
id: 3,
30-
serviceType: 1,
31-
movingDate: "2024-12-12T11:00:00Z",
32+
service: 1,
33+
movingDate: "2024-12-12T12:00:00Z",
3234
pickupAddress: "234 Cedar Blvd, City E",
3335
dropOffAddress: "567 Elm St, City F",
3436
requestCount: 0,
3537
designateCount: 0,
3638
isDesignated: false,
37-
createAt: "2024-11-27T00:00:00Z",
38-
updateAt: "2024-11-27T00:00:00Z",
39+
createAt: "2024-12-27T00:00:00Z",
40+
updateAt: "2024-12-27T00:00:00Z",
3941
customerId: 3,
42+
region: 82032,
4043
},
4144
{
4245
id: 4,
43-
serviceType: 3,
46+
service: 3,
4447
movingDate: "2024-12-15T14:00:00Z",
4548
pickupAddress: "456 Cherry Blvd, City G",
4649
dropOffAddress: "789 Walnut St, City H",
4750
requestCount: 0,
4851
designateCount: 0,
4952
isDesignated: false,
50-
createAt: "2024-11-27T00:00:00Z",
51-
updateAt: "2024-11-27T00:00:00Z",
53+
createAt: "2024-12-27T00:00:00Z",
54+
updateAt: "2024-12-27T00:00:00Z",
5255
customerId: 4,
56+
region: 82033,
5357
},
5458
{
5559
id: 5,
56-
serviceType: 2,
60+
service: 2,
5761
movingDate: "2024-12-20T13:30:00Z",
58-
pickupAddress: "111 Maple Rd, City I",
62+
pickupAddress: "121 Maple Rd, City I",
5963
dropOffAddress: "222 Pine St, City J",
6064
requestCount: 0,
6165
designateCount: 0,
6266
isDesignated: false,
63-
createAt: "2024-11-27T00:00:00Z",
64-
updateAt: "2024-11-27T00:00:00Z",
67+
createAt: "2024-12-27T00:00:00Z",
68+
updateAt: "2024-12-27T00:00:00Z",
6569
customerId: 5,
70+
region: 82033,
6671
},
6772
];

data/seed.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,48 +9,48 @@ import { PrismaClient } from "@prisma/client";
99
const prismaClient = new PrismaClient();
1010

1111
async function main() {
12-
// 사용자 데이터 시딩
12+
// 견적 요청 데이터 삭제 (가장 먼저 삭제)
13+
await prismaClient.movingRequest.deleteMany();
14+
15+
// 기사, 고객, 서비스, 리전 데이터 삭제
16+
await prismaClient.mover.deleteMany();
17+
await prismaClient.customer.deleteMany();
18+
await prismaClient.service.deleteMany();
19+
await prismaClient.region.deleteMany();
20+
21+
// 사용자 데이터 삭제 (마지막에 삭제)
1322
await prismaClient.user.deleteMany();
23+
24+
// 사용자 데이터 시딩
1425
await prismaClient.user.createMany({
1526
data: users,
1627
skipDuplicates: true,
1728
});
1829

1930
// 고객 데이터 시딩
20-
await prismaClient.customer.deleteMany();
2131
await prismaClient.customer.createMany({
2232
data: customers,
2333
skipDuplicates: true,
2434
});
2535

2636
// 기사 데이터 시딩
27-
await prismaClient.mover.deleteMany();
2837
await prismaClient.mover.createMany({
2938
data: movers,
3039
skipDuplicates: true,
3140
});
3241

3342
// 서비스 데이터 시딩
34-
await prismaClient.service.deleteMany();
3543
await prismaClient.service.createMany({
3644
data: services,
3745
skipDuplicates: true,
3846
});
3947

4048
// 리전 데이터 시딩
41-
await prismaClient.region.deleteMany();
4249
await prismaClient.region.createMany({
4350
data: regions,
4451
skipDuplicates: true,
4552
});
4653

47-
// 견적 요청 데이터 시딩
48-
await prismaClient.movingRequest.deleteMany();
49-
await prismaClient.movingRequest.createMany({
50-
data: movingRequest,
51-
skipDuplicates: true,
52-
});
53-
5454
console.log("Seeding completed!");
5555
}
5656

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"version": "1.0.0",
23
"dependencies": {
34
"@aws-sdk/s3-request-presigner": "^3.691.0",
45
"@prisma/client": "^5.20.0",

src/controllers/moverController.ts

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ router.get(
2929
if (req.user) {
3030
customerId = (req.user as { customerId: number | null }).customerId;
3131
}
32-
3332
const {
3433
nextCursorId = "0",
3534
order = "",
@@ -64,6 +63,43 @@ router.get(
6463
})
6564
);
6665

66+
router.get(
67+
"/my-profile",
68+
passport.authenticate("jwt", { session: false }),
69+
asyncHandle(async (req, res, next) => {
70+
try {
71+
const { moverId } = req.user as { moverId: number };
72+
console.log(moverId);
73+
const mover = await moverService.getMover(moverId);
74+
return res.status(200).send(mover);
75+
} catch (error) {
76+
next(error);
77+
}
78+
})
79+
);
80+
81+
//찜한 기사 목록 조회
82+
router.get(
83+
"/favorite-list",
84+
passport.authenticate("jwt", { session: false }),
85+
asyncHandle(async (req, res, next) => {
86+
try {
87+
const { limit = "10", nextCursorId = "0" } = req.query;
88+
const parseLimit = parseInt(limit as string);
89+
const parseNextCursorId = parseInt(nextCursorId as string);
90+
const { customerId } = req.user as { customerId: number };
91+
const movers = await moverService.getMoverByFavorite(
92+
customerId,
93+
parseLimit,
94+
parseNextCursorId
95+
);
96+
return res.status(200).send(movers);
97+
} catch (error) {
98+
next(error);
99+
}
100+
})
101+
);
102+
67103
//기사 상세 조회
68104
router.get(
69105
"/:id",
@@ -108,42 +144,6 @@ router.post(
108144
})
109145
);
110146

111-
//찜한 기사 목록 조회
112-
router.get(
113-
"/favorite-list",
114-
passport.authenticate("jwt", { session: false }),
115-
asyncHandle(async (req, res, next) => {
116-
try {
117-
const { limit = "10", nextCursorId = "0" } = req.query;
118-
const parseLimit = parseInt(limit as string);
119-
const parseNextCursorId = parseInt(nextCursorId as string);
120-
const { customerId } = req.user as { customerId: number };
121-
const movers = await moverService.getMoverByFavorite(
122-
customerId,
123-
parseLimit,
124-
parseNextCursorId
125-
);
126-
return res.status(200).send(movers);
127-
} catch (error) {
128-
next(error);
129-
}
130-
})
131-
);
132-
133-
router.get(
134-
"/my-profile",
135-
passport.authenticate("jwt", { session: false }),
136-
asyncHandle(async (req, res, next) => {
137-
try {
138-
const { moverId } = req.user as { moverId: number };
139-
const mover = await moverService.getMover(moverId);
140-
res.status(200).send(mover);
141-
} catch (error) {
142-
next(error);
143-
}
144-
})
145-
);
146-
147147
router.patch(
148148
"/",
149149
passport.authenticate("jwt", { session: false }),

src/controllers/movingRequestController.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ router.get(
2424
houseMove = "false",
2525
officeMove = "false",
2626
orderBy = "resent",
27-
isQuoted = "false",
27+
isQuoted = "",
2828
isPastRequest = "false",
2929
} = req.query;
3030
const parseLimit = parseInt(limit as string);
@@ -46,7 +46,7 @@ router.get(
4646
houseMove: parseHouseMove || false,
4747
officeMove: parseOfficeMove || false,
4848
orderBy: orderBy as string,
49-
isQuoted: parseIsQuoted || false,
49+
isQuoted: parseIsQuoted,
5050
isPastRequest: parsePastRequest || false,
5151
});
5252
return res.status(200).send(movingRequestList);

src/repositorys/moverRepository.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ const getMoverList = (
5858
return prismaClient.mover.findMany({
5959
orderBy,
6060
where,
61-
take: limit + 1,
61+
take: limit + 1, //커서 페이지 넘버 계산을 위해 1개 더 조회
6262
skip: cursor ? 1 : 0, //커서 자신을 스킵하기 위함
6363
cursor: cursor ? { id: cursor } : undefined,
6464
select: {

src/repositorys/movingRequestRepository.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,11 @@ const getMovingRequestListByMover = (
122122
},
123123
},
124124
},
125+
isRejected: {
126+
select: {
127+
id: true,
128+
},
129+
},
125130
},
126131
});
127132
};
@@ -315,6 +320,26 @@ const getActiveRequest = (customerId: number) => {
315320
});
316321
};
317322

323+
const getDesignatedMovers = (movingRequestId: number, moverId: number) => {
324+
return prismaClient.movingRequest.findUnique({
325+
where: {
326+
id: movingRequestId,
327+
mover: {
328+
some: {
329+
id: moverId,
330+
},
331+
},
332+
},
333+
select: {
334+
mover: {
335+
select: {
336+
id: true,
337+
},
338+
},
339+
},
340+
});
341+
};
342+
318343
export default {
319344
getMovingRequestListByMover,
320345
createMovingRequest,
@@ -328,4 +353,5 @@ export default {
328353
getMovingRequestCountByServices,
329354
getMovingRequestCountByDesignated,
330355
getTotalCount,
356+
getDesignatedMovers,
331357
};

0 commit comments

Comments
 (0)