Skip to content

Commit 5583fb6

Browse files
authored
Merge pull request #23 from ccaaffee/fix/preference
feat: preference 삭제 기능 추가
2 parents 3f8e14a + 1e5bf8c commit 5583fb6

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

src/cafe/cafe.controller.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ export class CafeController {
164164
}
165165

166166
@ApiOperation({
167-
summary: 'delete cate',
167+
summary: 'delete cafe',
168168
})
169169
@ApiOkResponse({
170170
type: HttpCode(201),
@@ -209,6 +209,26 @@ export class CafeController {
209209
);
210210
}
211211

212+
@ApiOperation({
213+
summary: 'delete cafe preference status',
214+
})
215+
@ApiOkResponse({
216+
description: 'Successfully deleted preference',
217+
})
218+
@ApiUnauthorizedResponse({ description: 'Unauthorized' })
219+
@ApiInternalServerErrorResponse({
220+
description: 'Internal Server Error',
221+
})
222+
@ApiBearerAuth('JWT')
223+
@Delete(':id/preference')
224+
@UseGuards(JwtAuthGuard)
225+
async deleteCafePreference(
226+
@GetUser() user: User,
227+
@Param('id', ParseIntPipe) cafeId: number,
228+
) {
229+
await this.cafeService.deleteCafePreference(user.uuid, cafeId);
230+
}
231+
212232
@ApiOperation({
213233
summary: 'get my prefenrence status for cafe',
214234
})

src/cafe/cafe.repository.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,14 @@ export class CafeRepository {
376376
});
377377
}
378378

379+
async deleteUserCafePreference(userUuid: string, cafeId: number) {
380+
return await this.prismaService.userCafe.delete({
381+
where: {
382+
userUuid_cafeId: { userUuid, cafeId },
383+
},
384+
});
385+
}
386+
379387
async getSwipeCafeList(
380388
userUuid: string,
381389
query: GetSwipeCafeListDto,

src/cafe/cafe.service.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,23 @@ export class CafeService {
179179
return preference;
180180
}
181181

182+
async deleteCafePreference(userUuid: string, cafeId: number) {
183+
const cafe = await this.cafeRepository.getCafe(cafeId);
184+
if (!cafe) {
185+
throw new NotFoundException('Cafe not found');
186+
}
187+
188+
const preference = await this.cafeRepository.getUserCafePreference(
189+
userUuid,
190+
cafeId,
191+
);
192+
if (!preference) {
193+
throw new NotFoundException('Preference not found');
194+
}
195+
196+
await this.cafeRepository.deleteUserCafePreference(userUuid, cafeId);
197+
}
198+
182199
async getSwipeCafeList(
183200
user: User,
184201
query: GetSwipeCafeListDto,

0 commit comments

Comments
 (0)