Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
638ce24
fix: 토큰 만료기간 환경변수화
yu-so-young2 Jan 1, 2025
1804bd1
fix: 토큰 환경변수 경로 변경
yu-so-young2 Jan 3, 2025
5b75b53
Merge branch 'develop' into DP-455
yu-so-young2 Jan 21, 2025
cb54860
Merge pull request #135 from dreamyPatisiel/DP-455
yu-so-young2 Jan 21, 2025
4e3a509
Merge branch 'main' into develop
ssosee Feb 9, 2025
65cd647
feat(SubscriptionService): 구독 서비스 개발
ssosee Feb 23, 2025
434579b
feat(SubscriptionService): 구독 서비스 개발
ssosee Feb 24, 2025
92da53b
docs(SubscriptionController): 구독 서비스 개발
ssosee Feb 24, 2025
64a73c0
feat(SubscriptionService): getSubscribableCompany 개발
ralph-teuida Mar 9, 2025
ce244e6
fix(url 수정): subscription url 수정
ralph-teuida Mar 9, 2025
38f902d
feat(SubscriptionController): getSubscriptions()
ralph-teuida Mar 9, 2025
4f7671a
fix: dev cicd 연결
yu-so-young2 Mar 16, 2025
55a1cce
fix(OpenSearch): OpenSearch 인프라 구축
ralph-teuida Mar 16, 2025
b4fdf9e
fix: dockerfile, appspec.yml, deploy.sh secret 삭제
yu-so-young2 Mar 16, 2025
ec2d925
fix: build info 표시
yu-so-young2 Mar 16, 2025
aa76d91
fix: build info 제거
yu-so-young2 Mar 16, 2025
1ead3b9
Merge pull request #143 from dreamyPatisiel/DP-495
yu-so-young2 Mar 16, 2025
3976246
fix: 배포 스크립트 수정
yu-so-young2 Mar 16, 2025
97f5688
Merge pull request #144 from dreamyPatisiel/DP-495
yu-so-young2 Mar 16, 2025
a4bf041
Merge branch 'develop' into DP-492
ralph-teuida Mar 16, 2025
97362e5
merge(develop):
ralph-teuida Mar 16, 2025
387f9b9
fix: dev cicd 연결
yu-so-young2 Mar 16, 2025
2295bcc
fix: dockerfile, appspec.yml, deploy.sh secret 삭제
yu-so-young2 Mar 16, 2025
e4a829d
fix: build info 표시
yu-so-young2 Mar 16, 2025
cc9518e
fix: build info 제거
yu-so-young2 Mar 16, 2025
1a4fc93
fix: 배포 스크립트 수정
yu-so-young2 Mar 16, 2025
d963ccf
Merge branch 'refs/heads/DP-492' into DP-495
ralph-teuida Mar 16, 2025
b21bddb
feat(SubscriptionService): getCompanyDetail
ralph-teuida Mar 16, 2025
e391d28
feat(SubscriptionController): getCompanyDetail
ralph-teuida Mar 16, 2025
a6780b1
Merge branch 'develop' into DP-493
ralph-teuida Mar 16, 2025
2b577bf
fix(PR): PR 리뷰 반영
ralph-teuida Mar 16, 2025
cfc6186
Merge pull request #141 from dreamyPatisiel/DP-492
yu-so-young2 Mar 16, 2025
977f5b6
merge
ralph-teuida Mar 16, 2025
c03ac13
fix(테스트 코드 수정): company imageUrl 포맷 오류 수정
ralph-teuida Mar 16, 2025
81d417f
fix(ElasticsearchSupportTest): company delete 추가
ssosee Mar 19, 2025
74516df
Merge branch 'DP-493' into DP-495
ssosee Mar 19, 2025
e4eef41
docs(subscribable-company-detail): 문서 추가
ssosee Mar 19, 2025
66753da
fix: proc -> prod 오타 수정
yu-so-young2 Mar 16, 2025
fd6e6bf
fix: pinpoint 버전 수정
yu-so-young2 Mar 20, 2025
81c4de6
Merge branch 'develop' into DP-497
yu-so-young2 Mar 20, 2025
60bf2a6
Merge pull request #148 from dreamyPatisiel/DP-497
yu-so-young2 Mar 20, 2025
fd3188b
fix(PR): PR 리뷰 반영
ssosee Mar 20, 2025
ee57cbb
Merge pull request #142 from dreamyPatisiel/DP-493
yu-so-young2 Mar 21, 2025
1e228e5
Merge branch 'develop' into DP-495
ssosee Mar 23, 2025
beaa4e8
fix(PR): PR 리뷰 반영
ssosee Mar 23, 2025
df3dfb3
Merge branch 'develop' into DP-495
ssosee Mar 23, 2025
d3ef931
Merge pull request #145 from dreamyPatisiel/DP-495
yu-so-young2 Mar 23, 2025
bd2a202
hotfix(SecurityConstant): PROD_WHITELIST_URL, DEV_WHITELIST_URL 수정
ssosee Mar 23, 2025
1cfbb39
feat: 내가 구독한 기업 목록 API
yu-so-young2 Mar 16, 2025
25486ef
fix: 테스트코드 수정
yu-so-young2 Mar 23, 2025
76f8fa1
fix: 코드리뷰 반영(테스트코드 수정)
yu-so-young2 Mar 26, 2025
bb4695c
fix: 테스트코드 수정
yu-so-young2 Mar 26, 2025
12ccfd4
Merge pull request #150 from dreamyPatisiel/DP-498
ssosee Mar 27, 2025
221e9b4
docs: docs 누락 수정 & default pageSize 6 -> 8 변경
yu-so-young2 Mar 27, 2025
4887be7
Merge pull request #151 from dreamyPatisiel/DP-498
ssosee Mar 27, 2025
6a3b463
feat: 알림 단건 읽기 API
yu-so-young2 Mar 29, 2025
a9febfc
test: 알림 단건 읽기 API 테스트코드
yu-so-young2 Mar 29, 2025
0214602
feat(notification): 알림 모두 읽기 API
yu-so-young2 Mar 30, 2025
225f72f
test(notification): 알림 모두 읽기 API 테스트코드
yu-so-young2 Mar 30, 2025
e70c5e1
fix(notification): 인덱스 추가
yu-so-young2 Mar 30, 2025
df0e4a2
fix(notification): docs 문구 추가
yu-so-young2 Mar 30, 2025
2f80a01
fix(notification): docs 문구 추가, 외래키 추가
yu-so-young2 Mar 30, 2025
6fce617
fix(notification): 인덱스 추가 및 이름 변경
yu-so-young2 Mar 30, 2025
7fb9068
feat(SseEmitterService): 실시간 알림(pub/sub) 서비스 개발
ssosee Mar 31, 2025
c5c8abe
feat(SseEmitterService): 실시간 알림(pub/sub) 서비스 개발
ssosee Apr 1, 2025
fb26e4a
fix(notification): 코드리뷰 반영
yu-so-young2 Apr 2, 2025
1608015
fix(테스트 코드): 테스트 코드 수정
ssosee Apr 2, 2025
b79a0b6
fix(SseEmitterService): pub/sub 로직 수정
ssosee Apr 4, 2025
7dffca2
fix(SseEmitterService): 테스트 코드 작성
ssosee Apr 5, 2025
b7ada10
fix(SseEmitterService): 테스트 코드 수정
ssosee Apr 5, 2025
126b4ec
feat(NotificationController): 알림 수신 컨트롤러 개발
ssosee Apr 6, 2025
4998071
feat(NotificationController): 알림 수신 컨트롤러 개발
ssosee Apr 6, 2025
5fac979
feat(build.gradle): 메모리 설정
ssosee Apr 6, 2025
25b2d92
fix(build): 테스트 환경 메모리 확장
yu-so-young2 Apr 7, 2025
a9246d8
Merge branch 'DP-504' of https://github.com/dreamyPatisiel/devdevdev-…
yu-so-young2 Apr 7, 2025
69ec216
fix(notification): 코드수정
yu-so-young2 Apr 7, 2025
564a7af
fix(test): 테스트코드 격리를 위한 company 데이터 삭제 로직 추가
yu-so-young2 Apr 7, 2025
83866d1
Merge branch 'DP-504' of https://github.com/dreamyPatisiel/devdevdev-…
yu-so-young2 Apr 7, 2025
d122e39
Merge pull request #152 from dreamyPatisiel/DP-504
ssosee Apr 9, 2025
8195a2c
Merge pull request #153 from dreamyPatisiel/DP-505
ssosee Apr 9, 2025
00da5b6
Merge branch 'develop' into DP-499
ssosee Apr 9, 2025
ee2bc09
merge
ssosee Apr 9, 2025
fb79c6e
merge
ssosee Apr 9, 2025
c886c6f
feat(notification): 알림 팝업 조회 API
yu-so-young2 Apr 9, 2025
28f73a6
feat(notification): LocalInitData 알림 추가
yu-so-young2 Apr 9, 2025
858afc1
feat(notification): 알림 페이지 조회
yu-so-young2 Apr 11, 2025
5a86578
feat(notification): 정렬 기준에 id 내림차순 추가
yu-so-young2 Apr 11, 2025
2f38426
feat(notification): isRead 필드 직렬화 시 이름 바뀌지 않도록 @JsonProperty 추가
yu-so-young2 Apr 11, 2025
bc581aa
feat(notification): controller 불필요 주석 삭제
yu-so-young2 Apr 12, 2025
5e1dcbe
feat(notification): 불필요 필드 삭제
yu-so-young2 Apr 12, 2025
9c75299
feat(notification): NotificationControllerTest
yu-so-young2 Apr 12, 2025
0bec80a
test(notification): NotificationServiceTest 테스트코드
yu-so-young2 Apr 15, 2025
8a27e1b
test(notification): NotificationServiceTest 테스트코드 수정
yu-so-young2 Apr 15, 2025
47dbc3c
fix(entity): boolean -> Boolean 참조타입으로 변경
yu-so-young2 Apr 15, 2025
d88e51c
fix: 오류 수정
yu-so-young2 Apr 15, 2025
c8fa0e4
fix: endpoint 수정
yu-so-young2 Apr 15, 2025
126d6d0
fix(NotificationController): 알림 발행 로직 수정
ralph-teuida Apr 20, 2025
8a8db3d
fix(PR): PR 리뷰 반영
ssosee Apr 27, 2025
a310cfe
fix(PR): PR 리뷰 반영
ssosee Apr 27, 2025
1d7e99b
Merge pull request #154 from dreamyPatisiel/DP-499
yu-so-young2 Apr 27, 2025
b3b198e
fix(PR): 코드리뷰 반영
yu-so-young2 Apr 27, 2025
9a1b0d3
Merge branch 'develop' into DP-502
yu-so-young2 Apr 27, 2025
bb9d3ac
fix(PR): merge conflict 해결
yu-so-young2 Apr 27, 2025
d54b5ee
fix(PR): 주석 수정
yu-so-young2 Apr 27, 2025
112c88a
Merge pull request #155 from dreamyPatisiel/DP-502
ssosee Apr 28, 2025
ae43dc3
fix(notification): 알림 생성 일시 LocalDate -> LocalDateTime 변경
yu-so-young2 Apr 29, 2025
bbb4516
feat(notification): 알림 전체 개수 조회 API 개발
yu-so-young2 Apr 29, 2025
e91976b
Merge pull request #156 from dreamyPatisiel/DP-502
ssosee Apr 29, 2025
d2587ff
fix(SseEmitterHeartbeatScheduler): sse heartbeat 스케줄러 개발
ssosee Apr 29, 2025
3cbea6d
fix(SseEmitterHeartbeatScheduler): sse heartbeat 스케줄러 개발
ssosee Apr 29, 2025
5a45ea1
Merge pull request #157 from dreamyPatisiel/DP-515
yu-so-young2 Apr 30, 2025
e0415f9
feat(notification): 알림 일괄 삭제 API
yu-so-young2 May 4, 2025
573f77b
test(notification): 알림 일괄 삭제 API
yu-so-young2 May 4, 2025
e771fe0
fix(notification): 코드리뷰 반영
yu-so-young2 May 4, 2025
82091a4
fix(notification): 코드리뷰 반영
yu-so-young2 May 4, 2025
3dc93ff
Merge pull request #158 from dreamyPatisiel/DP-516
ssosee May 4, 2025
297c40f
fix(NotificationService): addClient 수정
ssosee May 8, 2025
f387178
Merge pull request #159 from dreamyPatisiel/DP-518
yu-so-young2 May 8, 2025
a6ae712
fix: 구독 가능한 기업 목록 - 기업명 추가
yu-so-young2 May 10, 2025
2f25894
Merge pull request #160 from dreamyPatisiel/DP-520
ssosee May 11, 2025
50a4d13
Merge branch 'main' into develop
yu-so-young2 May 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ src/main/resources/application-open-ai.yml
src/main/resources/application-opensearch-local.yml
src/main/resources/application-opensearch-dev.yml
src/main/resources/application-opensearch-prod.yml

src/test/resources/application-storage-s3.yml
src/test/resources/application-storage-s3-prod.yml
src/test/resources/application-open-ai.yml
Expand Down
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ dependencies {
test {
useJUnitPlatform()
outputs.dir snippetsDir
jvmArgs '-Xmx1024m', '-Xms512m'
}

clean {
Expand Down
3 changes: 2 additions & 1 deletion deploy-dev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,5 @@ echo "> Build Docker image"
docker build -t "$APP_NAME" "$REPOSITORY"

echo "> Run the Docker container"
docker run -d -p 8080:8080 --name "$APP_NAME" "$APP_NAME"

docker run -d -p 8080:8080 --name "$APP_NAME" "$APP_NAME"
3 changes: 2 additions & 1 deletion deploy-prod.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,5 @@ echo "> Build Docker image"
docker build -t "$APP_NAME" "$REPOSITORY"

echo "> Run the Docker container"
docker run -d -p 8080:8080 --name "$APP_NAME" -v /home/ubuntu/pinpoint-agent-3.0.0:/pinpoint-agent "$APP_NAME"

docker run -d -p 8080:8080 --name "$APP_NAME" -v /home/ubuntu/pinpoint-agent-3.0.0:/pinpoint-agent "$APP_NAME"
1 change: 1 addition & 0 deletions src/docs/asciidoc/api/mypage/mypage.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ include::exit-member.adoc[]
include::exit-survey.adoc[]
include::record-exit-survey.adoc[]
include::comment-get.adoc[]
include::subscribed-companies.adoc[]
34 changes: 34 additions & 0 deletions src/docs/asciidoc/api/mypage/subscribed-companies.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[[Subscribed-Companies]]
== 회원이 구독한 기업 목록 조회 API(GET: /devdevdev/api/v1/mypage/subscriptions/companies)

* 모든 회원은 자신이 구독한 기업 목록을 조회할 수 있다.

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/subscribed-companies/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/subscribed-companies/request-headers.adoc[]

==== HTTP Request Query Parameters Fields

include::{snippets}/subscribed-companies/query-parameters.adoc[]

==== HTTP Response

include::{snippets}/subscribed-companies/http-response.adoc[]

==== HTTP Response Fields

include::{snippets}/subscribed-companies/response-fields.adoc[]

=== 예외

==== HTTP Response

* `회원을 찾을 수 없습니다.`: 회원이 존재하지 않는 경우

include::{snippets}/subscribed-companies-not-found-member-exception/response-body.adoc[]
36 changes: 36 additions & 0 deletions src/docs/asciidoc/api/notification/get-notification-popup.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
[[Get-Notification-Popup]]
== 알림 팝업 조회 API (GET: /devdevdev/api/v1/notifications/popup)

* 회원이 알림 팝업 리스트를 조회한다.

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/get-notification-popup/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/get-notification-popup/request-headers.adoc[]

==== HTTP Request Query Parameters

include::{snippets}/get-notification-popup/query-parameters.adoc[]

==== HTTP Response

include::{snippets}/get-notification-popup/http-response.adoc[]

==== HTTP Response Fields

include::{snippets}/get-notification-popup/response-fields.adoc[]


=== 예외

==== HTTP Response

* `익명 회원은 사용할 수 없는 기능 입니다.`: 익명 회원인 경우
* `회원을 찾을 수 없습니다.`: 회원이 존재하지 않는 경우

include::{snippets}/not-found-member-exception/response-body.adoc[]
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[[Get-Notification-Unread-Count]]
== 알림 개수 조회 API (GET: /devdevdev/api/v1/notifications/unread-count)

* 회원이 읽지 않은 알림의 총 개수를 조회한다.

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/get-notification-unread-count/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/get-notification-unread-count/request-headers.adoc[]

==== HTTP Response

include::{snippets}/get-notification-unread-count/http-response.adoc[]

==== HTTP Response Fields

include::{snippets}/get-notification-unread-count/response-fields.adoc[]


=== 예외

==== HTTP Response

* `익명 회원은 사용할 수 없는 기능 입니다.`: 익명 회원인 경우
* `회원을 찾을 수 없습니다.`: 회원이 존재하지 않는 경우

include::{snippets}/not-found-member-exception/response-body.adoc[]
37 changes: 37 additions & 0 deletions src/docs/asciidoc/api/notification/get-notifications.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[[Get-Notifications]]
== 알림 페이지 조회 API (GET: /devdevdev/api/v1/notifications/page)

* 회원은 알림 페이지에서 자신에게 온 알림을 무한스크롤링으로 조회할 수 있다.
* (추후 추가) 알림 유형에 따라 필터링하여 조회할 수 있다.

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/get-notifications/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/get-notifications/request-headers.adoc[]

==== HTTP Request Query Parameters

include::{snippets}/get-notifications/query-parameters.adoc[]

==== HTTP Response

include::{snippets}/get-notifications/http-response.adoc[]

==== HTTP Response Fields

include::{snippets}/get-notifications/response-fields.adoc[]


=== 예외

==== HTTP Response

* `익명 회원은 사용할 수 없는 기능 입니다.`: 익명 회원인 경우
* `회원을 찾을 수 없습니다.`: 회원이 존재하지 않는 경우

include::{snippets}/not-found-member-exception/response-body.adoc[]
9 changes: 9 additions & 0 deletions src/docs/asciidoc/api/notification/notification.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
= 알림

include::notifications.adoc[]
include::publish-notifications.adoc[]
include::read-notification.adoc[]
include::read-all-notification.adoc[]
include::get-notifications.adoc[]
include::get-notification-popup.adoc[]
include::get-notification-unread-count.adoc[]
74 changes: 74 additions & 0 deletions src/docs/asciidoc/api/notification/notifications.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[[Notifications]]
== 실시간 알림 수신 API(GET: /devdevdev/api/v1/notifications)

* 회원이 알림을 실시간으로 수신한다.
* 알림 처리 방식은 https://developer.mozilla.org/ko/docs/Web/API/Server-sent_events/Using_server-sent_events[Server-Sent Events]를 사용한다.
** 5분의 타임아웃, 30초 마다 heartbeat 를 전송한다.
* *기술블로그 알림 시나리오*
** SSE 구독 상태인 경우
1. SSE 구독
2. 읽지 않은 알림이 있는 경우
a. `"읽지 않은 알림이 %d개 있어요!"` 전송
b. 새로운 글 발행
c. `"%s에서 새로운 기슬블로그 %d개가 올라왔어요!"` 전송
3. 읽지 않은 알림이 없는 경우
a. 새로운 글 발행
b. `"%s에서 새로운 기슬블로그 %d개가 올라왔어요!"` 전송
** SSE 구독 상태가 아닌 경우
1. 새로운 글 발행
2. SSE 구독
a. `"읽지 않은 알림이 %d개 있어요!"` 전송

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/notifications/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/notifications/request-headers.adoc[]

==== HTTP Response

include::{snippets}/notifications/http-response.adoc[]

==== HTTP Response Header Fields

include::{snippets}/notifications/response-headers.adoc[]

==== HTTP Response Body

include::{snippets}/notifications/response-body.adoc[]

|===
|Path |Type |Optional |Description |Format

|data
|Object
|
|알림
|

|message
|String
|
|알림 메시지
|

|createdAt
|String
|
|알림 발생 일시
|'yyyy-MM-dd'T'HH:mm:ss.SSSZ'
|===

=== 예외

==== HTTP Response

* `익명 회원은 사용할 수 없는 기능 입니다.`: 익명 회원인 경우
* `회원을 찾을 수 없습니다.`: 회원이 존재하지 않는 경우
* `유효하지 않은 회원 입니다.`: 회원이 유효하지 않은 경우

include::{snippets}/not-found-member-exception/response-body.adoc[]
41 changes: 41 additions & 0 deletions src/docs/asciidoc/api/notification/publish-notifications.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
[[Publish-Notifications]]
== 알림 생성 API(POST: /devdevdev/api/v1/notifications/{channel})

* 알림을 생성한다.
** service-name, api-key 가 일치 하지 않으면 호출 할 수 없다.

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/publish-notifications/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/publish-notifications/request-headers.adoc[]

==== HTTP Request Fields

include::{snippets}/publish-notifications/request-fields.adoc[]

==== HTTP Request Path Parameters Fields

include::{snippets}/publish-notifications/path-parameters.adoc[]

==== HTTP Response

include::{snippets}/publish-notifications/http-response.adoc[]

==== HTTP Response Body Fields

include::{snippets}/publish-notifications/response-fields.adoc[]

=== 예외

==== HTTP Response

* `올바른 입력 값이 아닙니다.`: 잘못된 알림 채널을 입력한 경우
* `접근할 수 없는 권한 입니다.`: 서비스 이름과 api-key가 일치하지 않는 경우
* `지원하는 서비스가 아닙니다.`: 지원하는 서비스가 아닌 경우

include::{snippets}/publish-notifications-exception/response-body.adoc[]
33 changes: 33 additions & 0 deletions src/docs/asciidoc/api/notification/read-all-notification.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[[Read-All-Notifications]]
== 모든 알림 읽기 API (PATCH: /devdevdev/api/v1/notifications/read-all)

* 회원이 자신에게 온 모든 알림을 읽기 처리한다.
* 회원이 읽을 알림이 하나도 없어도 예외가 발생하지 않고 성공한다.

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/read-all-notifications/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/read-all-notifications/request-headers.adoc[]

==== HTTP Response

include::{snippets}/read-all-notifications/http-response.adoc[]

==== HTTP Response Fields

include::{snippets}/read-all-notifications/response-fields.adoc[]


=== 예외

==== HTTP Response

* `익명 회원은 사용할 수 없는 기능 입니다.`: 익명 회원인 경우
* `회원을 찾을 수 없습니다.`: 회원이 존재하지 않는 경우

include::{snippets}/not-found-member-exception/response-body.adoc[]
36 changes: 36 additions & 0 deletions src/docs/asciidoc/api/notification/read-notification.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
[[Read-Notification]]
== 단건 알림 읽기 API (PATCH: /devdevdev/api/v1/notifications/{notificationId}/read)

* 회원이 자신에게 온 단건 알림을 읽기 처리한다.

=== 정상 요청/응답

==== HTTP Request

include::{snippets}/read-notification/http-request.adoc[]

==== HTTP Request Header Fields

include::{snippets}/read-notification/request-headers.adoc[]

==== HTTP Request Path Parameters

include::{snippets}/read-notification/path-parameters.adoc[]

==== HTTP Response

include::{snippets}/read-notification/http-response.adoc[]

==== HTTP Response Fields

include::{snippets}/read-notification/response-fields.adoc[]

=== 예외

==== HTTP Response

* `익명 회원은 사용할 수 없는 기능 입니다.`: 익명 회원인 경우
* `회원을 찾을 수 없습니다.`: 회원이 존재하지 않는 경우
* `존재하지 않는 알림입니다.`: 알림이 존재하지 않거나 회원의 알림이 아닐 경우

include::{snippets}/read-notification-not-found/response-body.adoc[]
Loading
Loading