From 205acd035dc94f64cf2059b7a23562f6f103a4a3 Mon Sep 17 00:00:00 2001 From: jerry Date: Thu, 29 Aug 2024 15:20:19 +0900 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20API=20=ED=83=80=EC=9E=85=20=EC=9E=AC?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/typings/api/schema/index.ts | 3149 +++++++++++++++++-------------- 1 file changed, 1684 insertions(+), 1465 deletions(-) diff --git a/src/typings/api/schema/index.ts b/src/typings/api/schema/index.ts index 062732a5..9611a754 100644 --- a/src/typings/api/schema/index.ts +++ b/src/typings/api/schema/index.ts @@ -4,1538 +4,1757 @@ */ export interface paths { - "/api/tickets": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 예매자 입금여부 수정 및 웹발신 API - * @description 메이커가 자신의 공연에 대한 예매자의 입금여부 정보를 수정한 뒤 예매확정 웹발신을 보내는 PUT API입니다. - */ - put: operations["updateTickets"]; - post?: never; - /** - * 예매자 삭제 API - * @description 메이커가 자신의 공연에 대한 예매자의 정보를 삭제하는 DELETE API입니다. - */ - delete: operations["deleteTickets"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/performances": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - /** - * 공연 정보 수정 API - * @description 공연 정보를 수정하는 PUT API입니다. - */ - put: operations["updatePerformance"]; - /** - * 공연 생성 API - * @description 공연을 생성하는 POST API입니다. - */ - post: operations["createPerformance"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/users/sign-up": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 로그인/회원가입 API - * @description 로그인/회원가입하는 POST API입니다. - */ - post: operations["signUp"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/users/sign-out": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 로그아웃 API - * @description 로그아웃하는 POST API입니다. - */ - post: operations["signOut"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/bookings/member": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 회원 예매 API - * @description 회원이 예매를 요청하는 POST API입니다. - */ - post: operations["createMemberBooking"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/bookings/guest": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 비회원 예매 API - * @description 비회원이 예매를 요청하는 POST API입니다. - */ - post: operations["createGuestBookings"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/bookings/guest/retrieve": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get?: never; - put?: never; - /** - * 비회원 예매 조회 API - * @description 비회원이 예매를 조회하는 POST API입니다. - */ - post: operations["getGuestBookings"]; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/health-check": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["healthcheck"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/users/refresh-token": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * access token 재발급 API - * @description refresh token으로 access token을 재발급하는 GET API입니다. - */ - get: operations["refreshToken"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/tickets/{performanceId}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 예매자 목록 조회 API - * @description 메이커가 자신의 공연에 대한 예매자 목록을 조회하는 GET API입니다. - */ - get: operations["getTickets"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/schedules/{scheduleId}/availability": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - get: operations["getTicketAvailability"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/performances/{performanceId}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 공연 수정 페이지 정보 조회 API - * @description 공연 정보를 조회하는 GET API입니다. - */ - get: operations["getPerformanceForEdit"]; - put?: never; - post?: never; - /** - * 공연 삭제 API - * @description 공연을 삭제하는 DELETE API입니다. - */ - delete: operations["deletePerformance"]; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/performances/user": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 회원이 등록한 공연 목록 조회 API - * @description 회원이 등록한 공연 목록을 조회하는 GET API입니다. - */ - get: operations["getUserPerformances"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/performances/detail/{performanceId}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 공연 상세정보 조회 API - * @description 공연 상세페이지의 공연 상세정보를 조회하는 GET API입니다. - */ - get: operations["getPerformanceDetail"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/performances/booking/{performanceId}": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 예매하기 관련 공연 정보 조회 API - * @description 예매하기 페이지에서 필요한 예매 관련 공연 정보를 조회하는 GET API입니다. - */ - get: operations["getBookingPerformanceDetail"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/main": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 전체공연목록, 홍보목록 조회 API - * @description 홈화면에서 전체공연목록, 홍보목록을 조회하는 GET API입니다. - */ - get: operations["getHomePerformanceList"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/files/presigned-url": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * presigned-url API - * @description S3에 업로드 할 수 있는 유효한 url을 주는 GET API입니다. - */ - get: operations["getPresignedUrls"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; - }; - "/api/bookings/member/retrieve": { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - /** - * 회원 예매 조회 API - * @description 회원이 예매를 조회하는 GET API입니다. - */ - get: operations["getMemberBookings"]; - put?: never; - post?: never; - delete?: never; - options?: never; - head?: never; - patch?: never; - trace?: never; + "/api/tickets": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 예매자 입금여부 수정 및 웹발신 API + * @description 메이커가 자신의 공연에 대한 예매자의 입금여부 정보를 수정한 뒤 예매확정 웹발신을 보내는 PUT API입니다. + */ + put: operations["updateTickets"]; + post?: never; + delete?: never; + options?: never; + head?: never; + /** + * 예매자 취소 API + * @description 메이커가 자신의 공연에 대한 1명 이상의 예매자의 정보를 취소 상태로 변경하는 PATCH API입니다. + */ + patch: operations["cancelTickets"]; + trace?: never; + }; + "/api/performances": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + /** + * 공연 정보 수정 API + * @description 공연 정보를 수정하는 PUT API입니다. + */ + put: operations["updatePerformance"]; + /** + * 공연 생성 API + * @description 공연을 생성하는 POST API입니다. + */ + post: operations["createPerformance"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/users/sign-up": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 로그인/회원가입 API + * @description 로그인/회원가입하는 POST API입니다. + */ + post: operations["signUp"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/users/sign-out": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 로그아웃 API + * @description 로그아웃하는 POST API입니다. + */ + post: operations["signOut"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/bookings/member": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 회원 예매 API + * @description 회원이 예매를 요청하는 POST API입니다. + */ + post: operations["createMemberBooking"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/bookings/guest": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 비회원 예매 API + * @description 비회원이 예매를 요청하는 POST API입니다. + */ + post: operations["createGuestBookings"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/bookings/guest/retrieve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get?: never; + put?: never; + /** + * 비회원 예매 조회 API + * @description 비회원이 예매를 조회하는 POST API입니다. + */ + post: operations["getGuestBookings"]; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/health-check": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["healthcheck"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/users/refresh-token": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * access token 재발급 API + * @description refresh token으로 access token을 재발급하는 GET API입니다. + */ + get: operations["refreshToken"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/tickets/{performanceId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 예매자 목록 조회 API + * @description 메이커가 자신의 공연에 대한 예매자 목록을 조회하는 GET API입니다. + */ + get: operations["getTickets"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/schedules/{scheduleId}/availability": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + get: operations["getTicketAvailability"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/performances/{performanceId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 공연 수정 페이지 정보 조회 API + * @description 공연 정보를 조회하는 GET API입니다. + */ + get: operations["getPerformanceForEdit"]; + put?: never; + post?: never; + /** + * 공연 삭제 API + * @description 공연을 삭제하는 DELETE API입니다. + */ + delete: operations["deletePerformance"]; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/performances/user": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 회원이 등록한 공연 목록 조회 API + * @description 회원이 등록한 공연 목록을 조회하는 GET API입니다. + */ + get: operations["getUserPerformances"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/performances/detail/{performanceId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; + /** + * 공연 상세정보 조회 API + * @description 공연 상세페이지의 공연 상세정보를 조회하는 GET API입니다. + */ + get: operations["getPerformanceDetail"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/performances/booking/{performanceId}": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 예매하기 관련 공연 정보 조회 API + * @description 예매하기 페이지에서 필요한 예매 관련 공연 정보를 조회하는 GET API입니다. + */ + get: operations["getBookingPerformanceDetail"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/main": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 전체공연목록, 홍보목록 조회 API + * @description 홈화면에서 전체공연목록, 홍보목록을 조회하는 GET API입니다. + */ + get: operations["getHomePerformanceList"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/files/presigned-url": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * presigned-url API + * @description S3에 업로드 할 수 있는 유효한 url을 주는 GET API입니다. + */ + get: operations["getPresignedUrls"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; + "/api/bookings/member/retrieve": { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + /** + * 회원 예매 조회 API + * @description 회원이 예매를 조회하는 GET API입니다. + */ + get: operations["getMemberBookings"]; + put?: never; + post?: never; + delete?: never; + options?: never; + head?: never; + patch?: never; + trace?: never; + }; } export type webhooks = Record; export interface components { - schemas: { - TicketUpdateDetail: { - /** Format: int64 */ - bookingId?: number; - bookerName?: string; - bookerPhoneNumber?: string; - /** Format: int64 */ - scheduleId?: number; - /** Format: int32 */ - purchaseTicketCount?: number; - /** Format: date-time */ - createdAt?: string; - isPaymentCompleted?: boolean; - scheduleNumber?: string; - }; - TicketUpdateRequest: { - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - /** Format: int32 */ - totalScheduleCount?: number; - bookingList?: components["schemas"]["TicketUpdateDetail"][]; - }; - SuccessResponseVoid: { - /** Format: int32 */ - status?: number; - message?: string; - data?: Record; - }; - CastUpdateRequest: { - /** Format: int64 */ - castId?: number; - castName?: string; - castRole?: string; - castPhoto?: string; - }; - PerformanceUpdateRequest: { - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - /** @enum {string} */ - genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; - /** Format: int32 */ - runningTime?: number; - performanceDescription?: string; - performanceAttentionNote?: string; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - accountHolder?: string; - posterImage?: string; - performanceTeamName?: string; - performanceVenue?: string; - performanceContact?: string; - performancePeriod?: string; - /** Format: int32 */ - totalScheduleCount?: number; - scheduleList?: components["schemas"]["ScheduleUpdateRequest"][]; - castList?: components["schemas"]["CastUpdateRequest"][]; - staffList?: components["schemas"]["StaffUpdateRequest"][]; - }; - ScheduleUpdateRequest: { - /** Format: int64 */ - scheduleId?: number; - /** Format: date-time */ - performanceDate?: string; - /** Format: int32 */ - totalTicketCount?: number; - scheduleNumber?: string; - }; - StaffUpdateRequest: { - /** Format: int64 */ - staffId?: number; - staffName?: string; - staffRole?: string; - staffPhoto?: string; - }; - CastUpdateResponse: { - /** Format: int64 */ - castId?: number; - castName?: string; - castRole?: string; - castPhoto?: string; - }; - PerformanceUpdateResponse: { - /** Format: int64 */ - userId?: number; - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - /** @enum {string} */ - genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; - /** Format: int32 */ - runningTime?: number; - performanceDescription?: string; - performanceAttentionNote?: string; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - accountHolder?: string; - posterImage?: string; - performanceTeamName?: string; - performanceVenue?: string; - performanceContact?: string; - performancePeriod?: string; - /** Format: int32 */ - ticketPrice?: number; - /** Format: int32 */ - totalScheduleCount?: number; - scheduleList?: components["schemas"]["ScheduleUpdateResponse"][]; - castList?: components["schemas"]["CastUpdateResponse"][]; - staffList?: components["schemas"]["StaffUpdateResponse"][]; - }; - ScheduleUpdateResponse: { - /** Format: int64 */ - scheduleId?: number; - /** Format: date-time */ - performanceDate?: string; - /** Format: int32 */ - totalTicketCount?: number; - /** Format: int32 */ - dueDate?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - }; - StaffUpdateResponse: { - /** Format: int64 */ - staffId?: number; - staffName?: string; - staffRole?: string; - staffPhoto?: string; - }; - SuccessResponsePerformanceUpdateResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["PerformanceUpdateResponse"]; - }; - MemberLoginRequest: { - /** @enum {string} */ - socialType: "KAKAO"; - }; - LoginSuccessResponse: { - accessToken?: string; - refreshToken?: string; - nickname?: string; - }; - SuccessResponseLoginSuccessResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["LoginSuccessResponse"]; - }; - CastRequest: { - castName?: string; - castRole?: string; - castPhoto?: string; - }; - PerformanceRequest: { - performanceTitle?: string; - /** @enum {string} */ - genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; - /** Format: int32 */ - runningTime?: number; - performanceDescription?: string; - performanceAttentionNote?: string; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - accountHolder?: string; - posterImage?: string; - performanceTeamName?: string; - performanceVenue?: string; - performanceContact?: string; - performancePeriod?: string; - /** Format: int32 */ - ticketPrice?: number; - /** Format: int32 */ - totalScheduleCount?: number; - scheduleList?: components["schemas"]["ScheduleRequest"][]; - castList?: components["schemas"]["CastRequest"][]; - staffList?: components["schemas"]["StaffRequest"][]; - }; - ScheduleRequest: { - /** Format: date-time */ - performanceDate?: string; - /** Format: int32 */ - totalTicketCount?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - }; - StaffRequest: { - staffName?: string; - staffRole?: string; - staffPhoto?: string; - }; - CastResponse: { - /** Format: int64 */ - castId?: number; - castName?: string; - castRole?: string; - castPhoto?: string; - }; - PerformanceResponse: { - /** Format: int64 */ - userId?: number; - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - /** @enum {string} */ - genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; - /** Format: int32 */ - runningTime?: number; - performanceDescription?: string; - performanceAttentionNote?: string; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - accountHolder?: string; - posterImage?: string; - performanceTeamName?: string; - performanceVenue?: string; - performanceContact?: string; - performancePeriod?: string; - /** Format: int32 */ - ticketPrice?: number; - /** Format: int32 */ - totalScheduleCount?: number; - scheduleList?: components["schemas"]["ScheduleResponse"][]; - castList?: components["schemas"]["CastResponse"][]; - staffList?: components["schemas"]["StaffResponse"][]; - }; - ScheduleResponse: { - /** Format: int64 */ - scheduleId?: number; - /** Format: date-time */ - performanceDate?: string; - /** Format: int32 */ - totalTicketCount?: number; - /** Format: int32 */ - dueDate?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - }; - StaffResponse: { - /** Format: int64 */ - staffId?: number; - staffName?: string; - staffRole?: string; - staffPhoto?: string; - }; - SuccessResponsePerformanceResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["PerformanceResponse"]; - }; - MemberBookingRequest: { - /** Format: int64 */ - scheduleId?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - /** Format: int32 */ - purchaseTicketCount?: number; - bookerName?: string; - bookerPhoneNumber?: string; - isPaymentCompleted?: boolean; - /** Format: int32 */ - totalPaymentAmount?: number; - }; - MemberBookingResponse: { - /** Format: int64 */ - bookingId?: number; - /** Format: int64 */ - scheduleId?: number; - /** Format: int64 */ - userId?: number; - /** Format: int32 */ - purchaseTicketCount?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - bookerName?: string; - bookerPhoneNumber?: string; - isPaymentCompleted?: boolean; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - /** Format: int32 */ - totalPaymentAmount?: number; - /** Format: date-time */ - createdAt?: string; - }; - SuccessResponseMemberBookingResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["MemberBookingResponse"]; - }; - GuestBookingRequest: { - /** Format: int64 */ - scheduleId?: number; - /** Format: int32 */ - purchaseTicketCount?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - bookerName?: string; - bookerPhoneNumber?: string; - birthDate?: string; - password?: string; - /** Format: int32 */ - totalPaymentAmount?: number; - isPaymentCompleted?: boolean; - }; - GuestBookingResponse: { - /** Format: int64 */ - bookingId?: number; - /** Format: int64 */ - scheduleId?: number; - /** Format: int64 */ - userId?: number; - /** Format: int32 */ - purchaseTicketCount?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - bookerName?: string; - bookerPhoneNumber?: string; - isPaymentCompleted?: boolean; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - /** Format: int32 */ - totalPaymentAmount?: number; - /** Format: date-time */ - createdAt?: string; - }; - SuccessResponseGuestBookingResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["GuestBookingResponse"]; - }; - GuestBookingRetrieveRequest: { - bookerName?: string; - birthDate?: string; - bookerPhoneNumber?: string; - password?: string; - }; - GuestBookingRetrieveResponse: { - /** Format: int64 */ - bookingId?: number; - /** Format: int64 */ - scheduleId?: number; - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - /** Format: date-time */ - performanceDate?: string; - performanceVenue?: string; - /** Format: int32 */ - purchaseTicketCount?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - bookerName?: string; - performanceContact?: string; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - accountHolder?: string; - /** Format: int32 */ - dueDate?: number; - isPaymentCompleted?: boolean; - /** Format: date-time */ - createdAt?: string; - posterImage?: string; - /** Format: int32 */ - totalPaymentAmount?: number; - }; - SuccessResponseListGuestBookingRetrieveResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["GuestBookingRetrieveResponse"][]; - }; - AccessTokenGetSuccess: { - accessToken?: string; - }; - SuccessResponseAccessTokenGetSuccess: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["AccessTokenGetSuccess"]; - }; - SuccessResponseTicketRetrieveResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["TicketRetrieveResponse"]; - }; - TicketDetail: { - /** Format: int64 */ - bookingId?: number; - bookerName?: string; - bookerPhoneNumber?: string; - /** Format: int64 */ - scheduleId?: number; - /** Format: int32 */ - purchaseTicketCount?: number; - /** Format: date-time */ - createdAt?: string; - isPaymentCompleted?: boolean; - scheduleNumber?: string; - }; - TicketRetrieveResponse: { - performanceTitle?: string; - /** Format: int32 */ - totalScheduleCount?: number; - bookingList?: components["schemas"]["TicketDetail"][]; - }; - SuccessResponseTicketAvailabilityResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["TicketAvailabilityResponse"]; - }; - TicketAvailabilityResponse: { - /** Format: int64 */ - scheduleId?: number; - scheduleNumber?: string; - /** Format: int32 */ - totalTicketCount?: number; - /** Format: int32 */ - soldTicketCount?: number; - /** Format: int32 */ - availableTicketCount?: number; - /** Format: int32 */ - requestedTicketCount?: number; - isAvailable?: boolean; - }; - PerformanceEditResponse: { - /** Format: int64 */ - userId?: number; - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - /** @enum {string} */ - genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; - /** Format: int32 */ - runningTime?: number; - performanceDescription?: string; - performanceAttentionNote?: string; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - accountHolder?: string; - posterImage?: string; - performanceTeamName?: string; - performanceVenue?: string; - performanceContact?: string; - performancePeriod?: string; - /** Format: int32 */ - ticketPrice?: number; - /** Format: int32 */ - totalScheduleCount?: number; - isBookerExist?: boolean; - scheduleList?: components["schemas"]["ScheduleResponse"][]; - castList?: components["schemas"]["CastResponse"][]; - staffList?: components["schemas"]["StaffResponse"][]; - }; - SuccessResponsePerformanceEditResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["PerformanceEditResponse"]; - }; - MakerPerformanceDetail: { - /** Format: int64 */ - performanceId?: number; - genre?: string; - performanceTitle?: string; - posterImage?: string; - performancePeriod?: string; - /** Format: int32 */ - minDueDate?: number; - }; - MakerPerformanceResponse: { - /** Format: int64 */ - userId?: number; - performances?: components["schemas"]["MakerPerformanceDetail"][]; - }; - SuccessResponseMakerPerformanceResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["MakerPerformanceResponse"]; - }; - PerformanceDetailCast: { - /** Format: int64 */ - castId?: number; - castName?: string; - castRole?: string; - castPhoto?: string; - }; - PerformanceDetailResponse: { - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - performancePeriod?: string; - scheduleList?: components["schemas"]["PerformanceDetailSchedule"][]; - /** Format: int32 */ - ticketPrice?: number; - genre?: string; - posterImage?: string; - /** Format: int32 */ - runningTime?: number; - performanceVenue?: string; - performanceDescription?: string; - performanceAttentionNote?: string; - performanceContact?: string; - performanceTeamName?: string; - castList?: components["schemas"]["PerformanceDetailCast"][]; - staffList?: components["schemas"]["PerformanceDetailStaff"][]; - /** Format: int32 */ - minDueDate?: number; - }; - PerformanceDetailSchedule: { - /** Format: int64 */ - scheduleId?: number; - /** Format: date-time */ - performanceDate?: string; - scheduleNumber?: string; - /** Format: int32 */ - dueDate?: number; - isBooking?: boolean; - }; - PerformanceDetailStaff: { - /** Format: int64 */ - staffId?: number; - staffName?: string; - staffRole?: string; - staffPhoto?: string; - }; - SuccessResponsePerformanceDetailResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["PerformanceDetailResponse"]; - }; - BookingPerformanceDetailResponse: { - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - performancePeriod?: string; - scheduleList?: components["schemas"]["BookingPerformanceDetailSchedule"][]; - /** Format: int32 */ - ticketPrice?: number; - genre?: string; - posterImage?: string; - performanceVenue?: string; - performanceTeamName?: string; - bankName?: string; - accountNumber?: string; - accountHolder?: string; - }; - BookingPerformanceDetailSchedule: { - /** Format: int64 */ - scheduleId?: number; - /** Format: date-time */ - performanceDate?: string; - scheduleNumber?: string; - /** Format: int32 */ - availableTicketCount?: number; - isBooking?: boolean; - /** Format: int32 */ - dueDate?: number; - }; - SuccessResponseBookingPerformanceDetailResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["BookingPerformanceDetailResponse"]; - }; - HomePerformanceDetail: { - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - performancePeriod?: string; - /** Format: int32 */ - ticketPrice?: number; - /** Format: int32 */ - dueDate?: number; - genre?: string; - posterImage?: string; - performanceVenue?: string; - }; - HomePromotionDetail: { - /** Format: int64 */ - promotionId?: number; - promotionPhoto?: string; - /** Format: int64 */ - performanceId?: number; - redirectUrl?: string; - isExternal?: boolean; - }; - HomeResponse: { - promotionList?: components["schemas"]["HomePromotionDetail"][]; - performanceList?: components["schemas"]["HomePerformanceDetail"][]; - }; - SuccessResponseHomeResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["HomeResponse"]; - }; - MemberBookingRetrieveResponse: { - /** Format: int64 */ - userId?: number; - /** Format: int64 */ - bookingId?: number; - /** Format: int64 */ - scheduleId?: number; - /** Format: int64 */ - performanceId?: number; - performanceTitle?: string; - /** Format: date-time */ - performanceDate?: string; - performanceVenue?: string; - /** Format: int32 */ - purchaseTicketCount?: number; - /** @enum {string} */ - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - bookerName?: string; - performanceContact?: string; - /** @enum {string} */ - bankName?: "NH_NONGHYUP" | "KAKAOBANK" | "KB_KOOKMIN" | "TOSSBANK" | "SHINHAN" | "WOORI" | "IBK_GIUP" | "HANA" | "SAEMAUL" | "BUSAN" | "IMBANK_DAEGU" | "SINHYEOP" | "WOOCHAEGUK" | "SCJEIL" | "SUHYEOP" | "NONE"; - accountNumber?: string; - accountHolder?: string; - /** Format: int32 */ - dueDate?: number; - isPaymentCompleted?: boolean; - /** Format: date-time */ - createdAt?: string; - posterImage?: string; - /** Format: int32 */ - totalPaymentAmount?: number; - }; - SuccessResponseMemberBookingRetrieveResponse: { - /** Format: int32 */ - status?: number; - message?: string; - data?: components["schemas"]["MemberBookingRetrieveResponse"]; - }; - TicketDeleteRequest: { - /** Format: int64 */ - performanceId?: number; - bookingList?: number[]; - }; + schemas: { + TicketUpdateDetail: { + /** Format: int64 */ + bookingId?: number; + bookerName?: string; + bookerPhoneNumber?: string; + /** Format: int64 */ + scheduleId?: number; + /** Format: int32 */ + purchaseTicketCount?: number; + /** Format: date-time */ + createdAt?: string; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + scheduleNumber?: string; + }; + TicketUpdateRequest: { + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + /** Format: int32 */ + totalScheduleCount?: number; + bookingList?: components["schemas"]["TicketUpdateDetail"][]; + }; + SuccessResponseVoid: { + /** Format: int32 */ + status?: number; + message?: string; + data?: Record; + }; + CastModifyRequest: { + /** Format: int64 */ + castId?: number; + castName?: string; + castRole?: string; + castPhoto?: string; + }; + PerformanceImageModifyRequest: { + /** Format: int64 */ + performanceImageId?: number; + performanceImage?: string; + }; + PerformanceModifyRequest: { + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + /** @enum {string} */ + genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; + /** Format: int32 */ + runningTime?: number; + performanceDescription?: string; + performanceAttentionNote?: string; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + accountHolder?: string; + posterImage?: string; + performanceTeamName?: string; + performanceVenue?: string; + performanceContact?: string; + performancePeriod?: string; + /** Format: int32 */ + totalScheduleCount?: number; + /** Format: int32 */ + ticketPrice?: number; + scheduleModifyRequests?: components["schemas"]["ScheduleModifyRequest"][]; + castModifyRequests?: components["schemas"]["CastModifyRequest"][]; + staffModifyRequests?: components["schemas"]["StaffModifyRequest"][]; + performanceImageModifyRequests?: components["schemas"]["PerformanceImageModifyRequest"][]; + }; + ScheduleModifyRequest: { + /** Format: int64 */ + scheduleId?: number; + /** Format: date-time */ + performanceDate?: string; + /** Format: int32 */ + totalTicketCount?: number; + }; + StaffModifyRequest: { + /** Format: int64 */ + staffId?: number; + staffName?: string; + staffRole?: string; + staffPhoto?: string; + }; + CastModifyResponse: { + /** Format: int64 */ + castId?: number; + castName?: string; + castRole?: string; + castPhoto?: string; + }; + PerformanceImageModifyResponse: { + /** Format: int64 */ + performanceImageId?: number; + performanceImage?: string; + }; + PerformanceModifyResponse: { + /** Format: int64 */ + userId?: number; + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + /** @enum {string} */ + genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; + /** Format: int32 */ + runningTime?: number; + performanceDescription?: string; + performanceAttentionNote?: string; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + accountHolder?: string; + posterImage?: string; + performanceTeamName?: string; + performanceVenue?: string; + performanceContact?: string; + performancePeriod?: string; + /** Format: int32 */ + ticketPrice?: number; + /** Format: int32 */ + totalScheduleCount?: number; + scheduleModifyResponses?: components["schemas"]["ScheduleModifyResponse"][]; + castModifyResponses?: components["schemas"]["CastModifyResponse"][]; + staffModifyResponses?: components["schemas"]["StaffModifyResponse"][]; + performanceImageModifyResponses?: components["schemas"]["PerformanceImageModifyResponse"][]; + }; + ScheduleModifyResponse: { + /** Format: int64 */ + scheduleId?: number; + /** Format: date-time */ + performanceDate?: string; + /** Format: int32 */ + totalTicketCount?: number; + /** Format: int32 */ + dueDate?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + }; + StaffModifyResponse: { + /** Format: int64 */ + staffId?: number; + staffName?: string; + staffRole?: string; + staffPhoto?: string; + }; + SuccessResponsePerformanceModifyResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["PerformanceModifyResponse"]; + }; + MemberLoginRequest: { + /** @enum {string} */ + socialType: "KAKAO"; + }; + LoginSuccessResponse: { + accessToken?: string; + refreshToken?: string; + nickname?: string; + }; + SuccessResponseLoginSuccessResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["LoginSuccessResponse"]; + }; + CastRequest: { + castName?: string; + castRole?: string; + castPhoto?: string; + }; + PerformanceImageRequest: { + performanceImage?: string; + }; + PerformanceRequest: { + performanceTitle?: string; + /** @enum {string} */ + genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; + /** Format: int32 */ + runningTime?: number; + performanceDescription?: string; + performanceAttentionNote?: string; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + accountHolder?: string; + posterImage?: string; + performanceTeamName?: string; + performanceVenue?: string; + performanceContact?: string; + performancePeriod?: string; + /** Format: int32 */ + ticketPrice?: number; + /** Format: int32 */ + totalScheduleCount?: number; + scheduleList?: components["schemas"]["ScheduleRequest"][]; + castList?: components["schemas"]["CastRequest"][]; + staffList?: components["schemas"]["StaffRequest"][]; + performanceImageList?: components["schemas"]["PerformanceImageRequest"][]; + }; + ScheduleRequest: { + /** Format: date-time */ + performanceDate?: string; + /** Format: int32 */ + totalTicketCount?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + }; + StaffRequest: { + staffName?: string; + staffRole?: string; + staffPhoto?: string; + }; + CastResponse: { + /** Format: int64 */ + castId?: number; + castName?: string; + castRole?: string; + castPhoto?: string; + }; + PerformanceImageResponse: { + /** Format: int64 */ + imageId?: number; + imageUrl?: string; + }; + PerformanceResponse: { + /** Format: int64 */ + userId?: number; + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + /** @enum {string} */ + genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; + /** Format: int32 */ + runningTime?: number; + performanceDescription?: string; + performanceAttentionNote?: string; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + accountHolder?: string; + posterImage?: string; + performanceTeamName?: string; + performanceVenue?: string; + performanceContact?: string; + performancePeriod?: string; + /** Format: int32 */ + ticketPrice?: number; + /** Format: int32 */ + totalScheduleCount?: number; + scheduleList?: components["schemas"]["ScheduleResponse"][]; + castList?: components["schemas"]["CastResponse"][]; + staffList?: components["schemas"]["StaffResponse"][]; + performanceImageList?: components["schemas"]["PerformanceImageResponse"][]; + }; + ScheduleResponse: { + /** Format: int64 */ + scheduleId?: number; + /** Format: date-time */ + performanceDate?: string; + /** Format: int32 */ + totalTicketCount?: number; + /** Format: int32 */ + dueDate?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + }; + StaffResponse: { + /** Format: int64 */ + staffId?: number; + staffName?: string; + staffRole?: string; + staffPhoto?: string; + }; + SuccessResponsePerformanceResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["PerformanceResponse"]; + }; + MemberBookingRequest: { + /** Format: int64 */ + scheduleId?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + /** Format: int32 */ + purchaseTicketCount?: number; + bookerName?: string; + bookerPhoneNumber?: string; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + /** Format: int32 */ + totalPaymentAmount?: number; + }; + MemberBookingResponse: { + /** Format: int64 */ + bookingId?: number; + /** Format: int64 */ + scheduleId?: number; + /** Format: int64 */ + userId?: number; + /** Format: int32 */ + purchaseTicketCount?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + bookerName?: string; + bookerPhoneNumber?: string; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + /** Format: int32 */ + totalPaymentAmount?: number; + /** Format: date-time */ + createdAt?: string; }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; + SuccessResponseMemberBookingResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["MemberBookingResponse"]; + }; + GuestBookingRequest: { + /** Format: int64 */ + scheduleId?: number; + /** Format: int32 */ + purchaseTicketCount?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + bookerName?: string; + bookerPhoneNumber?: string; + birthDate?: string; + password?: string; + /** Format: int32 */ + totalPaymentAmount?: number; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + }; + GuestBookingResponse: { + /** Format: int64 */ + bookingId?: number; + /** Format: int64 */ + scheduleId?: number; + /** Format: int64 */ + userId?: number; + /** Format: int32 */ + purchaseTicketCount?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + bookerName?: string; + bookerPhoneNumber?: string; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + /** Format: int32 */ + totalPaymentAmount?: number; + /** Format: date-time */ + createdAt?: string; + }; + SuccessResponseGuestBookingResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["GuestBookingResponse"]; + }; + GuestBookingRetrieveRequest: { + bookerName?: string; + birthDate?: string; + bookerPhoneNumber?: string; + password?: string; + }; + GuestBookingRetrieveResponse: { + /** Format: int64 */ + bookingId?: number; + /** Format: int64 */ + scheduleId?: number; + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + /** Format: date-time */ + performanceDate?: string; + performanceVenue?: string; + /** Format: int32 */ + purchaseTicketCount?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + bookerName?: string; + performanceContact?: string; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + accountHolder?: string; + /** Format: int32 */ + dueDate?: number; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + /** Format: date-time */ + createdAt?: string; + posterImage?: string; + /** Format: int32 */ + totalPaymentAmount?: number; + }; + SuccessResponseListGuestBookingRetrieveResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["GuestBookingRetrieveResponse"][]; + }; + TicketCancelRequest: { + /** Format: int64 */ + performanceId?: number; + bookingList?: number[]; + }; + AccessTokenGetSuccess: { + accessToken?: string; + }; + SuccessResponseAccessTokenGetSuccess: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["AccessTokenGetSuccess"]; + }; + SuccessResponseTicketRetrieveResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["TicketRetrieveResponse"]; + }; + TicketDetail: { + /** Format: int64 */ + bookingId?: number; + bookerName?: string; + bookerPhoneNumber?: string; + /** Format: int64 */ + scheduleId?: number; + /** Format: int32 */ + purchaseTicketCount?: number; + /** Format: date-time */ + createdAt?: string; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + scheduleNumber?: string; + }; + TicketRetrieveResponse: { + performanceTitle?: string; + /** Format: int32 */ + totalScheduleCount?: number; + bookingList?: components["schemas"]["TicketDetail"][]; + }; + SuccessResponseTicketAvailabilityResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["TicketAvailabilityResponse"]; + }; + TicketAvailabilityResponse: { + /** Format: int64 */ + scheduleId?: number; + scheduleNumber?: string; + /** Format: int32 */ + totalTicketCount?: number; + /** Format: int32 */ + soldTicketCount?: number; + /** Format: int32 */ + availableTicketCount?: number; + /** Format: int32 */ + requestedTicketCount?: number; + isAvailable?: boolean; + }; + PerformanceModifyDetailResponse: { + /** Format: int64 */ + userId?: number; + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + /** @enum {string} */ + genre?: "BAND" | "PLAY" | "DANCE" | "ETC"; + /** Format: int32 */ + runningTime?: number; + performanceDescription?: string; + performanceAttentionNote?: string; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + accountHolder?: string; + posterImage?: string; + performanceTeamName?: string; + performanceVenue?: string; + performanceContact?: string; + performancePeriod?: string; + /** Format: int32 */ + ticketPrice?: number; + /** Format: int32 */ + totalScheduleCount?: number; + isBookerExist?: boolean; + scheduleList?: components["schemas"]["ScheduleResponse"][]; + castList?: components["schemas"]["CastResponse"][]; + staffList?: components["schemas"]["StaffResponse"][]; + performanceImageList?: components["schemas"]["PerformanceImageResponse"][]; + }; + SuccessResponsePerformanceModifyDetailResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["PerformanceModifyDetailResponse"]; + }; + MakerPerformanceDetailResponse: { + /** Format: int64 */ + performanceId?: number; + genre?: string; + performanceTitle?: string; + posterImage?: string; + performancePeriod?: string; + /** Format: int32 */ + minDueDate?: number; + }; + MakerPerformanceResponse: { + /** Format: int64 */ + userId?: number; + performances?: components["schemas"]["MakerPerformanceDetailResponse"][]; + }; + SuccessResponseMakerPerformanceResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["MakerPerformanceResponse"]; + }; + PerformanceDetailCastResponse: { + /** Format: int64 */ + castId?: number; + castName?: string; + castRole?: string; + castPhoto?: string; + }; + PerformanceDetailImageResponse: { + /** Format: int64 */ + performanceImageId?: number; + performanceImage?: string; + }; + PerformanceDetailResponse: { + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + performancePeriod?: string; + scheduleList?: components["schemas"]["PerformanceDetailScheduleResponse"][]; + /** Format: int32 */ + ticketPrice?: number; + genre?: string; + posterImage?: string; + /** Format: int32 */ + runningTime?: number; + performanceVenue?: string; + performanceDescription?: string; + performanceAttentionNote?: string; + performanceContact?: string; + performanceTeamName?: string; + castList?: components["schemas"]["PerformanceDetailCastResponse"][]; + staffList?: components["schemas"]["PerformanceDetailStaffResponse"][]; + /** Format: int32 */ + minDueDate?: number; + performanceImageList?: components["schemas"]["PerformanceDetailImageResponse"][]; + }; + PerformanceDetailScheduleResponse: { + /** Format: int64 */ + scheduleId?: number; + /** Format: date-time */ + performanceDate?: string; + scheduleNumber?: string; + /** Format: int32 */ + dueDate?: number; + isBooking?: boolean; + }; + PerformanceDetailStaffResponse: { + /** Format: int64 */ + staffId?: number; + staffName?: string; + staffRole?: string; + staffPhoto?: string; + }; + SuccessResponsePerformanceDetailResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["PerformanceDetailResponse"]; + }; + BookingPerformanceDetailResponse: { + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + performancePeriod?: string; + scheduleList?: components["schemas"]["BookingPerformanceDetailScheduleResponse"][]; + /** Format: int32 */ + ticketPrice?: number; + genre?: string; + posterImage?: string; + performanceVenue?: string; + performanceTeamName?: string; + bankName?: string; + accountNumber?: string; + accountHolder?: string; + }; + BookingPerformanceDetailScheduleResponse: { + /** Format: int64 */ + scheduleId?: number; + /** Format: date-time */ + performanceDate?: string; + scheduleNumber?: string; + /** Format: int32 */ + availableTicketCount?: number; + isBooking?: boolean; + /** Format: int32 */ + dueDate?: number; + }; + SuccessResponseBookingPerformanceDetailResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["BookingPerformanceDetailResponse"]; + }; + HomePerformanceDetail: { + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + performancePeriod?: string; + /** Format: int32 */ + ticketPrice?: number; + /** Format: int32 */ + dueDate?: number; + genre?: string; + posterImage?: string; + performanceVenue?: string; + }; + HomePromotionDetail: { + /** Format: int64 */ + promotionId?: number; + promotionPhoto?: string; + /** Format: int64 */ + performanceId?: number; + redirectUrl?: string; + isExternal?: boolean; + }; + HomeResponse: { + promotionList?: components["schemas"]["HomePromotionDetail"][]; + performanceList?: components["schemas"]["HomePerformanceDetail"][]; + }; + SuccessResponseHomeResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["HomeResponse"]; + }; + MemberBookingRetrieveResponse: { + /** Format: int64 */ + userId?: number; + /** Format: int64 */ + bookingId?: number; + /** Format: int64 */ + scheduleId?: number; + /** Format: int64 */ + performanceId?: number; + performanceTitle?: string; + /** Format: date-time */ + performanceDate?: string; + performanceVenue?: string; + /** Format: int32 */ + purchaseTicketCount?: number; + /** @enum {string} */ + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + bookerName?: string; + performanceContact?: string; + /** @enum {string} */ + bankName?: + | "NH_NONGHYUP" + | "KAKAOBANK" + | "KB_KOOKMIN" + | "TOSSBANK" + | "SHINHAN" + | "WOORI" + | "IBK_GIUP" + | "HANA" + | "SAEMAUL" + | "BUSAN" + | "IMBANK_DAEGU" + | "SINHYEOP" + | "WOOCHAEGUK" + | "SCJEIL" + | "SUHYEOP" + | "NONE"; + accountNumber?: string; + accountHolder?: string; + /** Format: int32 */ + dueDate?: number; + /** @enum {string} */ + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + /** Format: date-time */ + createdAt?: string; + posterImage?: string; + /** Format: int32 */ + totalPaymentAmount?: number; + }; + SuccessResponseMemberBookingRetrieveResponse: { + /** Format: int32 */ + status?: number; + message?: string; + data?: components["schemas"]["MemberBookingRetrieveResponse"]; + }; + }; + responses: never; + parameters: never; + requestBodies: never; + headers: never; + pathItems: never; } export type $defs = Record; export interface operations { - updateTickets: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["TicketUpdateRequest"]; - }; - }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseVoid"]; - }; - }; - }; + updateTickets: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path?: never; + cookie?: never; }; - deleteTickets: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["TicketDeleteRequest"]; - }; + requestBody: { + content: { + "application/json": components["schemas"]["TicketUpdateRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseVoid"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseVoid"]; }; + }; }; - updatePerformance: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PerformanceUpdateRequest"]; - }; + }; + cancelTickets: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TicketCancelRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponsePerformanceUpdateResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseVoid"]; }; + }; }; - createPerformance: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["PerformanceRequest"]; - }; + }; + updatePerformance: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PerformanceModifyRequest"]; + }; + }; + responses: { + /** @description 공연 정보 수정 성공 */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceModifyResponse"]; + }; + }; + /** @description 잘못된 요청 - 회차 최대 개수 초과 */ + 400: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceModifyResponse"]; + }; + }; + /** @description 권한 없음 - 해당 공연의 소유자가 아닙니다. */ + 403: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceModifyResponse"]; + }; + }; + /** @description 존재하지 않는 회원 ID로 수정 요청을 보낼 수 없습니다. */ + 404: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceModifyResponse"]; + }; + }; + /** @description 서버 내부 오류 */ + 500: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceModifyResponse"]; + }; + }; + }; + }; + createPerformance: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PerformanceRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponsePerformanceResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceResponse"]; }; + }; }; - signUp: { - parameters: { - query: { - authorizationCode: string; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["MemberLoginRequest"]; - }; + }; + signUp: { + parameters: { + query: { + authorizationCode: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MemberLoginRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseLoginSuccessResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseLoginSuccessResponse"]; }; + }; + }; + }; + signOut: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - signOut: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseVoid"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseVoid"]; }; + }; }; - createMemberBooking: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["MemberBookingRequest"]; - }; + }; + createMemberBooking: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["MemberBookingRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseMemberBookingResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseMemberBookingResponse"]; }; + }; }; - createGuestBookings: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["GuestBookingRequest"]; - }; + }; + createGuestBookings: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GuestBookingRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseGuestBookingResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseGuestBookingResponse"]; }; + }; }; - getGuestBookings: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; - }; - requestBody: { - content: { - "application/json": components["schemas"]["GuestBookingRetrieveRequest"]; - }; + }; + getGuestBookings: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GuestBookingRetrieveRequest"]; + }; + }; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseListGuestBookingRetrieveResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseListGuestBookingRetrieveResponse"]; }; + }; + }; + }; + healthcheck: { + parameters: { + query?: never; + header?: never; + path?: never; + cookie?: never; }; - healthcheck: { - parameters: { - query?: never; - header?: never; - path?: never; - cookie?: never; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": string; - }; - }; + content: { + "*/*": string; }; + }; }; - refreshToken: { - parameters: { - query: { - refreshToken: string; - }; - header?: never; - path?: never; - cookie?: never; + }; + refreshToken: { + parameters: { + query: { + refreshToken: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseAccessTokenGetSuccess"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseAccessTokenGetSuccess"]; }; + }; }; - getTickets: { - parameters: { - query: { - memberId: number; - scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; - isPaymentCompleted?: boolean; - }; - header?: never; - path: { - performanceId: number; - }; - cookie?: never; + }; + getTickets: { + parameters: { + query: { + memberId: number; + scheduleNumber?: "FIRST" | "SECOND" | "THIRD"; + bookingStatus?: "CHECKING_PAYMENT" | "BOOKING_CONFIRMED" | "BOOKING_CANCELLED"; + }; + header?: never; + path: { + performanceId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseTicketRetrieveResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseTicketRetrieveResponse"]; }; + }; }; - getTicketAvailability: { - parameters: { - query: { - purchaseTicketCount: number; - }; - header?: never; - path: { - scheduleId: number; - }; - cookie?: never; + }; + getTicketAvailability: { + parameters: { + query: { + purchaseTicketCount: number; + }; + header?: never; + path: { + scheduleId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseTicketAvailabilityResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseTicketAvailabilityResponse"]; }; + }; }; - getPerformanceForEdit: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path: { - performanceId: number; - }; - cookie?: never; + }; + getPerformanceForEdit: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path: { + performanceId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponsePerformanceEditResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceModifyDetailResponse"]; }; + }; }; - deletePerformance: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path: { - performanceId: number; - }; - cookie?: never; + }; + deletePerformance: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path: { + performanceId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseVoid"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseVoid"]; }; + }; }; - getUserPerformances: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path?: never; - cookie?: never; + }; + getUserPerformances: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseMakerPerformanceResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseMakerPerformanceResponse"]; }; + }; }; - getPerformanceDetail: { - parameters: { - query?: never; - header?: never; - path: { - performanceId: number; - }; - cookie?: never; + }; + getPerformanceDetail: { + parameters: { + query?: never; + header?: never; + path: { + performanceId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponsePerformanceDetailResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponsePerformanceDetailResponse"]; }; + }; }; - getBookingPerformanceDetail: { - parameters: { - query?: never; - header?: never; - path: { - performanceId: number; - }; - cookie?: never; + }; + getBookingPerformanceDetail: { + parameters: { + query?: never; + header?: never; + path: { + performanceId: number; + }; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseBookingPerformanceDetailResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseBookingPerformanceDetailResponse"]; }; + }; }; - getHomePerformanceList: { - parameters: { - query?: { - genre?: string; - }; - header?: never; - path?: never; - cookie?: never; + }; + getHomePerformanceList: { + parameters: { + query?: { + genre?: string; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseHomeResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseHomeResponse"]; }; + }; }; - getPresignedUrls: { - parameters: { - query: { - posterImage: string; - castImages?: string[]; - staffImages?: string[]; - }; - header?: never; - path?: never; - cookie?: never; - }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": { - [key: string]: { - [key: string]: string; - }; - }; - }; + }; + getPresignedUrls: { + parameters: { + query: { + posterImage: string; + castImages?: string[]; + staffImages?: string[]; + performanceImages?: string[]; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; + }; + content: { + "*/*": { + [key: string]: { + [key: string]: string; }; + }; }; + }; }; - getMemberBookings: { - parameters: { - query: { - memberId: number; - }; - header?: never; - path?: never; - cookie?: never; + }; + getMemberBookings: { + parameters: { + query: { + memberId: number; + }; + header?: never; + path?: never; + cookie?: never; + }; + requestBody?: never; + responses: { + /** @description OK */ + 200: { + headers: { + [name: string]: unknown; }; - requestBody?: never; - responses: { - /** @description OK */ - 200: { - headers: { - [name: string]: unknown; - }; - content: { - "*/*": components["schemas"]["SuccessResponseMemberBookingRetrieveResponse"]; - }; - }; + content: { + "*/*": components["schemas"]["SuccessResponseMemberBookingRetrieveResponse"]; }; + }; }; + }; } From c1049c269da739e537fecdb4b3d93274a59a53f7 Mon Sep 17 00:00:00 2001 From: jerry Date: Thu, 29 Aug 2024 22:17:36 +0900 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=EC=83=81=EC=84=B8=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EB=B3=B4=EC=97=AC=EC=A3=BC=EB=8A=94=20?= =?UTF-8?q?=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detailImage/DetailImage.styled.ts | 47 +++++++++++++++++++ .../components/detailImage/DetailImage.tsx | 45 ++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 src/pages/gig/components/detailImage/DetailImage.styled.ts create mode 100644 src/pages/gig/components/detailImage/DetailImage.tsx diff --git a/src/pages/gig/components/detailImage/DetailImage.styled.ts b/src/pages/gig/components/detailImage/DetailImage.styled.ts new file mode 100644 index 00000000..394c90d0 --- /dev/null +++ b/src/pages/gig/components/detailImage/DetailImage.styled.ts @@ -0,0 +1,47 @@ +import styled from "styled-components"; + +export const Wrapper = styled.div` + position: relative; + display: flex; + flex-direction: column; +`; + +export const ImageWrapper = styled.div<{ $showAllImages: boolean; $toggleAvailable: boolean }>` + display: flex; + flex-direction: column; + gap: 16px; + height: ${({ $showAllImages, $toggleAvailable }) => + $showAllImages ? "auto" : $toggleAvailable && "700px"}; + overflow: ${({ $showAllImages }) => + $showAllImages ? "visible" : "hidden"}; /* 이미지의 하단 부분을 잘라내도록 설정 */ +`; + +export const Image = styled.img` + width: 100%; + height: auto; +`; + +export const ShowMoreButton = styled.button` + display: flex; + justify-content: space-between; + margin-top: 8px; + padding: 1.6rem 9.1rem; + + color: ${({ theme }) => theme.colors.white}; + ${({ theme }) => theme.fonts["body1-normal-semi"]}; + + background-color: ${({ theme }) => theme.colors.gray_900}; + cursor: pointer; + border: 1px solid ${({ theme }) => theme.colors.gray_700}; + border-radius: 6px; +`; + +export const Overlay = styled.div` + position: absolute; + bottom: 6.3rem; + + width: 100%; + height: 10rem; + + background: linear-gradient(180deg, rgb(27 27 27 / 0%) 0%, #1b1b1b 100%); +`; diff --git a/src/pages/gig/components/detailImage/DetailImage.tsx b/src/pages/gig/components/detailImage/DetailImage.tsx new file mode 100644 index 00000000..00d30b3d --- /dev/null +++ b/src/pages/gig/components/detailImage/DetailImage.tsx @@ -0,0 +1,45 @@ +import { useState } from "react"; +import { IconArrowDown, IconArrowUp } from "@assets/svgs"; +import * as S from "./DetailImage.styled"; + +const DetailImage = ({ performanceImageList }) => { + const toggleAvailable = performanceImageList?.length > 2; + const [showAllImages, setShowAllImages] = useState(false); + + const handleDetailImageToggle = () => { + setShowAllImages((prev) => !prev); + }; + + if (!performanceImageList || performanceImageList.length === 0) { + return null; + } + + return ( + + + {performanceImageList.map((image) => ( + + ))} + + + {toggleAvailable && ( + <> + {!showAllImages && } + + {showAllImages ? ( + <> + 상세 이미지 접기 + + ) : ( + <> + 상세 이미지 더보기 + + )} + + + )} + + ); +}; + +export default DetailImage; From 7526186f6ea1e622f4c335498a2f33f1764ac135 Mon Sep 17 00:00:00 2001 From: jerry Date: Thu, 29 Aug 2024 22:19:56 +0900 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20performanceImageList=20props?= =?UTF-8?q?=EB=A1=9C=20=EC=A0=84=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/gig/Gig.tsx | 3 ++- src/pages/gig/components/content/Content.tsx | 8 ++++++++ .../performanceIntroduce/PerformanceIntroduce.styled.ts | 7 ++++--- .../performanceIntroduce/PerformanceIntroduce.tsx | 6 ++++++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/pages/gig/Gig.tsx b/src/pages/gig/Gig.tsx index 9d750088..170f0dd2 100644 --- a/src/pages/gig/Gig.tsx +++ b/src/pages/gig/Gig.tsx @@ -62,7 +62,7 @@ const Gig = () => { return ; } - if (!data) { + if (!isLoading && !data) { return ; } @@ -88,6 +88,7 @@ const Gig = () => { /> diff --git a/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.styled.ts b/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.styled.ts index 9cf6a14e..ac854fa1 100644 --- a/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.styled.ts +++ b/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.styled.ts @@ -20,6 +20,7 @@ export const Title = styled.h1` export const Description = styled.pre` width: 32.7rem; + ${({ theme }) => theme.fonts["body2-long"]}; color: ${({ theme }) => theme.colors.white}; white-space: pre-line; @@ -57,12 +58,12 @@ export const Toggle = styled.span` `; export const Contact = styled.p` + display: flex; + align-items: center; + justify-content: flex-start; width: 100%; padding: 1.2rem 1.2rem 1.2rem 0; text-decoration-line: underline; - display: flex; - justify-content: flex-start; - align-items: center; color: ${({ theme }) => theme.colors.white}; diff --git a/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.tsx b/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.tsx index bc060312..17c9fd57 100644 --- a/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.tsx +++ b/src/pages/gig/components/performanceIntroduce/PerformanceIntroduce.tsx @@ -1,14 +1,19 @@ +import { useState } from "react"; +import { PerformanceImageList } from "../content/Content"; import Contact from "./Contact"; import * as S from "./PerformanceIntroduce.styled"; +import DetailImage from "../detailImage/DetailImage"; interface PerformanceIntroduceProps { description: string; + performanceImageList: PerformanceImageList[]; attentionNote: string; contact: string; } const PerformanceIntroduce = ({ description, + performanceImageList, attentionNote, contact, }: PerformanceIntroduceProps) => { @@ -18,6 +23,7 @@ const PerformanceIntroduce = ({ 공연소개 {description} + 유의사항 From a0e0a4a43aad65611741c83788936f1f31a8794a Mon Sep 17 00:00:00 2001 From: jerry Date: Sat, 31 Aug 2024 22:22:37 +0900 Subject: [PATCH 4/5] =?UTF-8?q?chore:=20px=20->=20rem=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=8B=A8=EC=9C=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gig/components/detailImage/DetailImage.styled.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/gig/components/detailImage/DetailImage.styled.ts b/src/pages/gig/components/detailImage/DetailImage.styled.ts index 394c90d0..3ea85d27 100644 --- a/src/pages/gig/components/detailImage/DetailImage.styled.ts +++ b/src/pages/gig/components/detailImage/DetailImage.styled.ts @@ -9,9 +9,9 @@ export const Wrapper = styled.div` export const ImageWrapper = styled.div<{ $showAllImages: boolean; $toggleAvailable: boolean }>` display: flex; flex-direction: column; - gap: 16px; + gap: 1.6rem; height: ${({ $showAllImages, $toggleAvailable }) => - $showAllImages ? "auto" : $toggleAvailable && "700px"}; + $showAllImages ? "auto" : $toggleAvailable && "70rem"}; overflow: ${({ $showAllImages }) => $showAllImages ? "visible" : "hidden"}; /* 이미지의 하단 부분을 잘라내도록 설정 */ `; @@ -24,7 +24,7 @@ export const Image = styled.img` export const ShowMoreButton = styled.button` display: flex; justify-content: space-between; - margin-top: 8px; + margin-top: 0.8rem; padding: 1.6rem 9.1rem; color: ${({ theme }) => theme.colors.white}; @@ -33,7 +33,7 @@ export const ShowMoreButton = styled.button` background-color: ${({ theme }) => theme.colors.gray_900}; cursor: pointer; border: 1px solid ${({ theme }) => theme.colors.gray_700}; - border-radius: 6px; + border-radius: 0.6rem; `; export const Overlay = styled.div` From 1e11c94eb0e340f94dbd469b13627ad4380d774d Mon Sep 17 00:00:00 2001 From: jerry Date: Sat, 31 Aug 2024 22:30:27 +0900 Subject: [PATCH 5/5] =?UTF-8?q?feat:=20=EB=93=B1=EB=A1=9D=ED=95=98?= =?UTF-8?q?=EA=B8=B0=20=ED=8E=98=EC=9D=B4=EC=A7=80=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EB=AF=B8?= =?UTF-8?q?=EB=A6=AC=EB=B3=BC=20=EC=88=98=20=EC=9E=88=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/register/Register.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/register/Register.tsx b/src/pages/register/Register.tsx index 41fb7c11..0f7523c9 100644 --- a/src/pages/register/Register.tsx +++ b/src/pages/register/Register.tsx @@ -602,6 +602,7 @@ const Register = () => { ({