@@ -1067,6 +1067,87 @@ GET /letters/public?languages=ko&languages=en&page=0&size=20
10671067
10681068---
10691069
1070+ ## 8. 차단 API (` /blocks ` )
1071+
1072+ ### 8.1 사용자 차단
1073+
1074+ ** POST** ` /blocks/{userId} `
1075+
1076+ ** 인증** : 필요
1077+
1078+ ** 참고사항** :
1079+ - 차단하면 친구 관계가 자동으로 삭제됩니다 (양방향).
1080+ - 차단한 사용자의 공개 편지는 목록에서 제외됩니다.
1081+ - 자기 자신은 차단할 수 없습니다.
1082+ - 이미 차단한 사용자는 다시 차단할 수 없습니다.
1083+
1084+ ** Response** (201 Created):
1085+ ``` json
1086+ {
1087+ "success" : true ,
1088+ "data" : " 사용자를 차단했습니다." ,
1089+ "message" : " 사용자를 차단했습니다."
1090+ }
1091+ ```
1092+
1093+ ** 에러 응답** :
1094+ - ` 400 Bad Request ` : 자기 자신을 차단하려는 경우 또는 이미 차단한 사용자인 경우
1095+ - ` 404 Not Found ` : 차단할 사용자를 찾을 수 없는 경우
1096+
1097+ ---
1098+
1099+ ### 8.2 차단 해제
1100+
1101+ ** DELETE** ` /blocks/{userId} `
1102+
1103+ ** 인증** : 필요
1104+
1105+ ** 참고사항** :
1106+ - 차단 해제 후에도 친구 관계는 자동으로 복구되지 않습니다.
1107+ - 친구가 되려면 다시 초대 코드를 사용하거나 편지 답장을 통해 친구가 되어야 합니다.
1108+
1109+ ** Response** (200 OK):
1110+ ``` json
1111+ {
1112+ "success" : true ,
1113+ "data" : " 차단이 해제되었습니다." ,
1114+ "message" : " 차단이 해제되었습니다."
1115+ }
1116+ ```
1117+
1118+ ** 에러 응답** :
1119+ - ` 400 Bad Request ` : 차단하지 않은 사용자를 해제하려는 경우
1120+
1121+ ---
1122+
1123+ ### 8.3 차단한 사용자 목록 조회
1124+
1125+ ** GET** ` /blocks `
1126+
1127+ ** 인증** : 필요
1128+
1129+ ** Response** (200 OK):
1130+ ``` json
1131+ {
1132+ "success" : true ,
1133+ "data" : [
1134+ {
1135+ "id" : " uuid" ,
1136+ "nickname" : " 차단한사용자" ,
1137+ "avatarUrl" : " https://dev.taba.asia/api/v1/files/{fileId}" ,
1138+ "blockedAt" : " 2024-01-01T00:00:00"
1139+ }
1140+ ]
1141+ }
1142+ ```
1143+
1144+ ** 참고사항** :
1145+ - 차단한 사용자 목록을 반환합니다.
1146+ - 차단한 사용자가 없으면 빈 배열을 반환합니다.
1147+ - ` blockedAt ` : 차단한 시간
1148+
1149+ ---
1150+
10701151## Swagger UI
10711152
10721153다음 URL에서 인터랙티브 API 문서를 확인할 수 있습니다:
@@ -1099,3 +1180,13 @@ GET /letters/public?languages=ko&languages=en&page=0&size=20
10991180- ** 중요** : 내가 보낸 편지나 내가 한 액션(친구 추가, 답장 등)은 뱃지에 포함되지 않습니다.
11001181 - 예: 내가 친구를 추가하거나 공개편지에 답장을 보낼 때, 상대방에게는 알림과 뱃지가 추가되지만 나 자신에게는 뱃지가 카운트되지 않습니다.
11011182
1183+ ### 사용자 차단
1184+ - 사용자를 차단하면 ** 친구 관계가 자동으로 삭제** 됩니다 (양방향).
1185+ - 차단한 사용자의 ** 공개 편지는 목록에서 제외** 됩니다.
1186+ - 차단 해제 후에도 친구 관계는 자동으로 복구되지 않습니다.
1187+ - 친구가 되려면 다시 초대 코드를 사용하거나 편지 답장을 통해 친구가 되어야 합니다.
1188+
1189+ ### 편지 자동 삭제 (신고)
1190+ - 편지가 ** 5건 이상 신고** 되면 자동으로 삭제됩니다 (soft delete).
1191+ - 삭제된 편지는 목록에서 제외되며 조회할 수 없습니다.
1192+
0 commit comments