-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathticketInformation.ts
More file actions
74 lines (68 loc) · 1.58 KB
/
ticketInformation.ts
File metadata and controls
74 lines (68 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
export type TicketOptionType = 'SINGLE' | 'MULTIPLE' | 'TEXT';
export interface CreateTicketRequest {
eventId: number;
ticketType: string;
ticketName: string;
ticketDescription: string;
ticketPrice: number;
availableQuantity: number;
startDate: string;
endDate: string;
}
export interface ReadTicketResponse {
ticketId: number;
ticketName: string;
ticketDescription: string;
ticketPrice: number;
availableQuantity: number;
startDate: string;
endDate: string;
}
export interface TicketOptionChoice {
id: number;
name: string;
}
export interface TicketOptionResponse {
id: number;
name: string;
description: string;
type: TicketOptionType;
isMandatory: boolean;
choices: TicketOptionChoice[];
}
// 티켓 옵션 응답 전송
export interface TicketOptionAnswerRequest {
ticketOptionId: number;
answerText?: string;
ticketOptionChoiceId?: number;
ticketOptionChoiceIds?: number[];
}
// 티켓 옵션 응답 전체 조회
export type TicketOptionAnswer = {
id: number;
answer: string;
};
export type TicketOption = {
optionId: number;
optionName: string;
optionType: TicketOptionType;
ticketOptionAnswers: TicketOptionAnswer[];
};
export type TicketOptionAnswerResponse = {
orderCount: number;
ticketOptions: TicketOption[];
};
// 티켓 옵션 응답 개별 조회
export type PersonalTicketOptionAnswerResponse = {
userId: number;
orders: Order[];
};
export interface Order {
orderId: number;
optionAnswers: OptionAnswer[];
}
export interface OptionAnswer {
optionName: string;
optionType: TicketOptionType;
answer: string;
}