Skip to content

Commit

Permalink
✨ Swagger 설정
Browse files Browse the repository at this point in the history
  • Loading branch information
ldhbenecia committed Nov 22, 2023
1 parent 181491b commit 6196cb4
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 3 deletions.
4 changes: 2 additions & 2 deletions app/backend/src/member/dto/member.dto.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ export class MemberDto {
@ApiProperty({ description: 'Provider ID of the user', example: '123456' })
providerId: string;

@ApiProperty({ description: 'Email address of the user', example: 'user@example.com' })
@ApiProperty({ description: 'Email address of the user', example: 'bcwm.morak@gmail.com' })
email: string;

@ApiProperty({ description: 'Nickname of the user', example: 'john_doe' })
@ApiProperty({ description: 'Nickname of the user', example: 'morak morak' })
nickname: string;

@ApiProperty({ description: "URL of the user's profile picture", example: 'https://example.com/profile.jpg' })
Expand Down
3 changes: 2 additions & 1 deletion app/backend/src/member/member.controller.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { Controller, Get, Req, Res, UnauthorizedException } from '@nestjs/common';
import { MemberService } from './member.service';
import { ApiOperation, ApiResponse } from '@nestjs/swagger';
import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';
import { Request, Response } from 'express';
import { MemberDto } from './dto/member.dto';

@ApiTags('Member Infomation API')
@Controller('member')
export class MemberController {
constructor(private readonly memberService: MemberService) {}
Expand Down
8 changes: 8 additions & 0 deletions app/backend/src/mogaco/dto/create-mogaco.dto.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,35 @@
import { IsDateString, IsEnum, IsInt, IsNotEmpty, IsOptional } from 'class-validator';
import { MogacoStatus } from './mogaco-status.enum';
import { ApiProperty } from '@nestjs/swagger';

export class CreateMogacoDto {
@ApiProperty({ description: 'Group ID', example: '1' })
@IsNotEmpty()
@IsInt()
groupId: number;

@ApiProperty({ description: 'Title of the Mogaco', example: '사당역 모각코' })
@IsNotEmpty()
title: string;

@ApiProperty({ description: 'Contents of the Mogaco', example: '사당역에서 모각코를 열려고 합니다.' })
@IsNotEmpty()
contents: string;

@ApiProperty({ description: 'Date of the Mogaco', example: '2023-11-25T12:00:00.000Z' })
@IsNotEmpty()
@IsDateString()
date: string;

@ApiProperty({ description: 'Maximum number of participants', example: 5 })
@IsNotEmpty()
maxHumanCount: number;

@ApiProperty({ description: 'Address of the Mogaco', example: '서울특별시 관악구 어디길 22 모락 카페' })
@IsNotEmpty()
address: string;

@ApiProperty({ description: 'Status of the Mogaco', example: '모집 중' })
@IsOptional()
@IsEnum(MogacoStatus, { message: 'Invalid status' })
status?: string;
Expand Down
22 changes: 22 additions & 0 deletions app/backend/src/mogaco/dto/mogaco.dto.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,32 @@
import { ApiProperty } from '@nestjs/swagger';

export class MogacoDto {
@ApiProperty({ description: 'ID of the Mogaco', example: 1 })
id: bigint;

@ApiProperty({ description: 'Group ID', example: 1 })
groupId: bigint;

@ApiProperty({ description: 'Title of the Mogaco', example: '사당역 모각코' })
title: string;

@ApiProperty({ description: 'Contents of the Mogaco', example: '사당역에서 모각코를 열려고 합니다.' })
contents: string;

@ApiProperty({ description: 'Date of the Mogaco', example: '2023-11-22T12:00:00Z' })
date: Date;

@ApiProperty({ description: 'Maximum number of participants', example: 5 })
maxHumanCount: number;

@ApiProperty({ description: 'Address of the Mogaco', example: '서울특별시 관악구 어디길 22 모락 카페' })
address: string;

@ApiProperty({ description: 'Status of the Mogaco', example: '모집 중' })
status: string;
}

export class StatusDto {
@ApiProperty({ description: 'Status of the Mogaco', example: '모집 마감' })
status: string;
}
40 changes: 40 additions & 0 deletions app/backend/src/mogaco/dto/response-mogaco.dto.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import { ApiProperty } from '@nestjs/swagger';
import { MemberDto } from 'src/member/dto/member.dto';

export class MogacoWithMemberDto {
@ApiProperty({ description: 'ID of the Mogaco', example: '3' })
id: string;

@ApiProperty({ description: 'Group ID', example: '1' })
groupId: string;

@ApiProperty({ description: 'Title of the Mogaco', example: '사당역 모각코' })
title: string;

@ApiProperty({ description: 'Contents of the Mogaco', example: '사당역에서 모각코를 열려고 합니다.' })
contents: string;

@ApiProperty({ description: 'Date of the Mogaco', example: '2023-11-25T12:00:00.000Z' })
date: string;

@ApiProperty({ description: 'Maximum number of participants', example: 5 })
maxHumanCount: number;

@ApiProperty({ description: 'Address of the Mogaco', example: '서울특별시 관악구 어디길 22 모락 카페' })
address: string;

@ApiProperty({ description: 'Status of the Mogaco', example: '모집 마감' })
status: string;

@ApiProperty({ description: 'Date of Mogaco creation', example: '2023-11-22T12:16:08.913Z' })
createdAt: string;

@ApiProperty({ description: 'Date of Mogaco update', example: '2023-11-22T12:16:08.913Z' })
updatedAt: string;

@ApiProperty({ description: 'Date of Mogaco deletion', example: null })
deletedAt: string | null;

@ApiProperty({ description: 'Member information', type: MemberDto })
member: MemberDto;
}
18 changes: 18 additions & 0 deletions app/backend/src/mogaco/dto/response-participants.dto.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { ApiProperty } from '@nestjs/swagger';

export class ParticipantResponseDto {
@ApiProperty({ description: 'ID of the Member', example: '1' })
id: string;

@ApiProperty({ description: 'Provider ID', example: '117187214221556274884' })
providerId: string;

@ApiProperty({ description: 'Email of the Member', example: '[email protected]' })
email: string;

@ApiProperty({ description: 'Social Type', example: 'google' })
socialType: string;

@ApiProperty({ description: 'Date of Member creation', example: '2023-11-22T04:55:02.988Z' })
createdAt: string;
}

0 comments on commit 6196cb4

Please sign in to comment.