@@ -105,3 +105,138 @@ export interface InterviewEndResultDTO {
105105 interviewId ?: number ;
106106 endedAt ?: string ;
107107}
108+
109+ export interface InterviewOptionUpdateDTO {
110+ voiceType :
111+ | "MALE20"
112+ | "MALE30"
113+ | "MALE40"
114+ | "MALE50"
115+ | "FEMALE20"
116+ | "FEMALE30"
117+ | "FEMALE40"
118+ | "FEMALE50" ;
119+ questionNumber : number ;
120+ answerTime : number ;
121+ }
122+
123+ export interface ApiResponseInterviewOptionUpdateResponseDTO {
124+ isSuccess ?: boolean ;
125+ code ?: string ;
126+ message ?: string ;
127+ result ?: InterviewOptionUpdateResponseDTO ;
128+ }
129+
130+ export interface InterviewOptionUpdateResponseDTO {
131+ interviewId ?: number ;
132+ interviewOptionId ?: number ;
133+ voiceType ?:
134+ | "MALE20"
135+ | "MALE30"
136+ | "MALE40"
137+ | "MALE50"
138+ | "FEMALE20"
139+ | "FEMALE30"
140+ | "FEMALE40"
141+ | "FEMALE50" ;
142+ questionNumber ?: number ;
143+ answerTime ?: number ;
144+ }
145+
146+ // 1대다(그룹) 면접 관련 타입
147+ export interface ApiResponseListInterviewGroupCardDTO {
148+ isSuccess ?: boolean ;
149+ code ?: string ;
150+ message ?: string ;
151+ result ?: InterviewGroupCardDTO [ ] ;
152+ }
153+
154+ export interface InterviewGroupCardDTO {
155+ interviewId ?: number ;
156+ name ?: string ;
157+ description ?: string ;
158+ sessionName ?: string ;
159+ jobName ?: string ;
160+ interviewType ?: "PERSONALITY" | "TECHNICAL" ;
161+ currentParticipants ?: number ;
162+ maxParticipants ?: number ;
163+ startedAt ?: string ;
164+ }
165+
166+ export interface ApiResponseGroupInterviewDetailDTO {
167+ isSuccess ?: boolean ;
168+ code ?: string ;
169+ message ?: string ;
170+ result ?: GroupInterviewDetailDTO ;
171+ }
172+
173+ export interface GroupInterviewDetailDTO {
174+ interviewId ?: number ;
175+ name ?: string ;
176+ description ?: string ;
177+ sessionName ?: string ;
178+ jobName ?: string ;
179+ interviewType ?: "PERSONALITY" | "TECHNICAL" ;
180+ maxParticipants ?: number ;
181+ currentParticipants ?: number ;
182+ startedAt ?: string ;
183+ hostName ?: string ;
184+ groupInterviewParticipants ?: GroupInterviewParticipantDTO [ ] ;
185+ }
186+
187+ export interface GroupInterviewParticipantDTO {
188+ memberId ?: number ;
189+ name ?: string ;
190+ submitted ?: boolean ;
191+ host ?: boolean ;
192+ }
193+
194+ // 면접 시작 관련 타입
195+ export interface ApiResponseInterviewStartResponseDTO {
196+ isSuccess ?: boolean ;
197+ code ?: string ;
198+ message ?: string ;
199+ result ?: InterviewStartResponseDTO ;
200+ }
201+
202+ export interface InterviewStartResponseDTO {
203+ interviewId ?: number ;
204+ interview ?: InterviewDTO ;
205+ options ?: InterviewOptionDTO ;
206+ participants ?: ParticipantDTO [ ] ;
207+ }
208+
209+ export interface InterviewDTO {
210+ interviewId ?: number ;
211+ corporateName ?: string ;
212+ jobName ?: string ;
213+ startType ?: "NOW" | "SCHEDULED" ;
214+ participantCount ?: number ;
215+ }
216+
217+ export interface InterviewOptionDTO {
218+ interviewFormat ?: "INDIVIDUAL" | "GROUP" ;
219+ interviewType ?: "PERSONALITY" | "TECHNICAL" ;
220+ voiceType ?:
221+ | "MALE20"
222+ | "MALE30"
223+ | "MALE40"
224+ | "MALE50"
225+ | "FEMALE20"
226+ | "FEMALE30"
227+ | "FEMALE40"
228+ | "FEMALE50" ;
229+ questionNumber ?: number ;
230+ answerTime ?: number ;
231+ }
232+
233+ export interface ParticipantDTO {
234+ memberInterviewId ?: number ;
235+ resumeDTO ?: ResumeSimpleDTO ;
236+ coverLetterDTO ?: any ; // CoverletterDetailDTO 등 실제 타입에 맞게 수정 필요
237+ }
238+
239+ export interface ResumeSimpleDTO {
240+ resumeId ?: number ;
241+ fileUrl ?: string ;
242+ }
0 commit comments