heartraite 1.0.225 → 1.0.227
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/enum/cloudfunction.enum.d.ts +3 -0
- package/dist/enum/cloudfunction.enum.js +3 -0
- package/dist/types/cloud-function-types.d.ts +14 -2
- package/dist/types/event-interest.types.d.ts +27 -1
- package/dist/types/event.types.d.ts +18 -4
- package/dist/types/request.types.d.ts +16 -0
- package/dist/types/response.types.d.ts +5 -2
- package/dist/types/ticket.types.d.ts +1 -0
- package/package.json +1 -1
- package/src/enum/cloudfunction.enum.ts +3 -0
- package/src/types/cloud-function-types.ts +18 -0
- package/src/types/event-interest.types.ts +31 -0
- package/src/types/event.types.ts +31 -14
- package/src/types/request.types.ts +16 -0
- package/src/types/response.types.ts +8 -2
- package/src/types/ticket.types.ts +1 -0
|
@@ -22,6 +22,9 @@ export declare enum CloudFunction {
|
|
|
22
22
|
CONFIRM_ORDER = "ticket/confirm",
|
|
23
23
|
ABANDON_ORDER = "ticket/abandon",
|
|
24
24
|
GET_EVENT_SHOWCASE = "event/get-event-showcase",
|
|
25
|
+
GET_TICKETING_CONFIG = "configuration/ticketing/get",
|
|
26
|
+
SCHEDULE_EVENT = "event/schedule-event",
|
|
27
|
+
GET_EVENT_INTERESTS = "event/get-event-interests",
|
|
25
28
|
SUBMIT_CATEGORY_FEEDBACK = "ca/submit-category-feedback",
|
|
26
29
|
CREATE_LIKE = "like/create-like",
|
|
27
30
|
HANDLE_LIKE_SEEN = "like/handle-like-seen",
|
|
@@ -26,6 +26,9 @@ var CloudFunction;
|
|
|
26
26
|
CloudFunction["CONFIRM_ORDER"] = "ticket/confirm";
|
|
27
27
|
CloudFunction["ABANDON_ORDER"] = "ticket/abandon";
|
|
28
28
|
CloudFunction["GET_EVENT_SHOWCASE"] = "event/get-event-showcase";
|
|
29
|
+
CloudFunction["GET_TICKETING_CONFIG"] = "configuration/ticketing/get";
|
|
30
|
+
CloudFunction["SCHEDULE_EVENT"] = "event/schedule-event";
|
|
31
|
+
CloudFunction["GET_EVENT_INTERESTS"] = "event/get-event-interests";
|
|
29
32
|
CloudFunction["SUBMIT_CATEGORY_FEEDBACK"] = "ca/submit-category-feedback";
|
|
30
33
|
CloudFunction["CREATE_LIKE"] = "like/create-like";
|
|
31
34
|
CloudFunction["HANDLE_LIKE_SEEN"] = "like/handle-like-seen";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CloudFunction } from "../enum";
|
|
2
|
-
import { AddImagesRequest, AuthenticateBankIDRequest, CollectBankIDRequest, CreateLikeRequest, CreatePLSInputRequest, CreatePLSSubmissionRequest, CreateReportRequest, DeleteUserRequest, GetCARequest, GetMatchableUserRequest, GetMatchCheckRequest, GetMatchesRequest, GetAdvancedMatchRequest, GetMessagesRequest, GetPLSSubmissionRequest, GetSelfAwarenessRequest, GetUserRequest, HandleLastMessageSeenRequest, HandleLikeSeenRequest, HandleMatchSeenRequest, RegisterOnboardingRequest, RegisterUserRequest, RemoveMatchRequest, SendMessageRequest, SubmitAnswerRequest, SubmitCategoryFeedbackRequest, SubmitPLSCategoryFeedbackRequest, SubmitPLSDemographicsRequest, UpdatePLSAnswerRequest, UpdateQuestionsRequest, UpdateUserRequest, SubmitFeedbackRequest, ExpressConsultationInterestRequest, GetMyConsultationInterestRequest, GetConsultationInterestsRequest, UpdateConsultationInterestRequest, SyncAffiliateRequest, JoinEventRequest, GetEventRequest, GetEventMatchRequest, SendEventFeedbackRequest, GetEventParticipantsRequest, GetPublicEventsRequest, SetEventInterestRequest, CreateCheckoutRequest, ConfirmOrderRequest, AbandonOrderRequest, GetEventShowcaseRequest } from "./request.types";
|
|
3
|
-
import { AddImagesResponse, AuthenticateBankIDResponse, CollectBankIDResponse, CreateLikeResponse, CreatePLSInputResponse, CreatePLSSubmissionResponse, CreateReportResponse, DeleteUserResponse, GetCAResponse, GetMatchableUserResponse, GetMatchableUsersResponse, GetMatchCheckResponse, GetMatchesResponse, GetAdvancedMatchResponse, GetMessagesResponse, GetPLSSubmissionResponse, GetSelfAwarenessReponse, GetUserResponse, HandleLastMessageSeenResponse, HandleLikeSeenResponse, HandleMatchSeenResponse, RegisterOnboardingResponse, RegisterUserResponse, RemoveMatchResponse, SendMessageResponse, SubmitAnswerResponse, SubmitCategoryFeedbackResponse, SubmitPLSCategoryFeedbackResponse, SubmitPLSDemographicsResponse, UpdatePLSAnswerResponse, UpdateQuestionsResponse, UpdateUserResponse, SubmitFeedbackResponse, ExpressConsultationInterestResponse, GetMyConsultationInterestResponse, GetConsultationInterestsResponse, UpdateConsultationInterestResponse, SyncAffiliateResponse, GetUserEventsResponse, JoinEventResponse, GetEventResponse, GetEventMatchResponse, SendEventFeedbackResponse, GetEventParticipantsResponse, GetPublicEventsResponse, SetEventInterestResponse, CreateCheckoutResponse, ConfirmOrderResponse, AbandonOrderResponse, GetEventShowcaseResponse } from "./response.types";
|
|
2
|
+
import { AddImagesRequest, AuthenticateBankIDRequest, CollectBankIDRequest, CreateLikeRequest, CreatePLSInputRequest, CreatePLSSubmissionRequest, CreateReportRequest, DeleteUserRequest, GetCARequest, GetMatchableUserRequest, GetMatchCheckRequest, GetMatchesRequest, GetAdvancedMatchRequest, GetMessagesRequest, GetPLSSubmissionRequest, GetSelfAwarenessRequest, GetUserRequest, HandleLastMessageSeenRequest, HandleLikeSeenRequest, HandleMatchSeenRequest, RegisterOnboardingRequest, RegisterUserRequest, RemoveMatchRequest, SendMessageRequest, SubmitAnswerRequest, SubmitCategoryFeedbackRequest, SubmitPLSCategoryFeedbackRequest, SubmitPLSDemographicsRequest, UpdatePLSAnswerRequest, UpdateQuestionsRequest, UpdateUserRequest, SubmitFeedbackRequest, ExpressConsultationInterestRequest, GetMyConsultationInterestRequest, GetConsultationInterestsRequest, UpdateConsultationInterestRequest, SyncAffiliateRequest, JoinEventRequest, GetEventRequest, GetEventMatchRequest, SendEventFeedbackRequest, GetEventParticipantsRequest, GetPublicEventsRequest, SetEventInterestRequest, CreateCheckoutRequest, ConfirmOrderRequest, AbandonOrderRequest, GetEventShowcaseRequest, GetTicketingConfigRequest, ScheduleEventRequest, GetEventInterestsRequest } from "./request.types";
|
|
3
|
+
import { AddImagesResponse, AuthenticateBankIDResponse, CollectBankIDResponse, CreateLikeResponse, CreatePLSInputResponse, CreatePLSSubmissionResponse, CreateReportResponse, DeleteUserResponse, GetCAResponse, GetMatchableUserResponse, GetMatchableUsersResponse, GetMatchCheckResponse, GetMatchesResponse, GetAdvancedMatchResponse, GetMessagesResponse, GetPLSSubmissionResponse, GetSelfAwarenessReponse, GetUserResponse, HandleLastMessageSeenResponse, HandleLikeSeenResponse, HandleMatchSeenResponse, RegisterOnboardingResponse, RegisterUserResponse, RemoveMatchResponse, SendMessageResponse, SubmitAnswerResponse, SubmitCategoryFeedbackResponse, SubmitPLSCategoryFeedbackResponse, SubmitPLSDemographicsResponse, UpdatePLSAnswerResponse, UpdateQuestionsResponse, UpdateUserResponse, SubmitFeedbackResponse, ExpressConsultationInterestResponse, GetMyConsultationInterestResponse, GetConsultationInterestsResponse, UpdateConsultationInterestResponse, SyncAffiliateResponse, GetUserEventsResponse, JoinEventResponse, GetEventResponse, GetEventMatchResponse, SendEventFeedbackResponse, GetEventParticipantsResponse, GetPublicEventsResponse, SetEventInterestResponse, CreateCheckoutResponse, ConfirmOrderResponse, AbandonOrderResponse, GetEventShowcaseResponse, GetTicketingConfigResponse, ScheduleEventResponse, GetEventInterestsResponse } from "./response.types";
|
|
4
4
|
/**
|
|
5
5
|
* @deprecated This function is deprecated.
|
|
6
6
|
* Use `CloudFunctionTypes` inside application code instead.
|
|
@@ -83,6 +83,18 @@ export type CloudFunctionTypes = {
|
|
|
83
83
|
payload: GetEventShowcaseRequest;
|
|
84
84
|
response: GetEventShowcaseResponse;
|
|
85
85
|
};
|
|
86
|
+
[CloudFunction.GET_TICKETING_CONFIG]: {
|
|
87
|
+
payload: GetTicketingConfigRequest;
|
|
88
|
+
response: GetTicketingConfigResponse;
|
|
89
|
+
};
|
|
90
|
+
[CloudFunction.SCHEDULE_EVENT]: {
|
|
91
|
+
payload: ScheduleEventRequest;
|
|
92
|
+
response: ScheduleEventResponse;
|
|
93
|
+
};
|
|
94
|
+
[CloudFunction.GET_EVENT_INTERESTS]: {
|
|
95
|
+
payload: GetEventInterestsRequest;
|
|
96
|
+
response: GetEventInterestsResponse;
|
|
97
|
+
};
|
|
86
98
|
[CloudFunction.SUBMIT_FEEDBACK]: {
|
|
87
99
|
payload: SubmitFeedbackRequest;
|
|
88
100
|
response: SubmitFeedbackResponse;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Gender, Market, UserLanguage } from "../enum";
|
|
2
|
-
export type EventInterestSource = "scheduled" | "on_sale" | "sold_out" | "sales_closed" | "out_of_age_range" | "outside_area" | "assessment_required";
|
|
2
|
+
export type EventInterestSource = "announced" | "scheduled" | "on_sale" | "sold_out" | "sales_closed" | "out_of_age_range" | "outside_area" | "assessment_required";
|
|
3
3
|
export type EventInterestAgeBand = "18-24" | "25-34" | "35-44" | "45-54" | "55-64" | "65+";
|
|
4
4
|
export type EventInterest = {
|
|
5
5
|
id: string;
|
|
@@ -18,3 +18,29 @@ export type EventInterest = {
|
|
|
18
18
|
notified?: Partial<Record<"sales_opened" | "seat_freed", string>>;
|
|
19
19
|
};
|
|
20
20
|
export type EventInterestView = Pick<EventInterest, "eventId" | "createdAt" | "source">;
|
|
21
|
+
export type EventInterestCount = {
|
|
22
|
+
key: string;
|
|
23
|
+
count: number;
|
|
24
|
+
};
|
|
25
|
+
export type EventInterestDayCount = {
|
|
26
|
+
date: string;
|
|
27
|
+
count: number;
|
|
28
|
+
};
|
|
29
|
+
export type EventInterestGenderAgeBandCount = {
|
|
30
|
+
gender: Gender;
|
|
31
|
+
ageBand: EventInterestAgeBand;
|
|
32
|
+
count: number;
|
|
33
|
+
};
|
|
34
|
+
export type EventInterestSummary = {
|
|
35
|
+
total: number;
|
|
36
|
+
eligible: number;
|
|
37
|
+
holders: number;
|
|
38
|
+
byGender: EventInterestCount[];
|
|
39
|
+
byAgeBand: EventInterestCount[];
|
|
40
|
+
byState: EventInterestCount[];
|
|
41
|
+
byMarket: EventInterestCount[];
|
|
42
|
+
byLanguage: EventInterestCount[];
|
|
43
|
+
bySource: EventInterestCount[];
|
|
44
|
+
byGenderAndAgeBand: EventInterestGenderAgeBandCount[];
|
|
45
|
+
byDay: EventInterestDayCount[];
|
|
46
|
+
};
|
|
@@ -39,6 +39,14 @@ export type Event = {
|
|
|
39
39
|
salesOpenAt?: string;
|
|
40
40
|
salesCloseAt?: string;
|
|
41
41
|
decisionAt?: string;
|
|
42
|
+
imageUrl?: string;
|
|
43
|
+
announced?: boolean;
|
|
44
|
+
timeframe?: EventTimeframe;
|
|
45
|
+
};
|
|
46
|
+
export type EventTimeframePeriod = "start_of_year" | "spring" | "summer" | "autumn" | "end_of_year";
|
|
47
|
+
export type EventTimeframe = {
|
|
48
|
+
period: EventTimeframePeriod;
|
|
49
|
+
year: number;
|
|
42
50
|
};
|
|
43
51
|
export type EventEligibilityInterest = "opposite_gender";
|
|
44
52
|
export type EventEligibility = {
|
|
@@ -61,20 +69,26 @@ export type EventSeats = {
|
|
|
61
69
|
male: EventSeatCount;
|
|
62
70
|
female: EventSeatCount;
|
|
63
71
|
};
|
|
64
|
-
export type EventAvailability = "scheduled" | "on_sale" | "sold_out_for_you" | "sales_closed" | "not_eligible";
|
|
72
|
+
export type EventAvailability = "announced" | "scheduled" | "on_sale" | "sold_out_for_you" | "sales_closed" | "not_eligible";
|
|
65
73
|
export type EventIneligibleReason = "outside_area" | "out_of_age_range" | "assessment_required";
|
|
66
74
|
export type EventUserOrderStatus = "none" | "pending" | "paid";
|
|
67
|
-
type EventOfferDetails = Pick<Event, "id" | "title" | "description" | "hostBrand" | "
|
|
75
|
+
type EventOfferDetails = Pick<Event, "id" | "title" | "description" | "hostBrand" | "city" | "access" | "imageUrl"> & Pick<EventEligibility, "minAge" | "maxAge"> & {
|
|
68
76
|
userOrderStatus?: EventUserOrderStatus;
|
|
69
77
|
userInterested?: boolean;
|
|
70
78
|
};
|
|
71
|
-
export type
|
|
72
|
-
availability:
|
|
79
|
+
export type AnnouncedEventOffer = EventOfferDetails & {
|
|
80
|
+
availability: "announced";
|
|
81
|
+
timeframe: EventTimeframe;
|
|
82
|
+
ineligibleReason?: Exclude<EventIneligibleReason, "assessment_required">;
|
|
83
|
+
};
|
|
84
|
+
export type DatedEventOffer = EventOfferDetails & Pick<Event, "eventDateTime" | "matchRevealTime" | "location"> & Required<Pick<Event, "priceOre" | "currency" | "salesOpenAt" | "salesCloseAt">> & ({
|
|
85
|
+
availability: Exclude<EventAvailability, "not_eligible" | "announced">;
|
|
73
86
|
ineligibleReason?: never;
|
|
74
87
|
} | {
|
|
75
88
|
availability: "not_eligible";
|
|
76
89
|
ineligibleReason: EventIneligibleReason;
|
|
77
90
|
});
|
|
91
|
+
export type EventOffer = AnnouncedEventOffer | DatedEventOffer;
|
|
78
92
|
export type EventParticipation = {
|
|
79
93
|
eventId: string;
|
|
80
94
|
userId: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ConsultationInterestStatus, DislikeReason, FeedbackAgreement, FeedbackType, Gender, LikeType, Market, ProviderType, ReportReason, Theme, UserDeletionReason } from "../enum";
|
|
2
|
+
import { EventCapacity } from "./event.types";
|
|
2
3
|
import { DeepPartial } from "./helper.types";
|
|
3
4
|
import { Answer, Demographics } from "./submission.types";
|
|
4
5
|
import { DatingPreferences, UserConsents, UserDevice, UserNotifications, UserProfile, UserSettings } from "./user.types";
|
|
@@ -73,6 +74,21 @@ export type AbandonOrderRequest = {
|
|
|
73
74
|
eventId: string;
|
|
74
75
|
};
|
|
75
76
|
export type GetEventShowcaseRequest = undefined;
|
|
77
|
+
export type GetTicketingConfigRequest = undefined;
|
|
78
|
+
export type ScheduleEventRequest = {
|
|
79
|
+
eventId: string;
|
|
80
|
+
eventDateTime: string;
|
|
81
|
+
matchRevealTime?: string;
|
|
82
|
+
location: string;
|
|
83
|
+
priceOre: number;
|
|
84
|
+
capacity?: EventCapacity;
|
|
85
|
+
salesOpenAt: string;
|
|
86
|
+
salesCloseAt: string;
|
|
87
|
+
decisionAt?: string;
|
|
88
|
+
};
|
|
89
|
+
export type GetEventInterestsRequest = {
|
|
90
|
+
eventId: string;
|
|
91
|
+
};
|
|
76
92
|
export type SubmitFeedbackRequest = {
|
|
77
93
|
message: string;
|
|
78
94
|
type: FeedbackType;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ConsultationInterest, ConsultationInterestSummary } from "./consultation.types";
|
|
2
2
|
import { Submission, CategoryEvaluation } from "./submission.types";
|
|
3
3
|
import { Event, EventOffer, FullParticipant, FullParticipantWithCS } from "./event.types";
|
|
4
|
-
import { EventInterestView } from "./event-interest.types";
|
|
4
|
+
import { EventInterestSummary, EventInterestView } from "./event-interest.types";
|
|
5
5
|
import { EventShowcase } from "./event-showcase.types";
|
|
6
|
-
import { EventOrderView } from "./ticket.types";
|
|
6
|
+
import { EventOrderView, TicketingConfig } from "./ticket.types";
|
|
7
7
|
import { UserMatch } from "./match.types";
|
|
8
8
|
import { MatchableUser, MatchCheck } from "./matchmaking.types";
|
|
9
9
|
import { Message } from "./message.types";
|
|
@@ -60,6 +60,9 @@ export type CreateCheckoutResponse = {
|
|
|
60
60
|
export type ConfirmOrderResponse = EventOrderView;
|
|
61
61
|
export type AbandonOrderResponse = void;
|
|
62
62
|
export type GetEventShowcaseResponse = EventShowcase;
|
|
63
|
+
export type GetTicketingConfigResponse = TicketingConfig;
|
|
64
|
+
export type ScheduleEventResponse = Event;
|
|
65
|
+
export type GetEventInterestsResponse = EventInterestSummary;
|
|
63
66
|
export type SubmitFeedbackResponse = undefined;
|
|
64
67
|
export type ExpressConsultationInterestResponse = ConsultationInterestSummary;
|
|
65
68
|
export type GetMyConsultationInterestResponse = ConsultationInterestSummary;
|
package/package.json
CHANGED
|
@@ -22,6 +22,9 @@ export enum CloudFunction {
|
|
|
22
22
|
CONFIRM_ORDER = "ticket/confirm",
|
|
23
23
|
ABANDON_ORDER = "ticket/abandon",
|
|
24
24
|
GET_EVENT_SHOWCASE = "event/get-event-showcase",
|
|
25
|
+
GET_TICKETING_CONFIG = "configuration/ticketing/get",
|
|
26
|
+
SCHEDULE_EVENT = "event/schedule-event",
|
|
27
|
+
GET_EVENT_INTERESTS = "event/get-event-interests",
|
|
25
28
|
SUBMIT_CATEGORY_FEEDBACK = "ca/submit-category-feedback",
|
|
26
29
|
CREATE_LIKE = "like/create-like",
|
|
27
30
|
HANDLE_LIKE_SEEN = "like/handle-like-seen",
|
|
@@ -48,6 +48,9 @@ import {
|
|
|
48
48
|
ConfirmOrderRequest,
|
|
49
49
|
AbandonOrderRequest,
|
|
50
50
|
GetEventShowcaseRequest,
|
|
51
|
+
GetTicketingConfigRequest,
|
|
52
|
+
ScheduleEventRequest,
|
|
53
|
+
GetEventInterestsRequest,
|
|
51
54
|
} from "./request.types";
|
|
52
55
|
import {
|
|
53
56
|
AddImagesResponse,
|
|
@@ -100,6 +103,9 @@ import {
|
|
|
100
103
|
ConfirmOrderResponse,
|
|
101
104
|
AbandonOrderResponse,
|
|
102
105
|
GetEventShowcaseResponse,
|
|
106
|
+
GetTicketingConfigResponse,
|
|
107
|
+
ScheduleEventResponse,
|
|
108
|
+
GetEventInterestsResponse,
|
|
103
109
|
} from "./response.types";
|
|
104
110
|
|
|
105
111
|
/**
|
|
@@ -192,6 +198,18 @@ export type CloudFunctionTypes = {
|
|
|
192
198
|
payload: GetEventShowcaseRequest;
|
|
193
199
|
response: GetEventShowcaseResponse;
|
|
194
200
|
};
|
|
201
|
+
[CloudFunction.GET_TICKETING_CONFIG]: {
|
|
202
|
+
payload: GetTicketingConfigRequest;
|
|
203
|
+
response: GetTicketingConfigResponse;
|
|
204
|
+
};
|
|
205
|
+
[CloudFunction.SCHEDULE_EVENT]: {
|
|
206
|
+
payload: ScheduleEventRequest;
|
|
207
|
+
response: ScheduleEventResponse;
|
|
208
|
+
};
|
|
209
|
+
[CloudFunction.GET_EVENT_INTERESTS]: {
|
|
210
|
+
payload: GetEventInterestsRequest;
|
|
211
|
+
response: GetEventInterestsResponse;
|
|
212
|
+
};
|
|
195
213
|
|
|
196
214
|
// feedback
|
|
197
215
|
[CloudFunction.SUBMIT_FEEDBACK]: {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Gender, Market, UserLanguage } from "../enum";
|
|
2
2
|
|
|
3
3
|
export type EventInterestSource =
|
|
4
|
+
| "announced"
|
|
4
5
|
| "scheduled"
|
|
5
6
|
| "on_sale"
|
|
6
7
|
| "sold_out"
|
|
@@ -38,3 +39,33 @@ export type EventInterestView = Pick<
|
|
|
38
39
|
EventInterest,
|
|
39
40
|
"eventId" | "createdAt" | "source"
|
|
40
41
|
>;
|
|
42
|
+
|
|
43
|
+
export type EventInterestCount = {
|
|
44
|
+
key: string;
|
|
45
|
+
count: number;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export type EventInterestDayCount = {
|
|
49
|
+
date: string;
|
|
50
|
+
count: number;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export type EventInterestGenderAgeBandCount = {
|
|
54
|
+
gender: Gender;
|
|
55
|
+
ageBand: EventInterestAgeBand;
|
|
56
|
+
count: number;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
export type EventInterestSummary = {
|
|
60
|
+
total: number;
|
|
61
|
+
eligible: number;
|
|
62
|
+
holders: number;
|
|
63
|
+
byGender: EventInterestCount[];
|
|
64
|
+
byAgeBand: EventInterestCount[];
|
|
65
|
+
byState: EventInterestCount[];
|
|
66
|
+
byMarket: EventInterestCount[];
|
|
67
|
+
byLanguage: EventInterestCount[];
|
|
68
|
+
bySource: EventInterestCount[];
|
|
69
|
+
byGenderAndAgeBand: EventInterestGenderAgeBandCount[];
|
|
70
|
+
byDay: EventInterestDayCount[];
|
|
71
|
+
};
|
package/src/types/event.types.ts
CHANGED
|
@@ -42,6 +42,21 @@ export type Event = {
|
|
|
42
42
|
salesOpenAt?: string;
|
|
43
43
|
salesCloseAt?: string;
|
|
44
44
|
decisionAt?: string;
|
|
45
|
+
imageUrl?: string;
|
|
46
|
+
announced?: boolean;
|
|
47
|
+
timeframe?: EventTimeframe;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export type EventTimeframePeriod =
|
|
51
|
+
| "start_of_year"
|
|
52
|
+
| "spring"
|
|
53
|
+
| "summer"
|
|
54
|
+
| "autumn"
|
|
55
|
+
| "end_of_year";
|
|
56
|
+
|
|
57
|
+
export type EventTimeframe = {
|
|
58
|
+
period: EventTimeframePeriod;
|
|
59
|
+
year: number;
|
|
45
60
|
};
|
|
46
61
|
|
|
47
62
|
export type EventEligibilityInterest = "opposite_gender";
|
|
@@ -72,6 +87,7 @@ export type EventSeats = {
|
|
|
72
87
|
};
|
|
73
88
|
|
|
74
89
|
export type EventAvailability =
|
|
90
|
+
| "announced"
|
|
75
91
|
| "scheduled"
|
|
76
92
|
| "on_sale"
|
|
77
93
|
| "sold_out_for_you"
|
|
@@ -87,28 +103,27 @@ export type EventUserOrderStatus = "none" | "pending" | "paid";
|
|
|
87
103
|
|
|
88
104
|
type EventOfferDetails = Pick<
|
|
89
105
|
Event,
|
|
90
|
-
| "
|
|
91
|
-
| "title"
|
|
92
|
-
| "description"
|
|
93
|
-
| "hostBrand"
|
|
94
|
-
| "eventDateTime"
|
|
95
|
-
| "matchRevealTime"
|
|
96
|
-
| "location"
|
|
97
|
-
| "city"
|
|
98
|
-
| "access"
|
|
106
|
+
"id" | "title" | "description" | "hostBrand" | "city" | "access" | "imageUrl"
|
|
99
107
|
> &
|
|
100
|
-
Required<
|
|
101
|
-
Pick<Event, "priceOre" | "currency" | "salesOpenAt" | "salesCloseAt">
|
|
102
|
-
> &
|
|
103
108
|
Pick<EventEligibility, "minAge" | "maxAge"> & {
|
|
104
109
|
userOrderStatus?: EventUserOrderStatus;
|
|
105
110
|
userInterested?: boolean;
|
|
106
111
|
};
|
|
107
112
|
|
|
108
|
-
export type
|
|
113
|
+
export type AnnouncedEventOffer = EventOfferDetails & {
|
|
114
|
+
availability: "announced";
|
|
115
|
+
timeframe: EventTimeframe;
|
|
116
|
+
ineligibleReason?: Exclude<EventIneligibleReason, "assessment_required">;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
export type DatedEventOffer = EventOfferDetails &
|
|
120
|
+
Pick<Event, "eventDateTime" | "matchRevealTime" | "location"> &
|
|
121
|
+
Required<
|
|
122
|
+
Pick<Event, "priceOre" | "currency" | "salesOpenAt" | "salesCloseAt">
|
|
123
|
+
> &
|
|
109
124
|
(
|
|
110
125
|
| {
|
|
111
|
-
availability: Exclude<EventAvailability, "not_eligible">;
|
|
126
|
+
availability: Exclude<EventAvailability, "not_eligible" | "announced">;
|
|
112
127
|
ineligibleReason?: never;
|
|
113
128
|
}
|
|
114
129
|
| {
|
|
@@ -117,6 +132,8 @@ export type EventOffer = EventOfferDetails &
|
|
|
117
132
|
}
|
|
118
133
|
);
|
|
119
134
|
|
|
135
|
+
export type EventOffer = AnnouncedEventOffer | DatedEventOffer;
|
|
136
|
+
|
|
120
137
|
export type EventParticipation = {
|
|
121
138
|
eventId: string;
|
|
122
139
|
userId: string;
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
Theme,
|
|
12
12
|
UserDeletionReason,
|
|
13
13
|
} from "../enum";
|
|
14
|
+
import { EventCapacity } from "./event.types";
|
|
14
15
|
import { DeepPartial } from "./helper.types";
|
|
15
16
|
import { Answer, Demographics } from "./submission.types";
|
|
16
17
|
import {
|
|
@@ -99,6 +100,21 @@ export type AbandonOrderRequest = {
|
|
|
99
100
|
eventId: string;
|
|
100
101
|
};
|
|
101
102
|
export type GetEventShowcaseRequest = undefined;
|
|
103
|
+
export type GetTicketingConfigRequest = undefined;
|
|
104
|
+
export type ScheduleEventRequest = {
|
|
105
|
+
eventId: string;
|
|
106
|
+
eventDateTime: string;
|
|
107
|
+
matchRevealTime?: string;
|
|
108
|
+
location: string;
|
|
109
|
+
priceOre: number;
|
|
110
|
+
capacity?: EventCapacity;
|
|
111
|
+
salesOpenAt: string;
|
|
112
|
+
salesCloseAt: string;
|
|
113
|
+
decisionAt?: string;
|
|
114
|
+
};
|
|
115
|
+
export type GetEventInterestsRequest = {
|
|
116
|
+
eventId: string;
|
|
117
|
+
};
|
|
102
118
|
|
|
103
119
|
// feedback
|
|
104
120
|
export type SubmitFeedbackRequest = {
|
|
@@ -9,9 +9,12 @@ import {
|
|
|
9
9
|
FullParticipant,
|
|
10
10
|
FullParticipantWithCS,
|
|
11
11
|
} from "./event.types";
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
EventInterestSummary,
|
|
14
|
+
EventInterestView,
|
|
15
|
+
} from "./event-interest.types";
|
|
13
16
|
import { EventShowcase } from "./event-showcase.types";
|
|
14
|
-
import { EventOrderView } from "./ticket.types";
|
|
17
|
+
import { EventOrderView, TicketingConfig } from "./ticket.types";
|
|
15
18
|
import { UserMatch } from "./match.types";
|
|
16
19
|
import { MatchableUser, MatchCheck } from "./matchmaking.types";
|
|
17
20
|
import { Message } from "./message.types";
|
|
@@ -79,6 +82,9 @@ export type CreateCheckoutResponse = {
|
|
|
79
82
|
export type ConfirmOrderResponse = EventOrderView;
|
|
80
83
|
export type AbandonOrderResponse = void;
|
|
81
84
|
export type GetEventShowcaseResponse = EventShowcase;
|
|
85
|
+
export type GetTicketingConfigResponse = TicketingConfig;
|
|
86
|
+
export type ScheduleEventResponse = Event;
|
|
87
|
+
export type GetEventInterestsResponse = EventInterestSummary;
|
|
82
88
|
|
|
83
89
|
// feedback
|
|
84
90
|
export type SubmitFeedbackResponse = undefined;
|