개요
User 도메인은 사용자 계정 관리, 프로필 수정, 직원 관리, 연락처 관리 등의 기능을 제공합니다.Types
UserType (Enum)
사용자 권한 레벨을 정의합니다.CUSTOMER: 일반 고객PARTNER: 파트너PARTNERADMIN: 파트너 관리자ADMIN: 관리자SUPERADMIN: 최고 관리자
DuplicateCheckerType (Enum)
중복 확인 필드 타입을 정의합니다.identity: 아이디email: 이메일phone: 휴대폰 번호nickname: 닉네임
Queries
getUsers
사용자 목록을 페이지네이션으로 조회합니다.GraphQL Signature
파라미터
처음부터 가져올 개수
끝에서부터 가져올 개수
검색 키워드 (이름, 이메일, 아이디 등)
응답
사용자 목록
페이지 정보
전체 사용자 수
findUser
특정 사용자의 상세 정보를 조회합니다.GraphQL Signature
파라미터
사용자 ID
예제
myInfo
현재 로그인한 사용자의 정보를 조회합니다.GraphQL Signature
응답
현재 사용자 정보
이 API는 인증이 필요하며, JWT 토큰에서 사용자 정보를 추출합니다.
myContacts
현재 로그인한 사용자의 연락처 목록을 조회합니다.GraphQL Signature
파라미터
연락처 타입 필터 (예: “email”, “phone”, “kakao”)
getAccommodationContacts
특정 숙박 시설의 직원 연락처 목록을 조회합니다.GraphQL Signature
파라미터
숙박 시설 ID
연락처 타입 필터
권한 필터
verifyDuplicate
회원가입 시 아이디, 이메일, 닉네임 중복을 확인합니다.GraphQL Signature
파라미터
확인할 아이디
확인할 이메일
확인할 닉네임
응답
확인 ID
중복 여부 (true: 사용 가능, false: 중복됨)
중복된 필드 목록
예제
getPermanentToken
키오스크용 영구 토큰을 발급받습니다.GraphQL Signature
파라미터
키오스크 ID
응답
영구 토큰
getPermanentTokenForAdmin
숙박 시설 관리자용 영구 토큰을 발급받습니다.GraphQL Signature
파라미터
숙박 시설 ID
getUserLogs
사용자 활동 로그를 조회합니다.GraphQL Signature
파라미터
숙박 시설 ID
특정 사용자의 로그만 조회
관련 엔티티 ID (예: 예약 ID)
처음부터 가져올 개수
이 커서 이후의 로그
getMyAgreement
특정 약관에 대한 현재 사용자의 동의 여부를 조회합니다.GraphQL Signature
파라미터
약관 타입 (예: “privacy”, “terms”, “marketing”)
응답
동의 여부
Mutations
signUp
새로운 사용자 계정을 생성합니다.GraphQL Signature
파라미터
사용자 아이디
휴대폰 번호
사용자 권한 레벨 (기본값: CUSTOMER)
SMS 인증 해시 (휴대폰 번호 입력 시 필수)
사용자 이름
사용자 닉네임
이메일 주소
비밀번호
응답
생성된 사용자 정보
예제
휴대폰 번호를 입력하는 경우, 반드시
requestSMSAuth 및 confirmSMSAuth를 통해 발급받은 smsAuthHash를 제공해야 합니다.signIn
사용자 로그인을 수행하고 인증 토큰을 발급받습니다.GraphQL Signature
파라미터
사용자 아이디
비밀번호
응답
인증 토큰 정보
예제
signInByAdmin
관리자가 다른 사용자로 로그인합니다.GraphQL Signature
파라미터
로그인할 사용자 아이디
disableUser
사용자 계정을 비활성화하거나 활성화합니다.GraphQL Signature
파라미터
대상 사용자 아이디
비활성화 여부 (true: 비활성화, false: 활성화)
addUserContact
사용자 연락처를 추가합니다.GraphQL Signature
파라미터
사용자 ID
연락처 타입 (예: “email”, “phone”, “kakao”)
연락처 정보
modifyUserContact
사용자 연락처를 수정합니다.GraphQL Signature
파라미터
수정할 연락처 ID
새로운 연락처 타입
새로운 연락처 정보
deleteUserContact
사용자 연락처를 삭제합니다.GraphQL Signature
파라미터
삭제할 연락처 ID
updateInfo
현재 로그인한 사용자의 정보를 수정합니다.GraphQL Signature
파라미터
사용자 ID (관리자가 다른 사용자 수정 시 사용)
새로운 휴대폰 번호
SMS 인증 해시 (휴대폰 번호 변경 시 필수)
새로운 이름
새로운 닉네임
새로운 권한 레벨 (관리자만 가능)
updateEmployee
직원 정보를 수정합니다.GraphQL Signature
파라미터
직원 ID
숙박 시설 ID
새로운 휴대폰 번호
새로운 이메일
새로운 이름
새로운 닉네임
새로운 비밀번호
새로운 권한
deleteEmployee
직원 계정을 삭제합니다.GraphQL Signature
파라미터
삭제할 직원 ID
changePassword
비밀번호를 변경합니다.GraphQL Signature
파라미터
사용자 ID (관리자가 다른 사용자의 비밀번호 변경 시 사용)
새로운 비밀번호
현재 비밀번호 (본인의 비밀번호 변경 시 필수)
changePasswordBySMSAuth
SMS 인증을 통해 비밀번호를 재설정합니다.GraphQL Signature
파라미터
사용자 아이디
등록된 휴대폰 번호
새로운 비밀번호
SMS 인증 해시
예제
changePasswordByEmailAuth
이메일 인증을 통해 비밀번호를 재설정합니다.GraphQL Signature
파라미터
등록된 이메일 주소
새로운 비밀번호
이메일 인증 해시
sendPasswordResetEmail
비밀번호 재설정 이메일을 발송합니다.GraphQL Signature
파라미터
비밀번호를 재설정할 이메일 주소
응답
이메일 발송 성공 여부
uploadThumbnail
사용자 프로필 이미지를 업로드합니다.GraphQL Signature
파라미터
업로드할 이미지 파일
응답
업로드된 이미지 URL
agreeTerms
약관에 동의합니다.GraphQL Signature
파라미터
약관 타입 (예: “privacy”, “terms”, “marketing”)
동의 여부
응답
동의 처리 성공 여부
사용 흐름
회원가입 흐름
- 중복 확인:
verifyDuplicate로 아이디, 이메일, 닉네임 중복 확인 - SMS 인증 (선택):
requestSMSAuth→confirmSMSAuth로 휴대폰 인증 - 회원가입:
signUp으로 계정 생성 - 이메일 인증 (선택):
requestEmailVerification→verifyEmail
비밀번호 재설정 흐름
방법 1: SMS 인증requestSMSAuth로 SMS 발송confirmSMSAuth로 인증 해시 발급changePasswordBySMSAuth로 비밀번호 변경
sendPasswordResetEmail로 이메일 발송- 이메일에서 인증 링크 클릭
changePasswordByEmailAuth로 비밀번호 변경