Skip to main content

개요

Article 도메인은 공지사항 및 게시글 관리, 사용자 알림 시스템을 제공합니다. 파일 첨부 기능과 페이지네이션을 지원합니다.

Types

Article

게시글 정보를 나타냅니다.
ID!
게시글 ID
String
게시글 제목
String
게시글 내용
[String]
첨부 파일 URL 목록
String
게시글 타입 (예: “notice”, “announcement”)
String
게시글 태그
Date!
생성 일시

UserNotification

사용자 알림 정보를 나타냅니다.
ID!
알림 ID
String!
알림 키 (고유 식별자)
String!
알림 요약
String
알림 상세 내용
String
알림 타입
Int
알림 상태 코드
Boolean
읽음 여부
Boolean
공개 알림 여부
ID
대상 사용자 ID
ID
관련 숙박 시설 ID
String
추가 데이터 (JSON 형식)
Date!
생성 일시
Date
만료 일시
String
관련 URL

Queries

getArticles

게시글 목록을 페이지네이션으로 조회합니다.

GraphQL Signature

파라미터

Int
가져올 게시글 개수
String
페이지네이션 커서 (이 커서 이후의 게시글)

응답

[ArticleEdge!]!
게시글 목록
PageInfo!
페이지 정보
Int!
전체 게시글 수

예제


getArticle

특정 게시글의 상세 정보를 조회합니다.

GraphQL Signature

파라미터

ID!
required
게시글 ID

예제


getMyUserNotifications

현재 로그인한 사용자의 알림 목록을 조회합니다.

GraphQL Signature

파라미터

Int
가져올 알림 개수
ID
이 ID 이후의 알림
ID
특정 숙박 시설 관련 알림만 필터링

응답

[UserNotificationEdge!]!
알림 목록
PageInfo!
페이지 정보
Int!
전체 알림 수

예제

이 API는 인증이 필요하며, 로그인한 사용자의 알림만 조회됩니다.

Mutations

createArticle

새로운 게시글을 생성합니다.

GraphQL Signature

파라미터

String
게시글 제목
String
게시글 내용
String
첨부 파일 URL (JSON 배열 문자열)
String
게시글 타입
String
게시글 태그

응답

Article!
생성된 게시글 정보

예제


updateArticle

기존 게시글을 수정합니다.

GraphQL Signature

파라미터

ID!
required
수정할 게시글 ID
String
새로운 제목
String
새로운 내용
String
새로운 첨부 파일 URL
String
새로운 타입
String
새로운 태그

응답

Article!
수정된 게시글 정보

deleteArticle

게시글을 삭제합니다.

GraphQL Signature

파라미터

ID!
required
삭제할 게시글 ID

응답

Boolean!
삭제 성공 여부

uploadArticleAttachments

게시글에 파일을 첨부합니다.

GraphQL Signature

파라미터

ID!
required
파일을 첨부할 게시글 ID
[Upload!]!
required
업로드할 파일 목록
[String!]
유지할 기존 파일 URL 목록

응답

Article!
첨부 파일이 업데이트된 게시글 정보
persistFiles를 지정하지 않으면 기존 첨부 파일이 모두 제거됩니다.

publishUserNotification

사용자 알림을 발송합니다.

GraphQL Signature

파라미터

String!
required
알림 고유 키
String!
required
알림 요약
String
알림 상세 내용
String!
required
알림 타입 (예: “reservation”, “payment”, “system”)
Int
알림 상태 코드
Boolean
읽음 여부 (기본값: false)
Boolean
공개 알림 여부
ID
특정 사용자에게만 발송 (미지정 시 전체 공지)
ID
관련 숙박 시설 ID
[String!]
특정 권한을 가진 직원에게만 발송
Date
알림 만료 일시
String
추가 데이터 (JSON 문자열)
String
관련 URL

응답

[UserNotification]!
발송된 알림 목록 (여러 사용자에게 발송된 경우 배열로 반환)

예제


deleteUserNotification

사용자 알림을 삭제합니다.

GraphQL Signature

파라미터

ID!
required
삭제할 알림 ID

응답

Boolean!
삭제 성공 여부

markReadUserNotifications

여러 알림을 읽음 처리합니다.

GraphQL Signature

파라미터

[ID!]!
required
읽음 처리할 알림 ID 목록

응답

Int!
읽음 처리된 알림 개수

예제


사용 흐름

게시글 관리 흐름

  1. 게시글 작성: createArticle로 게시글 생성
  2. 파일 첨부 (선택): uploadArticleAttachments로 파일 업로드
  3. 게시글 수정 (선택): updateArticle로 내용 수정
  4. 게시글 삭제: deleteArticle로 삭제

알림 시스템 흐름

  1. 알림 발송: publishUserNotification으로 알림 생성 및 발송
  2. 알림 조회: 사용자가 getMyUserNotifications로 알림 확인
  3. 읽음 처리: markReadUserNotifications로 알림 읽음 처리
  4. 알림 삭제: deleteUserNotification으로 알림 삭제

알림 타겟팅

특정 사용자에게 발송
특정 숙박 시설의 특정 권한 직원에게 발송
전체 공지

관련 API