[KR] 알람 API - 2022-dimipay-recruit/Flutter-Server GitHub Wiki

팔로우 API

알람 API는 사용자의 알람을 가져오고, 읽음 처리하고, 삭제하는 것만 가능합니다! 알람의 생성은 백엔드에서 자동으로 처리하게 됩니다. (미구현 상태)


GET /notify

request:

  • header
    • authorization: string (Bearer + JWT)

부연 : 로그인되어있는 사용자의 알람 목록을 반환해줍니다.

알람 정보는 해당 알람이 무슨 콘텐츠에 연결되어 있는지를 type(string)으로 반환합니다.

  1. NEW_POST - 팔로우 중인 사람의 새 글이 올라온 경우
  2. NEW_ANSWER - 내가 쓴 질문에 새 답변이 올라온 경우
  3. NEW_REPORT - 내가 쓴 질문/답변에 신고가 접수된 경우
  4. NEW_FOLLOW - 나를 누군가가 팔로우 한 경우

response:

{
  status: 'success',
  data: [{
    id: string,
    linkedID: string (UUID, 알림과 관련된 콘텐츠의 UUID)
    type: string (위 설명 참조),
    content: string (알람의 내용, ex : ""님이 내 글에 새 답변을 작성하였습니다.)
    createdAt: string,
    isRead: boolean (알람을 읽었는지, 아닌지, 기본값 false),
    userId: string (알람을 받은 사람의 userId)
  }]
}

PATCH /notify/:id

request:

  • params
    • id: (읽음처리할 알림의 UUID)
  • header
    • authorization: string (Bearer + JWT)

부연 : 알림의 상태변경은 읽음밖에 없기에, 해당 patch를 실행하면 알림을 읽음처리합니다.

response:

{
  status: 'success',
  data: {
    id: string,
    linkedID: string (UUID, 알림과 관련된 콘텐츠의 UUID)
    type: string (위 설명 참조),
    content: string (알람의 내용, ex : ""님이 내 글에 새 답변을 작성하였습니다.)
    createdAt: string,
    isRead: boolean (알람을 읽었는지, 아닌지, 기본값 false),
    userId: string (알람을 받은 사람의 userId)
  }
}

DELETE /notify/:id

request:

  • params
    • id: (삭제할 알림의 UUID)
  • header
    • authorization: string (Bearer + JWT)

부연 : 알림을 삭제합니다. DB에서 삭제되고, 더 이상 조회되지 않습니다.

response:

{
  status: 'success',
  data: null
}