@koloseum/types 0.3.5 → 0.3.7
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/database-generated.d.ts +1029 -149
- package/dist/database.d.ts +141 -1
- package/dist/external/suprsend.d.ts +91 -51
- package/dist/external/twilio.d.ts +16 -0
- package/dist/players/sessions.d.ts +230 -0
- package/dist/public/auth.d.ts +21 -0
- package/package.json +5 -2
package/dist/database.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Database as DatabaseGenerated } from "./database-generated.js";
|
|
2
2
|
import type { AccountType, DataUpdateRequestStatus, PhoneOTPRequestStatus, PhoneOTPSendCodeAttempt } from "./general.js";
|
|
3
|
-
import type { BranchAddressObject, BranchAmenitiesObject, CompanyInformationUpdateJson, CompanyInformationUpdateRequestJson, CompanyVerificationDataObject, GamingSocialsDataObject, GenderIdentity, Institution, InstitutionNameIssue, MinorRelation, PersonVerificationLogDataObject, PersonalDataUpdateJson, PersonalDataUpdateRequestJson, PlayerRegistrationStep, PronounsItem, RegistrationCheckObject, RegistrationStep, Sex, SocialMediaPlatform } from "./public/auth.js";
|
|
3
|
+
import type { ActiveLounge, ActivePlayer, BranchAddressObject, BranchAmenitiesObject, CompanyInformationUpdateJson, CompanyInformationUpdateRequestJson, CompanyVerificationDataObject, GamingSocialsDataObject, GenderIdentity, Institution, InstitutionNameIssue, MinorRelation, PersonVerificationLogDataObject, PersonalDataUpdateJson, PersonalDataUpdateRequestJson, PlayerRegistrationStep, PronounsItem, RegistrationCheckObject, RegistrationStep, Sex, SocialMediaPlatform } from "./public/auth.js";
|
|
4
4
|
import type { TournamentMetadata } from "./players/competitions.js";
|
|
5
|
+
import type { CurrentSession, LoungeBranchData, LoungeBranchGame, LoungeBranchStation, LoungeBranchWithOpenStatus, LoungeWithBranches, LuggageSlotParam, MinorRepSessionConsentContext, PastSession, PendingSessionInvite, SessionBillCostSnapshot, SessionBillData, SessionData, SessionMemberStatus, SessionStartData } from "./players/sessions.js";
|
|
5
6
|
import { MergeDeep } from "type-fest";
|
|
6
7
|
export type Database = MergeDeep<DatabaseGenerated, {
|
|
7
8
|
competitions: {
|
|
@@ -312,6 +313,14 @@ export type Database = MergeDeep<DatabaseGenerated, {
|
|
|
312
313
|
p_created_at?: Date;
|
|
313
314
|
};
|
|
314
315
|
};
|
|
316
|
+
render_pronouns: {
|
|
317
|
+
Args: {
|
|
318
|
+
p_pronouns: PronounsItem[];
|
|
319
|
+
p_sex: Sex;
|
|
320
|
+
p_show_pronouns: boolean;
|
|
321
|
+
};
|
|
322
|
+
Returns: PronounsItem[];
|
|
323
|
+
};
|
|
315
324
|
search_players: {
|
|
316
325
|
Returns: {
|
|
317
326
|
id: string;
|
|
@@ -360,5 +369,136 @@ export type Database = MergeDeep<DatabaseGenerated, {
|
|
|
360
369
|
Update: Institution;
|
|
361
370
|
};
|
|
362
371
|
};
|
|
372
|
+
Functions: {
|
|
373
|
+
search_active_lounges: {
|
|
374
|
+
Returns: ActiveLounge[];
|
|
375
|
+
};
|
|
376
|
+
search_active_players: {
|
|
377
|
+
Returns: ActivePlayer[];
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
};
|
|
381
|
+
sessions: {
|
|
382
|
+
Functions: {
|
|
383
|
+
accept_session_invite: {
|
|
384
|
+
Returns: {
|
|
385
|
+
session_id: string;
|
|
386
|
+
needs_minor_rep_consent: boolean;
|
|
387
|
+
};
|
|
388
|
+
};
|
|
389
|
+
add_eatery_cart_item: {
|
|
390
|
+
Args: {
|
|
391
|
+
p_item_id: string;
|
|
392
|
+
p_item_snapshot: Record<string, unknown>;
|
|
393
|
+
p_quantity: number;
|
|
394
|
+
p_session_id: string;
|
|
395
|
+
p_unit_price_cents: number;
|
|
396
|
+
};
|
|
397
|
+
};
|
|
398
|
+
cancel_pending_session: {
|
|
399
|
+
Returns: string | null;
|
|
400
|
+
};
|
|
401
|
+
compute_final_session_cost: {
|
|
402
|
+
Returns: number;
|
|
403
|
+
};
|
|
404
|
+
compute_session_bill_cost: {
|
|
405
|
+
Returns: SessionBillCostSnapshot;
|
|
406
|
+
};
|
|
407
|
+
create_session: {
|
|
408
|
+
Args: {
|
|
409
|
+
p_discount_id?: string;
|
|
410
|
+
p_games_consoles_id: string;
|
|
411
|
+
p_invited_luggage_slots?: (LuggageSlotParam | null)[];
|
|
412
|
+
p_invited_player_ids?: string[];
|
|
413
|
+
p_is_reservation?: boolean;
|
|
414
|
+
p_lounge_branch_id: string;
|
|
415
|
+
p_luggage_slot?: LuggageSlotParam | null;
|
|
416
|
+
p_option_id: string;
|
|
417
|
+
p_station_id: string;
|
|
418
|
+
p_units?: number;
|
|
419
|
+
};
|
|
420
|
+
};
|
|
421
|
+
get_current_session: {
|
|
422
|
+
Returns: CurrentSession;
|
|
423
|
+
};
|
|
424
|
+
get_lounge_branches_with_open_status: {
|
|
425
|
+
Returns: LoungeBranchWithOpenStatus[];
|
|
426
|
+
};
|
|
427
|
+
get_lounge_branch_data: {
|
|
428
|
+
Returns: LoungeBranchData;
|
|
429
|
+
};
|
|
430
|
+
get_lounge_branch_games: {
|
|
431
|
+
Returns: LoungeBranchGame[];
|
|
432
|
+
};
|
|
433
|
+
get_lounge_branch_stations: {
|
|
434
|
+
Returns: LoungeBranchStation[];
|
|
435
|
+
};
|
|
436
|
+
get_lounge_with_branches: {
|
|
437
|
+
Returns: LoungeWithBranches;
|
|
438
|
+
};
|
|
439
|
+
get_minor_rep_consent_context_for_session: {
|
|
440
|
+
Returns: MinorRepSessionConsentContext;
|
|
441
|
+
};
|
|
442
|
+
get_past_sessions: {
|
|
443
|
+
Returns: PastSession[];
|
|
444
|
+
};
|
|
445
|
+
get_pending_invite_for_current_player: {
|
|
446
|
+
Returns: PendingSessionInvite;
|
|
447
|
+
};
|
|
448
|
+
get_session_bill_data: {
|
|
449
|
+
Returns: SessionBillData;
|
|
450
|
+
};
|
|
451
|
+
get_session_data: {
|
|
452
|
+
Returns: SessionData;
|
|
453
|
+
};
|
|
454
|
+
get_session_start_data: {
|
|
455
|
+
Returns: SessionStartData;
|
|
456
|
+
};
|
|
457
|
+
invite_players_to_session: {
|
|
458
|
+
Args: {
|
|
459
|
+
p_capacity?: number;
|
|
460
|
+
p_players: {
|
|
461
|
+
player_id: string;
|
|
462
|
+
luggage_slots: LuggageSlotParam[];
|
|
463
|
+
}[];
|
|
464
|
+
p_session_id: string;
|
|
465
|
+
p_station_id?: string;
|
|
466
|
+
};
|
|
467
|
+
};
|
|
468
|
+
is_game_available_for_session: {
|
|
469
|
+
Returns: {
|
|
470
|
+
code: number;
|
|
471
|
+
is_available: boolean;
|
|
472
|
+
reason: string | null;
|
|
473
|
+
};
|
|
474
|
+
};
|
|
475
|
+
is_station_available_for_session: {
|
|
476
|
+
Returns: {
|
|
477
|
+
code: number;
|
|
478
|
+
is_available: boolean;
|
|
479
|
+
reason: string | null;
|
|
480
|
+
};
|
|
481
|
+
};
|
|
482
|
+
is_reservation_available_at_lounge_branch: {
|
|
483
|
+
Returns: {
|
|
484
|
+
code: number;
|
|
485
|
+
is_available: boolean;
|
|
486
|
+
reason: string | null;
|
|
487
|
+
};
|
|
488
|
+
};
|
|
489
|
+
is_session_member: {
|
|
490
|
+
Args: {
|
|
491
|
+
p_member_statuses?: SessionMemberStatus[];
|
|
492
|
+
p_session_id: string;
|
|
493
|
+
};
|
|
494
|
+
};
|
|
495
|
+
request_change_for_session: {
|
|
496
|
+
Returns: {
|
|
497
|
+
session_id: string;
|
|
498
|
+
station_request_id: string | null;
|
|
499
|
+
game_request_id: string | null;
|
|
500
|
+
};
|
|
501
|
+
};
|
|
502
|
+
};
|
|
363
503
|
};
|
|
364
504
|
}>;
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Notification body for SuprSend workflow.
|
|
2
|
+
* Notification body for SuprSend workflow.
|
|
3
3
|
* - `delay` is the time delay after which the first notification will be sent
|
|
4
4
|
* - `trigger_at` is the date string in ISO 8601 to trigger scheduled notifications
|
|
5
|
-
* - `users` is the array of users to send the notification to
|
|
6
|
-
* - `users[i]
|
|
7
|
-
* - `
|
|
8
|
-
* - `
|
|
9
|
-
* - `users[i].$whatsapp` is the WhatsApp number to send the notification to
|
|
10
|
-
* - `delivery` is the delivery instruction for the notification, dictating how should notifications be sent and the success metric
|
|
11
|
-
* - `delivery.time_to_live` and `delivery.mandatory_channels` will only be applicable if `delivery.smart` is true
|
|
12
|
-
* - `data` is the data for the notification, can be any JSON
|
|
5
|
+
* - `users` is the array of users to send the notification to (legacy shape; API uses `recipients`)
|
|
6
|
+
* - `users[i]` / recipients: use WorkflowRecipient for type-safe construction
|
|
7
|
+
* - `delivery` is the delivery instruction for the notification
|
|
8
|
+
* - `data` is the variable data for the notification template
|
|
13
9
|
* @see https://docs.suprsend.com/docs/node-trigger-workflow-from-api#dynamic-workflow-trigger
|
|
14
10
|
*/
|
|
15
11
|
export interface WorkflowBody {
|
|
@@ -18,52 +14,96 @@ export interface WorkflowBody {
|
|
|
18
14
|
notification_category: "transactional" | "promotional" | "system";
|
|
19
15
|
delay?: string;
|
|
20
16
|
trigger_at?: string;
|
|
21
|
-
users:
|
|
22
|
-
distinct_id: string;
|
|
23
|
-
$channels?: string[];
|
|
24
|
-
$email?: string[];
|
|
25
|
-
$whatsapp?: string[];
|
|
26
|
-
$sms?: string[];
|
|
27
|
-
$androidpush?: {
|
|
28
|
-
token: string;
|
|
29
|
-
provider: string;
|
|
30
|
-
device_id: string;
|
|
31
|
-
}[];
|
|
32
|
-
$iospush?: {
|
|
33
|
-
token: string;
|
|
34
|
-
provider: string;
|
|
35
|
-
device_id: string;
|
|
36
|
-
}[];
|
|
37
|
-
$slack?: {
|
|
38
|
-
email?: string;
|
|
39
|
-
access_token: string;
|
|
40
|
-
} | {
|
|
41
|
-
user_id?: string;
|
|
42
|
-
access_token: string;
|
|
43
|
-
} | {
|
|
44
|
-
channel?: string;
|
|
45
|
-
access_token: string;
|
|
46
|
-
} | {
|
|
47
|
-
incoming_webhook: {
|
|
48
|
-
url: string;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
$ms_teams?: {
|
|
52
|
-
tenant_id: string;
|
|
53
|
-
service_url: string;
|
|
54
|
-
conversation_id?: string;
|
|
55
|
-
user_id?: string;
|
|
56
|
-
} | {
|
|
57
|
-
incoming_webhook: {
|
|
58
|
-
url: string;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
}[];
|
|
17
|
+
users: WorkflowRecipient[];
|
|
62
18
|
delivery?: {
|
|
63
19
|
smart: boolean;
|
|
64
20
|
success: string;
|
|
65
21
|
time_to_live?: string;
|
|
66
22
|
mandatory_channels?: string[];
|
|
67
23
|
};
|
|
68
|
-
data?: Record<string,
|
|
24
|
+
data?: Record<string, unknown>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* One recipient in a SuprSend workflow trigger.
|
|
28
|
+
* - each item is either a user recipient (WorkflowUserRecipient) or an object recipient (WorkflowObjectRecipient)
|
|
29
|
+
* - used in the `recipients` array of the workflow trigger body (SuprSend API uses `recipients`; this codebase may alias as `users`)
|
|
30
|
+
* - custom properties on the recipient are available in templates as `$recipient.<property>`
|
|
31
|
+
* @see https://docs.suprsend.com/docs/node-trigger-workflow-from-api#identifying-recipients-inline
|
|
32
|
+
*/
|
|
33
|
+
export type WorkflowRecipient = WorkflowUserRecipient | WorkflowObjectRecipient;
|
|
34
|
+
/**
|
|
35
|
+
* User recipient in a SuprSend workflow trigger.
|
|
36
|
+
* - `distinct_id` is the unique identifier of the user (e.g. platform user id)
|
|
37
|
+
* - `$channels` is the array of channels to send the notification to (email, sms, inbox, androidpush, iospush, slack, ms_teams, webpush, whatsapp)
|
|
38
|
+
* - `$email` is the array of email addresses to send the notification to
|
|
39
|
+
* - `$sms` is the array of phone numbers for SMS
|
|
40
|
+
* - `$whatsapp` is the array of WhatsApp numbers
|
|
41
|
+
* - `$preferred_language` is the recipient language (ISO 639-1 2-letter) for localisation
|
|
42
|
+
* - `$timezone` is the recipient timezone (IANA TZ identifier) for local-time delivery
|
|
43
|
+
* - `$skip_create` when true, do not auto-create the user in SuprSend (use when the user is already synced, e.g. from DB triggers)
|
|
44
|
+
* - additional keys are custom properties and are available in templates as `$recipient.<key>`
|
|
45
|
+
* @see https://docs.suprsend.com/docs/node-trigger-workflow-from-api#identifying-recipients-inline
|
|
46
|
+
*/
|
|
47
|
+
export interface WorkflowUserRecipient {
|
|
48
|
+
distinct_id: string;
|
|
49
|
+
$channels?: string[];
|
|
50
|
+
$email?: string[];
|
|
51
|
+
$sms?: string[];
|
|
52
|
+
$whatsapp?: string[];
|
|
53
|
+
$preferred_language?: string;
|
|
54
|
+
$timezone?: string;
|
|
55
|
+
$skip_create?: boolean;
|
|
56
|
+
$androidpush?: {
|
|
57
|
+
token: string;
|
|
58
|
+
provider: string;
|
|
59
|
+
device_id: string;
|
|
60
|
+
}[];
|
|
61
|
+
$iospush?: {
|
|
62
|
+
token: string;
|
|
63
|
+
provider: string;
|
|
64
|
+
device_id: string;
|
|
65
|
+
}[];
|
|
66
|
+
$slack?: {
|
|
67
|
+
email?: string;
|
|
68
|
+
access_token: string;
|
|
69
|
+
} | {
|
|
70
|
+
user_id?: string;
|
|
71
|
+
access_token: string;
|
|
72
|
+
} | {
|
|
73
|
+
channel?: string;
|
|
74
|
+
access_token: string;
|
|
75
|
+
} | {
|
|
76
|
+
incoming_webhook: {
|
|
77
|
+
url: string;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
$ms_teams?: {
|
|
81
|
+
tenant_id: string;
|
|
82
|
+
service_url: string;
|
|
83
|
+
conversation_id?: string;
|
|
84
|
+
user_id?: string;
|
|
85
|
+
} | {
|
|
86
|
+
incoming_webhook: {
|
|
87
|
+
url: string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
[key: string]: string | string[] | boolean | number | object | undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Object recipient in a SuprSend workflow trigger (non-user entity, e.g. team, channel, shared inbox). Points to note:
|
|
94
|
+
* - `object_type` is the type of the object (e.g. teams, departments)
|
|
95
|
+
* - `id` is the unique identifier of the object within that type
|
|
96
|
+
* - `$skip_create` when true, do not auto-create the object in SuprSend
|
|
97
|
+
* - `$email` is the array of email addresses for the object (e.g. shared inbox)
|
|
98
|
+
* - `$channels` is the array of channels to send the notification to
|
|
99
|
+
* - additional keys are custom properties and are available in templates as `$recipient.<key>`
|
|
100
|
+
* @see https://docs.suprsend.com/docs/node-trigger-workflow-from-api#identifying-recipients-inline
|
|
101
|
+
*/
|
|
102
|
+
export interface WorkflowObjectRecipient {
|
|
103
|
+
object_type: string;
|
|
104
|
+
id: string;
|
|
105
|
+
$skip_create?: boolean;
|
|
106
|
+
$email?: string[];
|
|
107
|
+
$channels?: string[];
|
|
108
|
+
[key: string]: string | string[] | boolean | number | object | undefined;
|
|
69
109
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PhoneOTPSendCodeAttempt } from "../general.js";
|
|
2
|
+
export interface TwilioRequestOtpResponse {
|
|
3
|
+
sid: string;
|
|
4
|
+
to: string;
|
|
5
|
+
status: string;
|
|
6
|
+
sendCodeAttempts: PhoneOTPSendCodeAttempt[];
|
|
7
|
+
dateCreated: string;
|
|
8
|
+
dateUpdated: string;
|
|
9
|
+
}
|
|
10
|
+
export interface TwilioVerifyOtpResponse {
|
|
11
|
+
sid: string;
|
|
12
|
+
to: string;
|
|
13
|
+
status: string;
|
|
14
|
+
dateCreated: string;
|
|
15
|
+
dateUpdated: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import type { Database } from "../database-generated.js";
|
|
2
|
+
import type { BranchAddressObject, BranchAmenitiesObject } from "../public/auth.js";
|
|
3
|
+
export interface AvailableLuggageSlot {
|
|
4
|
+
id: string;
|
|
5
|
+
slot_label: string;
|
|
6
|
+
quantity: number;
|
|
7
|
+
available_quantity: number;
|
|
8
|
+
}
|
|
9
|
+
export interface CurrentSession {
|
|
10
|
+
id: string;
|
|
11
|
+
status: SessionStatus;
|
|
12
|
+
lounge_branch_id: string;
|
|
13
|
+
lounge_id: string;
|
|
14
|
+
branch_name: string;
|
|
15
|
+
started_at: string;
|
|
16
|
+
checkout_requested_at: string | null;
|
|
17
|
+
}
|
|
18
|
+
export interface LuggageSlotParam {
|
|
19
|
+
id: string;
|
|
20
|
+
quantity: number;
|
|
21
|
+
}
|
|
22
|
+
export interface MinorRepSessionConsentContext {
|
|
23
|
+
session_role: SessionRole;
|
|
24
|
+
session_created_at: string;
|
|
25
|
+
minor_rep_phone: string | null;
|
|
26
|
+
otp_sent_at: string | null;
|
|
27
|
+
verified_at: string | null;
|
|
28
|
+
}
|
|
29
|
+
export interface PastSession {
|
|
30
|
+
id: string;
|
|
31
|
+
status: SessionStatus;
|
|
32
|
+
lounge_branch_id: string;
|
|
33
|
+
lounge_id: string;
|
|
34
|
+
branch_name: string;
|
|
35
|
+
started_at: string | null;
|
|
36
|
+
ended_at: string | null;
|
|
37
|
+
cancelled_at: string | null;
|
|
38
|
+
duration_text: string | null;
|
|
39
|
+
}
|
|
40
|
+
export interface PendingSessionInvite {
|
|
41
|
+
player_id: string;
|
|
42
|
+
inviter_player_id: string;
|
|
43
|
+
member_id: string;
|
|
44
|
+
member_created_at: string;
|
|
45
|
+
minor_rep_phone: string | null;
|
|
46
|
+
session_status: SessionStatus;
|
|
47
|
+
started_at: string;
|
|
48
|
+
}
|
|
49
|
+
export type PlayerSession = Database["sessions"]["Tables"]["player_sessions"]["Row"];
|
|
50
|
+
export type PlayerSessionAssistanceRequest = Database["sessions"]["Tables"]["player_session_assistance_requests"]["Row"];
|
|
51
|
+
export type PlayerSessionBill = Database["sessions"]["Tables"]["player_session_bills"]["Row"];
|
|
52
|
+
export type PlayerSessionEateryCart = Database["sessions"]["Tables"]["player_session_eatery_cart"]["Row"];
|
|
53
|
+
export type PlayerSessionEateryCartItem = Database["sessions"]["Tables"]["player_session_eatery_cart_items"]["Row"];
|
|
54
|
+
export type PlayerSessionEateryOrder = Database["sessions"]["Tables"]["player_session_eatery_orders"]["Row"] & {
|
|
55
|
+
items: PlayerSessionEateryOrderItem[];
|
|
56
|
+
};
|
|
57
|
+
export type PlayerSessionEateryOrderItem = Database["sessions"]["Tables"]["player_session_eatery_order_items"]["Row"];
|
|
58
|
+
export type PlayerSessionGame = Database["sessions"]["Tables"]["player_session_games"]["Row"];
|
|
59
|
+
export type PlayerSessionMember = Database["sessions"]["Tables"]["player_session_members"]["Row"];
|
|
60
|
+
export type PlayerSessionRatings = Database["sessions"]["Tables"]["player_session_ratings"]["Row"];
|
|
61
|
+
export type PlayerSessionsRegularPreferences = Database["sessions"]["Tables"]["player_sessions_regular_preferences"]["Row"];
|
|
62
|
+
export type PlayerSessionStation = Database["sessions"]["Tables"]["player_session_stations"]["Row"];
|
|
63
|
+
export type SessionBillCostSnapshot = {
|
|
64
|
+
base_cents: number;
|
|
65
|
+
final_cents: number;
|
|
66
|
+
discount_applied: ({
|
|
67
|
+
name: string;
|
|
68
|
+
} & (({
|
|
69
|
+
type: "regular";
|
|
70
|
+
} & ({
|
|
71
|
+
amount_cents: number;
|
|
72
|
+
percentage: null;
|
|
73
|
+
} | {
|
|
74
|
+
amount_cents: null;
|
|
75
|
+
percentage: number;
|
|
76
|
+
})) | {
|
|
77
|
+
type: "incremental_time";
|
|
78
|
+
percentage: number;
|
|
79
|
+
})) | null;
|
|
80
|
+
duration_minutes?: number;
|
|
81
|
+
units?: number;
|
|
82
|
+
};
|
|
83
|
+
export interface SessionBillData {
|
|
84
|
+
bill_type: SessionBillType;
|
|
85
|
+
option_id: string;
|
|
86
|
+
station_id: string;
|
|
87
|
+
games_consoles_id: string;
|
|
88
|
+
station_number: string;
|
|
89
|
+
console_name: string;
|
|
90
|
+
game_name: string;
|
|
91
|
+
}
|
|
92
|
+
export type SessionBillType = Database["sessions"]["Enums"]["session_bill_type"];
|
|
93
|
+
export interface SessionData {
|
|
94
|
+
session: PlayerSession & {
|
|
95
|
+
bill_type: SessionBillType;
|
|
96
|
+
members: SessionDataMember[];
|
|
97
|
+
stations: PlayerSessionStation[];
|
|
98
|
+
games: PlayerSessionGame[];
|
|
99
|
+
bills: PlayerSessionBill[];
|
|
100
|
+
assistance_requests: PlayerSessionAssistanceRequest[];
|
|
101
|
+
eatery: {
|
|
102
|
+
cart: (PlayerSessionEateryCart & {
|
|
103
|
+
items: PlayerSessionEateryCartItem[];
|
|
104
|
+
}) | null;
|
|
105
|
+
orders: PlayerSessionEateryOrder[];
|
|
106
|
+
} | null;
|
|
107
|
+
ratings: PlayerSessionRatings | null;
|
|
108
|
+
};
|
|
109
|
+
branch: {
|
|
110
|
+
info: LoungeBranch;
|
|
111
|
+
stations: LoungeBranchStation[];
|
|
112
|
+
games: LoungeBranchGame[];
|
|
113
|
+
session_bill_options: LoungeBranchSessionBillOption[];
|
|
114
|
+
payment_options: LoungeBranchPaymentOption[];
|
|
115
|
+
available_luggage_slots: AvailableLuggageSlot[];
|
|
116
|
+
eatery: {
|
|
117
|
+
categories: LoungeBranchEateryCategory[];
|
|
118
|
+
items: LoungeBranchEateryItem[];
|
|
119
|
+
} | null;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export type SessionDataMember = PlayerSessionMember & {
|
|
123
|
+
name: string;
|
|
124
|
+
luggage_slots: SessionMemberLuggageSlot[];
|
|
125
|
+
};
|
|
126
|
+
export type SessionEateryOrderStatus = Database["sessions"]["Enums"]["session_eatery_order_status"];
|
|
127
|
+
export type SessionLuggageSlotStatus = Database["sessions"]["Enums"]["session_luggage_slot_status"];
|
|
128
|
+
export type SessionMemberLuggageSlot = Database["sessions"]["Tables"]["player_session_luggage_slots"]["Row"] & {
|
|
129
|
+
slot_label: string;
|
|
130
|
+
};
|
|
131
|
+
export type SessionMemberStatus = Database["sessions"]["Enums"]["session_member_status"];
|
|
132
|
+
export type SessionRole = "owner" | "invited";
|
|
133
|
+
export interface SessionStartData {
|
|
134
|
+
branch: LoungeBranch;
|
|
135
|
+
open_status: LoungeBranchOpenStatus | null;
|
|
136
|
+
opening_times: LoungeBranchOpeningTime[];
|
|
137
|
+
stations: LoungeBranchStation[];
|
|
138
|
+
games: LoungeBranchGame[];
|
|
139
|
+
session_bill_options: LoungeBranchSessionBillOption[];
|
|
140
|
+
payment_options: LoungeBranchPaymentOption[];
|
|
141
|
+
available_luggage_slots: AvailableLuggageSlot[] | null;
|
|
142
|
+
average_rating: number | null;
|
|
143
|
+
is_regular: boolean;
|
|
144
|
+
regular_preferences: PlayerSessionsRegularPreferences | null;
|
|
145
|
+
reservation_available: boolean;
|
|
146
|
+
reservation_reason: string | null;
|
|
147
|
+
}
|
|
148
|
+
export type SessionStatus = Database["sessions"]["Enums"]["session_status"];
|
|
149
|
+
export interface LoungeBranch {
|
|
150
|
+
id: string;
|
|
151
|
+
lounge_id: string;
|
|
152
|
+
name: string;
|
|
153
|
+
address: BranchAddressObject;
|
|
154
|
+
amenities: BranchAmenitiesObject | null;
|
|
155
|
+
phone: string;
|
|
156
|
+
email: string | null;
|
|
157
|
+
}
|
|
158
|
+
export interface LoungeBranchData {
|
|
159
|
+
info: LoungeBranch;
|
|
160
|
+
opening_times: LoungeBranchOpeningTime[];
|
|
161
|
+
open_status: LoungeBranchOpenStatus | null;
|
|
162
|
+
stations: LoungeBranchStation[];
|
|
163
|
+
games: LoungeBranchGame[];
|
|
164
|
+
session_bill_options: LoungeBranchSessionBillOption[];
|
|
165
|
+
payment_options: LoungeBranchPaymentOption[];
|
|
166
|
+
average_rating: number | null;
|
|
167
|
+
}
|
|
168
|
+
export type LoungeBranchEateryCategory = Database["sessions"]["Tables"]["lounge_branch_eatery_categories"]["Row"];
|
|
169
|
+
export type LoungeBranchEateryItem = Database["sessions"]["Tables"]["lounge_branch_eatery_items"]["Row"];
|
|
170
|
+
export type LoungeBranchGame = {
|
|
171
|
+
game_id: string;
|
|
172
|
+
name: string;
|
|
173
|
+
cover_url: string | null;
|
|
174
|
+
consoles: {
|
|
175
|
+
id: string;
|
|
176
|
+
name: string;
|
|
177
|
+
abbreviation: string | null;
|
|
178
|
+
quantity: number;
|
|
179
|
+
games_consoles_id: string;
|
|
180
|
+
}[];
|
|
181
|
+
};
|
|
182
|
+
export type LoungeBranchOpenStatus = Database["sessions"]["Tables"]["lounge_branch_open_status"]["Row"];
|
|
183
|
+
export interface LoungeBranchOpeningTime {
|
|
184
|
+
day_of_week: number;
|
|
185
|
+
start_time: string;
|
|
186
|
+
end_time: string;
|
|
187
|
+
}
|
|
188
|
+
export type LoungeBranchPaymentOption = Database["sessions"]["Tables"]["lounge_branch_payment_options"]["Row"];
|
|
189
|
+
export type LoungeBranchSessionBillOption = {
|
|
190
|
+
id: string;
|
|
191
|
+
lounge_branch_id: string;
|
|
192
|
+
amount_cents: number;
|
|
193
|
+
created_at: string;
|
|
194
|
+
updated_at: string;
|
|
195
|
+
} & ({
|
|
196
|
+
bill_type: "time";
|
|
197
|
+
station_id: string;
|
|
198
|
+
billing_interval_minutes: number;
|
|
199
|
+
} | {
|
|
200
|
+
bill_type: "unit";
|
|
201
|
+
games_consoles_id: string;
|
|
202
|
+
unit_label: string;
|
|
203
|
+
});
|
|
204
|
+
export type LoungeBranchStation = {
|
|
205
|
+
id: string;
|
|
206
|
+
name: string;
|
|
207
|
+
number: string;
|
|
208
|
+
capacity: number;
|
|
209
|
+
console_name: string;
|
|
210
|
+
console_abbreviation: string | null;
|
|
211
|
+
online_play: boolean;
|
|
212
|
+
special_controllers: string | null;
|
|
213
|
+
};
|
|
214
|
+
export interface LoungeWithBranches {
|
|
215
|
+
lounge: {
|
|
216
|
+
id: string;
|
|
217
|
+
company_name: string;
|
|
218
|
+
trade_name: string | null;
|
|
219
|
+
registration_date: string;
|
|
220
|
+
phone: string;
|
|
221
|
+
email: string | null;
|
|
222
|
+
website: string | null;
|
|
223
|
+
created_at: string;
|
|
224
|
+
};
|
|
225
|
+
branches: LoungeBranchWithOpenStatus[];
|
|
226
|
+
}
|
|
227
|
+
export interface LoungeBranchWithOpenStatus extends LoungeBranch {
|
|
228
|
+
is_open: boolean;
|
|
229
|
+
opening_times: LoungeBranchOpeningTime[];
|
|
230
|
+
}
|
package/dist/public/auth.d.ts
CHANGED
|
@@ -17,6 +17,17 @@ export interface RegistrationStepObject<AccountType> {
|
|
|
17
17
|
title: string;
|
|
18
18
|
caption: string;
|
|
19
19
|
}
|
|
20
|
+
export interface ActivePlayer {
|
|
21
|
+
id: string;
|
|
22
|
+
first_name: string;
|
|
23
|
+
middle_names: string | null;
|
|
24
|
+
last_name: string;
|
|
25
|
+
pseudonym: string | null;
|
|
26
|
+
birth_date: string | null;
|
|
27
|
+
nationality: string;
|
|
28
|
+
pronouns: PronounsItem[];
|
|
29
|
+
created_at: string;
|
|
30
|
+
}
|
|
20
31
|
export type PhoneOTPData = PhoneOTPDataGeneral & {
|
|
21
32
|
existingMinorRepData?: ExistingMinorRepDataObject;
|
|
22
33
|
};
|
|
@@ -189,6 +200,16 @@ export interface GamingSocialsDataObject {
|
|
|
189
200
|
handle: string;
|
|
190
201
|
}[];
|
|
191
202
|
}
|
|
203
|
+
export interface ActiveLounge {
|
|
204
|
+
id: string;
|
|
205
|
+
name: string;
|
|
206
|
+
registration_date: string;
|
|
207
|
+
phone: string;
|
|
208
|
+
email: string | null;
|
|
209
|
+
website: string | null;
|
|
210
|
+
average_rating: number | null;
|
|
211
|
+
created_at: string;
|
|
212
|
+
}
|
|
192
213
|
export interface CompanyDataObject {
|
|
193
214
|
companyNumber: string;
|
|
194
215
|
countryCode: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koloseum/types",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.7",
|
|
4
4
|
"author": "Koloseum Technologies Limited",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Type definitions for use across web apps (TypeScript)",
|
|
@@ -19,8 +19,11 @@
|
|
|
19
19
|
"./database": "./dist/database.d.ts",
|
|
20
20
|
"./database-generated": "./dist/database-generated.d.ts",
|
|
21
21
|
"./general": "./dist/general.d.ts",
|
|
22
|
+
"./external/suprsend": "./dist/external/suprsend.d.ts",
|
|
23
|
+
"./external/twilio": "./dist/external/twilio.d.ts",
|
|
22
24
|
"./public/auth": "./dist/public/auth.d.ts",
|
|
23
|
-
"./players/competitions": "./dist/players/competitions.d.ts"
|
|
25
|
+
"./players/competitions": "./dist/players/competitions.d.ts",
|
|
26
|
+
"./players/sessions": "./dist/players/sessions.d.ts"
|
|
24
27
|
},
|
|
25
28
|
"files": [
|
|
26
29
|
"./dist/**/*.d.ts"
|