1- export type TeamType = 'STUDY' | 'PROJECT' | 'MENTORING'
2- export type TeamLabelType = '스터디' | '프로젝트' | '멘토링'
3- export type TeamRecruitmentLabelType = '모집 중' | '모집 완료'
4- export type TeamPosition = string
1+ // 팀 모집글 관련 기본 타입
2+ export type TeamType = 'STUDY' | 'PROJECT' | 'MENTORING' // 팀 모집글 유형
3+ export type TeamLabelType = '스터디' | '프로젝트' | '멘토링' // 팀 모집글 유형 라벨
4+ export type TeamRecruitmentLabelType = '모집 중' | '모집 완료' // 모집 상태 라벨
5+ export type TeamPosition = string // 역할 (예: 프론트엔드, 백엔드 등)
56
6- type TeamBaseBody = {
7- teamTitle : string
8- teamContent : string
9- teamType : TeamType
10- teamPosition : TeamPosition
11- teamRecruitmentNum : number
12- teamTechStack ?: TechStack [ ]
13- teamTags ?: Tag [ ]
7+ // 팀 모집글 공통 속성
8+ type TeamBase = {
9+ teamTitle : string // 팀 모집글 제목
10+ teamContent : string // 팀 모집글 내용
11+ teamType : TeamType // 팀 모집글 유형
12+ teamPosition : TeamPosition // 모집 역할
13+ teamRecruitmentNum : number // 모집 인원
14+ teamTechStack ?: TechStack [ ] // 사용 기술 스택
15+ teamTags ?: Tag [ ] // 태그
1416}
1517
16- export interface TeamListType extends PostBaseBody , TeamBaseBody {
17- teamIsActive : boolean
18+ // 팀 모집글 리스트 아이템
19+ export interface TeamListItem extends PostBaseBody , TeamBase {
20+ teamIsActive : boolean // 모집 활성 상태
1821}
1922
2023/*
2124path: '/v1/team'
22-
23- GET: 팀 모집급 전체 조회
25+ GET: 팀 모집글 모집급 전체 조회
2426*/
25- export type GetTeamListResponse = TeamListType [ ]
27+ export type GetTeamListResponse = TeamListItem [ ]
2628
27- /* POST: 팀 모집글 등록 */
28- export type TeamCreateRequest = TeamBaseBody
29- export interface TeamCreateResponse extends TimeStamps , TeamBaseBody {
30- id : Id
29+ /*
30+ POST: 팀 모집글 등록
31+ */
32+ export type TeamCreateRequest = TeamBase
33+ export interface TeamCreateResponse extends TimeStamps , TeamBase {
34+ id : Id // 팀 모집글 ID
3135}
3236
3337/*
3438path: '/v1/team/{teamId}'
3539GET: 팀 모집글 상세 조회
3640*/
37- export type GetTeamDetailResponse = TeamListType
41+ export type GetTeamDetailResponse = TeamListItem
3842
39- /* DELETE: 팀 모집글 삭제
40-
41- 반환 값:
43+ /*
44+ DELETE: 팀 모집글 삭제
45+ 반환 값: 공통 응답 타입 활용 (ApiResponse)
4246{
4347 "isSuccess": true,
4448 "code": "COMMON200",
45- "message": "팀 모집글이 성공적으로 삭제되었습니다."
49+ "message": "팀 모집글 모집글이 성공적으로 삭제되었습니다."
4650}
4751*/
4852
4953/*
5054path: '/v1/team/{teamId}/add'
5155
52- POST: 팀 멤버 추가
56+ POST: 팀 모집글 멤버 추가
5357*/
5458export interface TeamAddMemberRequest {
55- memberId : Id
59+ memberId : Id // 추가할 멤버 ID
5660}
5761export interface TeamAddMemberResponse {
58- id : Id
59- teamId : Id
60- memberId : Id
62+ id : Id // 추가 작업 ID
63+ teamId : Id // 팀 모집글 ID
64+ memberId : Id // 멤버 ID
6165}
6266
6367/*
6468path: '/v1/team/{teamId}/close'
65- PATCH: 팀 모집 마감
69+ PATCH: 팀 모집글 모집 마감
6670
6771반환 값:
6872{
@@ -80,9 +84,9 @@ export type SearchMembersResponse = MemberInfo[]
8084
8185/*
8286path: '/v1/team/{teamId}/members'
83- GET: 팀 멤버 전체 조회
87+ GET: 팀 모집글 멤버 전체 조회
8488*/
8589export type GetTeamMembersResponse = {
86- teamId : Id
87- members : MemberInfo [ ]
90+ teamId : Id // 팀 모집글 ID
91+ members : MemberInfo [ ] // 팀 모집글 멤버 리스트
8892}
0 commit comments