-
Notifications
You must be signed in to change notification settings - Fork 3
API 명세 내용
Kwon soon won edited this page Nov 23, 2020
·
8 revisions
- 로그인
- POST /api/auth/login
- body : {id, pw}
- POST /api/auth/login
- 로그아웃
- POST /api/auth/logout
- 회원가입
- POST /api/auth/signup
- body : {id, pw, email, ...}
- POST /api/auth/signup
- 인증 middleware
- 권한 검증 middleware
- 전체 유저 조회
- GET /api/users
- 특정 유저 조회(유저 상세정보)
- GET /api/users/{userId}
- 특정 유저 수정
- POST /api/users/{userId}
- body : {수정할 유저 값}
- POST /api/users/{userId}
- 특정 유저 삭제(회원 탈퇴)
- DELETE /api/users/{userId}
- 마지막 채널 갱신
- POST /api/users/{userId}/last-channel
- body : { channelId }
- POST /api/users/{userId}/last-channel
- 모든 채널 조회
- GET /api/channels
- 채널 추가
- POST /api/channels
- body : {채널 정보 - 채널 테이블 참고}
- POST /api/channels
- 특정 채널 정보 조회
- GET /api/channels/{channelId}
- 특정 채널에 특정 유저 초대
- POST /api/channels/{channelId}/invite
- body : {userId} -> private일 때, 내가 초대 권한이 있는가! 검증
- POST /api/channels/{channelId}/invite
- 특정 채널 수정 (이름 변경)
- POST /api/channels/{channelId}
- body : {title}
- 권한 검증
- body : {title}
- POST /api/channels/{channelId}
- 특정 채널 삭제
- DELETE /api/channels/{channelId} - 권한 검증(이 채널의 adminId 인지)
- 쓰레드 생성하기
- POST /api/threads
- body : {생성 쓰레드 정보}
- 권한 검증
- POST /api/threads
- 특정 쓰레드 조회 (해당 쓰레드 컨텐츠 + 댓글 조회)
- GET /api/threads/{threadId}
- { thread : {subThreads: [], ...} }
- GET /api/threads/{threadId}
- 특정 쓰레드 수정
- POST api/threads/{threadId}
- body : {업데이트한 쓰레드 정보}
- 권한 검증
- POST api/threads/{threadId}
- 특정 쓰레드 삭제
- DELETE /api/threads/{threadId}
- 권한 검증
- DELETE /api/threads/{threadId}
- 특정 채널에 속한 스레드 모두 불러오기
- GET /api/threads/channels/{channelId}
- 권한 검증
- GET /api/threads/channels/{channelId}
- 특정 쓰레드에 핀 추가
- POST /api/threads/{threadId}/pin
- 전체 이모지 조회 GET /api/emojis
GET /api/users
- status : 200
{
users : [
{
id: number,
email: string,
image: string,
displayName: string,
phoneNumber: string | null
},
]
}
GET /api/users/:userId
- status : 200
{
user : {
id: number,
email: string,
image: string,
displayName: string,
phoneNumber: string | null,
}
},
POST /api/users/:userId
{
user : {
image: string,
displayName: string,
phoneNumber: string | null,
}
}
- status: 200
DELETE /api/users/:userId
- status: 200
POST /api/users/{userId}/last-channel
{
channelId: number
}
- status: 200
POST /api/auth/login
{
email: string,
pw: string
}
- status: 200
POST /api/auth/logout
- status: 200
POST /api/auth/signup
{
email: string,
pw: string,
image: string | null,
displayName: string,
phoneNumber: string | null,
}
- status: 201
--
GET /api/channels
- status: 200
{
channels:[
{
id: number,
ownerId: number,
name: string,
channelType: number,
isPublic: number,
memberCount: number,
description: string | null,
}
]
}
POST /api/channels
{
name: string,
channelType: number,
isPublic: number,
description: string | null,
}
- status: 201
GET /api/channels/:channelId
{
channel : {
id: number,
ownerId: number,
name: string,
channelType: string,
isPublic: number,
isDelete: number,
memberCount: number,
description: string | null,
created_at: string,
updated_at: string
}
}
🚨권한 검증🚨
POST /api/channels/:channelId/invite
{
userId: number
}
- status : 200
🚨권한 검증🚨
POST /api/channels/:channeldId
{
title: string,
}
- status: 200
🚨권한 검증🚨
DELETE /api/channels/:channelId
- status: 200
- 쓰레드 생성하기
- POST /api/threads
- body : {생성 쓰레드 정보}
- 권한 검증
- POST /api/threads
- 특정 쓰레드 조회 (해당 쓰레드 컨텐츠 + 댓글 조회)
- GET /api/threads/{threadId}
- { thread : {subThreads: [], ...} }
- GET /api/threads/{threadId}
- 특정 쓰레드 수정
- POST api/threads/{threadId}
- body : {업데이트한 쓰레드 정보}
- 권한 검증
- POST api/threads/{threadId}
- 특정 쓰레드 삭제
- DELETE /api/threads/{threadId}
- 권한 검증
- DELETE /api/threads/{threadId}
- 특정 채널에 속한 스레드 모두 불러오기
- GET /api/threads/channels/{channelId}
- 권한 검증
- GET /api/threads/channels/{channelId}
- 특정 쓰레드에 핀 추가
- POST /api/threads/{threadId}/pin
🚨권한 검증🚨
POST /api/threads
{
thread: {
userId: number,
channelId: number,
content: string,
parentId: number | null,
}
}
- status: 201
GET /api/threads/:threadId
{
thread : {
id: number,
userId: number,
channelId: number,
content: string,
url: string,
isPinned: number,
subThreads: [
{
id: number,
userId: number,
channelId: number,
content: string,
url: string,
isPinned: number
},
...
]
}
}
🚨권한 검증🚨
POST /api/threads/{threadId}
{
content: string
}
- status 200
🚨권한 검증🚨
DELETE /api/threads/{threadId}
- status 200
GET /api/threads/channels/{channelId}
- status 200
{
threads : [
{
id: number,
userId: number,
channelId: number,
content: string,
url: string,
isPinned: number,
subThread: [
{
id: number,
userId: number,
channelId: number,
content: string,
url: string,
isPinned: number
}, ...
]
}, ...
]
}
POST /api/threads/{threadId}/pin
- status 200