@drttix/drt-sdk 1.5.0 → 2.0.0
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/README.md +36 -0
- package/dist/cjs/src/functions/sdkConfig.d.ts +37 -2
- package/dist/cjs/src/functions/sdkConfig.js +37 -3
- package/dist/cjs/src/generated/portal/core/OpenAPI.js +1 -1
- package/dist/cjs/src/generated/portal/core/request.js +4 -0
- package/dist/cjs/src/generated/portal/index.d.ts +3 -0
- package/dist/cjs/src/generated/portal/index.js +4 -2
- package/dist/cjs/src/generated/portal/models/AddSessionSeatResponseDto.d.ts +7 -0
- package/dist/cjs/src/generated/portal/models/AddSessionSeatResponseDto.js +2 -0
- package/dist/cjs/src/generated/portal/models/OrderRecalculateRequestDto.d.ts +4 -0
- package/dist/cjs/src/generated/portal/models/SessionSeatRefDto.d.ts +4 -0
- package/dist/cjs/src/generated/portal/models/SessionSeatRefDto.js +2 -0
- package/dist/cjs/src/generated/portal/models/ShowBlockedSeatResponseDto.d.ts +11 -0
- package/dist/cjs/src/generated/portal/models/SkippedSessionSeatDto.d.ts +17 -0
- package/dist/cjs/src/generated/portal/models/SkippedSessionSeatDto.js +14 -0
- package/dist/cjs/src/generated/portal/services/OrderLookupService.d.ts +3 -2
- package/dist/cjs/src/generated/portal/services/OrderLookupService.js +1 -1
- package/dist/cjs/src/generated/portal/types.d.ts +2 -0
- package/dist/cjs/src/generated/scanner/core/request.js +4 -0
- package/dist/cjs/src/generated/shopper/core/OpenAPI.js +1 -1
- package/dist/cjs/src/generated/shopper/core/request.js +4 -0
- package/dist/cjs/src/generated/shopper/index.d.ts +3 -2
- package/dist/cjs/src/generated/shopper/index.js +3 -1
- package/dist/cjs/src/generated/shopper/models/CapabilityManifestDto.d.ts +18 -0
- package/dist/cjs/src/generated/shopper/models/CapabilityManifestDto.js +2 -0
- package/dist/cjs/src/generated/shopper/models/CompleteBody.d.ts +1 -1
- package/dist/cjs/src/generated/shopper/models/CorrelatedCode.d.ts +23 -0
- package/dist/cjs/src/generated/shopper/models/CorrelatedCode.js +14 -0
- package/dist/cjs/src/generated/shopper/models/EmailUpdate.d.ts +1 -1
- package/dist/cjs/src/generated/shopper/models/EventFormat.d.ts +18 -0
- package/dist/cjs/src/generated/shopper/models/EventFormat.js +2 -0
- package/dist/cjs/src/generated/shopper/models/EventListItem.d.ts +3 -14
- package/dist/cjs/src/generated/shopper/models/GAResponse.d.ts +15 -3
- package/dist/cjs/src/generated/shopper/models/GaTier.d.ts +4 -1
- package/dist/cjs/src/generated/shopper/models/SaveDetailsBody.d.ts +0 -1
- package/dist/cjs/src/generated/shopper/models/SeatHoldObject.d.ts +2 -3
- package/dist/cjs/src/generated/shopper/models/SeatHoldReturn.d.ts +2 -3
- package/dist/cjs/src/generated/shopper/models/SiteTheme.d.ts +4 -0
- package/dist/cjs/src/generated/shopper/services/CartService.d.ts +2 -2
- package/dist/cjs/src/generated/shopper/services/CartService.js +2 -2
- package/dist/cjs/src/generated/shopper/services/OrderService.d.ts +2 -2
- package/dist/cjs/src/generated/shopper/services/OrderService.js +2 -2
- package/dist/cjs/src/generated/shopper/services/SessionService.d.ts +23 -0
- package/dist/cjs/src/generated/shopper/services/SessionService.js +38 -0
- package/dist/cjs/src/generated/shopper/types.d.ts +2 -2
- package/dist/esm/src/functions/sdkConfig.d.ts +37 -2
- package/dist/esm/src/functions/sdkConfig.js +35 -3
- package/dist/esm/src/generated/portal/core/OpenAPI.js +1 -1
- package/dist/esm/src/generated/portal/core/request.js +4 -0
- package/dist/esm/src/generated/portal/index.d.ts +3 -0
- package/dist/esm/src/generated/portal/index.js +1 -0
- package/dist/esm/src/generated/portal/models/AddSessionSeatResponseDto.d.ts +7 -0
- package/dist/esm/src/generated/portal/models/AddSessionSeatResponseDto.js +1 -0
- package/dist/esm/src/generated/portal/models/OrderRecalculateRequestDto.d.ts +4 -0
- package/dist/esm/src/generated/portal/models/SessionSeatRefDto.d.ts +4 -0
- package/dist/esm/src/generated/portal/models/SessionSeatRefDto.js +1 -0
- package/dist/esm/src/generated/portal/models/ShowBlockedSeatResponseDto.d.ts +11 -0
- package/dist/esm/src/generated/portal/models/SkippedSessionSeatDto.d.ts +17 -0
- package/dist/esm/src/generated/portal/models/SkippedSessionSeatDto.js +11 -0
- package/dist/esm/src/generated/portal/services/OrderLookupService.d.ts +3 -2
- package/dist/esm/src/generated/portal/services/OrderLookupService.js +1 -1
- package/dist/esm/src/generated/portal/types.d.ts +2 -0
- package/dist/esm/src/generated/scanner/core/request.js +4 -0
- package/dist/esm/src/generated/shopper/core/OpenAPI.js +1 -1
- package/dist/esm/src/generated/shopper/core/request.js +4 -0
- package/dist/esm/src/generated/shopper/index.d.ts +3 -2
- package/dist/esm/src/generated/shopper/index.js +1 -0
- package/dist/esm/src/generated/shopper/models/CapabilityManifestDto.d.ts +18 -0
- package/dist/esm/src/generated/shopper/models/CapabilityManifestDto.js +1 -0
- package/dist/esm/src/generated/shopper/models/CompleteBody.d.ts +1 -1
- package/dist/esm/src/generated/shopper/models/CorrelatedCode.d.ts +23 -0
- package/dist/esm/src/generated/shopper/models/CorrelatedCode.js +13 -1
- package/dist/esm/src/generated/shopper/models/EmailUpdate.d.ts +1 -1
- package/dist/esm/src/generated/shopper/models/EventFormat.d.ts +18 -0
- package/dist/esm/src/generated/shopper/models/EventFormat.js +1 -0
- package/dist/esm/src/generated/shopper/models/EventListItem.d.ts +3 -14
- package/dist/esm/src/generated/shopper/models/GAResponse.d.ts +15 -3
- package/dist/esm/src/generated/shopper/models/GaTier.d.ts +4 -1
- package/dist/esm/src/generated/shopper/models/SaveDetailsBody.d.ts +0 -1
- package/dist/esm/src/generated/shopper/models/SeatHoldObject.d.ts +2 -3
- package/dist/esm/src/generated/shopper/models/SeatHoldReturn.d.ts +2 -3
- package/dist/esm/src/generated/shopper/models/SiteTheme.d.ts +4 -0
- package/dist/esm/src/generated/shopper/services/CartService.d.ts +2 -2
- package/dist/esm/src/generated/shopper/services/CartService.js +2 -2
- package/dist/esm/src/generated/shopper/services/OrderService.d.ts +2 -2
- package/dist/esm/src/generated/shopper/services/OrderService.js +2 -2
- package/dist/esm/src/generated/shopper/services/SessionService.d.ts +23 -0
- package/dist/esm/src/generated/shopper/services/SessionService.js +38 -0
- package/dist/esm/src/generated/shopper/types.d.ts +2 -2
- package/package.json +1 -1
- package/src/custom/custom-request.txt +4 -0
- package/src/functions/sdkConfig.ts +56 -3
- package/src/generated/portal/core/OpenAPI.ts +1 -1
- package/src/generated/portal/core/request.ts +4 -0
- package/src/generated/portal/index.ts +3 -0
- package/src/generated/portal/models/AddSessionSeatResponseDto.ts +12 -0
- package/src/generated/portal/models/OrderRecalculateRequestDto.ts +4 -0
- package/src/generated/portal/models/SessionSeatRefDto.ts +9 -0
- package/src/generated/portal/models/ShowBlockedSeatResponseDto.ts +11 -0
- package/src/generated/portal/models/SkippedSessionSeatDto.ts +22 -0
- package/src/generated/portal/services/OrderLookupService.ts +3 -2
- package/src/generated/portal/types.ts +2 -0
- package/src/generated/scanner/core/request.ts +4 -0
- package/src/generated/shopper/core/OpenAPI.ts +1 -1
- package/src/generated/shopper/core/request.ts +4 -0
- package/src/generated/shopper/index.ts +3 -2
- package/src/generated/shopper/models/CapabilityManifestDto.ts +23 -0
- package/src/generated/shopper/models/CompleteBody.ts +1 -1
- package/src/generated/shopper/models/CorrelatedCode.ts +23 -0
- package/src/generated/shopper/models/EmailUpdate.ts +1 -1
- package/src/generated/shopper/models/EventFormat.ts +23 -0
- package/src/generated/shopper/models/EventListItem.ts +3 -14
- package/src/generated/shopper/models/GAResponse.ts +15 -3
- package/src/generated/shopper/models/GaTier.ts +4 -1
- package/src/generated/shopper/models/SaveDetailsBody.ts +0 -1
- package/src/generated/shopper/models/SeatHoldObject.ts +2 -3
- package/src/generated/shopper/models/SeatHoldReturn.ts +2 -3
- package/src/generated/shopper/models/SiteTheme.ts +4 -0
- package/src/generated/shopper/services/CartService.ts +2 -2
- package/src/generated/shopper/services/OrderService.ts +2 -2
- package/src/generated/shopper/services/SessionService.ts +43 -0
- package/src/generated/shopper/types.ts +2 -2
- package/src/generated/shopper/models/CartStateEnvelope.ts +0 -31
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { EventFormat } from './EventFormat';
|
|
1
2
|
export type EventListItem = {
|
|
2
3
|
id: number;
|
|
3
4
|
chartId: number;
|
|
@@ -44,21 +45,9 @@ export type EventListItem = {
|
|
|
44
45
|
salesTax: number;
|
|
45
46
|
theatreName: string;
|
|
46
47
|
/**
|
|
47
|
-
*
|
|
48
|
+
* Every format collapsed into this row (same production offered in-person/livestream/VOD/…).
|
|
48
49
|
*/
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Show ids of every format collapsed into this row.
|
|
52
|
-
*/
|
|
53
|
-
showIdList: Array<number>;
|
|
54
|
-
/**
|
|
55
|
-
* Chart ids parallel to showIdList (PROJ-902 — lets a sibling format's pill link directly without resolving the chart id on click).
|
|
56
|
-
*/
|
|
57
|
-
chartIdList: Array<number>;
|
|
58
|
-
/**
|
|
59
|
-
* Roster (performer) counts parallel to showIdList (PROJ-912).
|
|
60
|
-
*/
|
|
61
|
-
rosterCountList: Array<number>;
|
|
50
|
+
formats: Array<EventFormat>;
|
|
62
51
|
/**
|
|
63
52
|
* Show artwork URL (cloud URL, or the legacy local path when not clouded — dbo.ShowsAvailable derivation). Null when the show has no artwork (PROJ-901).
|
|
64
53
|
*/
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { EngineSeat } from './EngineSeat';
|
|
2
2
|
export type GAResponse = {
|
|
3
|
+
/**
|
|
4
|
+
* False when the engine refused the request and held nothing. Absent on the release path, which cannot partially fail.
|
|
5
|
+
*/
|
|
6
|
+
success?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The engine's own explanation when success is false (e.g. 'No occupancy available in chart.').
|
|
9
|
+
*/
|
|
10
|
+
message?: string;
|
|
3
11
|
/**
|
|
4
12
|
* The number of seats involved in the operation.
|
|
5
13
|
*/
|
|
@@ -13,7 +21,11 @@ export type GAResponse = {
|
|
|
13
21
|
*/
|
|
14
22
|
seatsHeld?: number;
|
|
15
23
|
/**
|
|
16
|
-
*
|
|
24
|
+
* The seats the engine actually held/released in this call — the client applies exactly this delta to its own list (2026-08-31: seat clicks carry no cart state; totals belong to the summary pages).
|
|
25
|
+
*/
|
|
26
|
+
seats?: Array<EngineSeat>;
|
|
27
|
+
/**
|
|
28
|
+
* Server processing time for this request, in ms.
|
|
17
29
|
*/
|
|
18
|
-
|
|
30
|
+
serverTime?: number;
|
|
19
31
|
};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export type GaTier = {
|
|
2
2
|
tierId: number;
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* The name of this price level. Null for the single implicit level a general-admission show has when it defines no tiers of its own (tierId 0) — naming that one belongs to the client, and legacy labels it "ALL TICKETS".
|
|
5
|
+
*/
|
|
6
|
+
name: string | null;
|
|
4
7
|
/**
|
|
5
8
|
* Advance (pre-door) price.
|
|
6
9
|
*/
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { CartStateEnvelope } from './CartStateEnvelope';
|
|
2
1
|
import type { EngineSeat } from './EngineSeat';
|
|
3
2
|
export type SeatHoldObject = {
|
|
4
3
|
seats: Array<EngineSeat>;
|
|
5
4
|
success: boolean;
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
6
|
+
* Server processing time for this request, in ms.
|
|
8
7
|
*/
|
|
9
|
-
|
|
8
|
+
serverTime?: number;
|
|
10
9
|
};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { CartStateEnvelope } from './CartStateEnvelope';
|
|
2
1
|
import type { EngineSeat } from './EngineSeat';
|
|
3
2
|
export type SeatHoldReturn = {
|
|
4
3
|
seats: Array<EngineSeat>;
|
|
5
4
|
success: boolean;
|
|
6
5
|
message: string;
|
|
7
6
|
/**
|
|
8
|
-
*
|
|
7
|
+
* Server processing time for this request, in ms.
|
|
9
8
|
*/
|
|
10
|
-
|
|
9
|
+
serverTime?: number;
|
|
11
10
|
};
|
|
@@ -3,6 +3,10 @@ export type SiteTheme = {
|
|
|
3
3
|
* Resolved studio logo URL (legacy application.cfm rule): the newest image row named logo.png with a cloud_src wins; null means fall back to the legacy on-disk path /client-content/images/{studioId}/logo.png on the legacy host.
|
|
4
4
|
*/
|
|
5
5
|
logoSrc: string | null;
|
|
6
|
+
/**
|
|
7
|
+
* The studio's compiled stylesheet (studio_design.css) — the same text legacy rpc/theme.cfm streamed as text/css, and the authoritative theme. The Admin Portal Theme Builder regenerates the `:root{}` block on every save and re-appends the superuser Custom CSS tool's hand-written block (everything from `* Start protected content *` onward), so it carries rules the structured fields below cannot express. The site injects it verbatim and only falls back to composing from those fields when this is null — a studio whose design predates the column.
|
|
8
|
+
*/
|
|
9
|
+
css: string | null;
|
|
6
10
|
id: number;
|
|
7
11
|
studio_id: number;
|
|
8
12
|
facebook_image_id: number | null;
|
|
@@ -54,8 +54,8 @@ export declare class CartService {
|
|
|
54
54
|
accountId?: string;
|
|
55
55
|
}): CancelablePromise<CartHashResponse>;
|
|
56
56
|
/**
|
|
57
|
-
* Get Cash Payment Detail
|
|
58
|
-
* Returns cash payment details for the current shopper session, including order total, payments total, and house card credentials.
|
|
57
|
+
* Get Cash Payment Detail (operator only)
|
|
58
|
+
* Returns cash payment details for the current shopper session, including order total, payments total, and house card credentials. Requires a logged-in operator session — returns 403 for a plain shopper.
|
|
59
59
|
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
60
60
|
* @returns CashPaymentDetail Cash payment detail retrieved successfully.
|
|
61
61
|
* @throws ApiError
|
|
@@ -82,8 +82,8 @@ class CartService {
|
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
|
-
* Get Cash Payment Detail
|
|
86
|
-
* Returns cash payment details for the current shopper session, including order total, payments total, and house card credentials.
|
|
85
|
+
* Get Cash Payment Detail (operator only)
|
|
86
|
+
* Returns cash payment details for the current shopper session, including order total, payments total, and house card credentials. Requires a logged-in operator session — returns 403 for a plain shopper.
|
|
87
87
|
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
88
88
|
* @returns CashPaymentDetail Cash payment detail retrieved successfully.
|
|
89
89
|
* @throws ApiError
|
|
@@ -93,8 +93,8 @@ export declare class OrderService {
|
|
|
93
93
|
accountId?: string;
|
|
94
94
|
}): CancelablePromise<LinkWithSuccess>;
|
|
95
95
|
/**
|
|
96
|
-
* Get testing guid
|
|
97
|
-
* Fetches a
|
|
96
|
+
* Get testing guid (operator only)
|
|
97
|
+
* Fetches a random order guid for development purposes. Requires a logged-in operator session — returns 403 for a plain shopper.
|
|
98
98
|
* @param guid Unique identifier for an order.
|
|
99
99
|
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
100
100
|
* @returns GuidReturn Returns a testing guid.
|
|
@@ -121,8 +121,8 @@ class OrderService {
|
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
|
-
* Get testing guid
|
|
125
|
-
* Fetches a
|
|
124
|
+
* Get testing guid (operator only)
|
|
125
|
+
* Fetches a random order guid for development purposes. Requires a logged-in operator session — returns 403 for a plain shopper.
|
|
126
126
|
* @param guid Unique identifier for an order.
|
|
127
127
|
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
128
128
|
* @returns GuidReturn Returns a testing guid.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CapabilityManifestDto } from '../models/CapabilityManifestDto';
|
|
1
2
|
import type { CreateSessionDto } from '../models/CreateSessionDto';
|
|
2
3
|
import type { ExtendTimerDto } from '../models/ExtendTimerDto';
|
|
3
4
|
import type { ExtendTimerResponseDto } from '../models/ExtendTimerResponseDto';
|
|
@@ -60,4 +61,26 @@ export declare class SessionService {
|
|
|
60
61
|
shopperGuid?: string;
|
|
61
62
|
accountId?: string;
|
|
62
63
|
}, requestBody?: ExtendTimerDto): CancelablePromise<ExtendTimerResponseDto>;
|
|
64
|
+
/**
|
|
65
|
+
* Shorten the cart timer
|
|
66
|
+
* Shortens the cart-hold timer to 5 seconds from now via the Session-Service (legacy cart-shorten), clearing show_group_id and moving the held seats’ release times with it. Staff debug tool for walking the cart-timeout flow on demand.
|
|
67
|
+
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
68
|
+
* @returns ExtendTimerResponseDto Returns the shortened timer state.
|
|
69
|
+
* @throws ApiError
|
|
70
|
+
*/
|
|
71
|
+
static shortenTimer(context?: {
|
|
72
|
+
shopperGuid?: string;
|
|
73
|
+
accountId?: string;
|
|
74
|
+
}): CancelablePromise<ExtendTimerResponseDto>;
|
|
75
|
+
/**
|
|
76
|
+
* What this caller may see
|
|
77
|
+
* Returns the operator flag, the debug IP-allowlist flag, and the resulting capability list for the calling session. A rendering hint for the UI — never a permission.
|
|
78
|
+
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
79
|
+
* @returns CapabilityManifestDto Capability manifest for the calling session.
|
|
80
|
+
* @throws ApiError
|
|
81
|
+
*/
|
|
82
|
+
static getCapabilities(context?: {
|
|
83
|
+
shopperGuid?: string;
|
|
84
|
+
accountId?: string;
|
|
85
|
+
}): CancelablePromise<CapabilityManifestDto>;
|
|
63
86
|
}
|
|
@@ -107,5 +107,43 @@ class SessionService {
|
|
|
107
107
|
},
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Shorten the cart timer
|
|
112
|
+
* Shortens the cart-hold timer to 5 seconds from now via the Session-Service (legacy cart-shorten), clearing show_group_id and moving the held seats’ release times with it. Staff debug tool for walking the cart-timeout flow on demand.
|
|
113
|
+
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
114
|
+
* @returns ExtendTimerResponseDto Returns the shortened timer state.
|
|
115
|
+
* @throws ApiError
|
|
116
|
+
*/
|
|
117
|
+
static shortenTimer(context) {
|
|
118
|
+
return (0, request_1.request)(OpenAPI_1.OpenAPI, {
|
|
119
|
+
method: 'POST',
|
|
120
|
+
url: '/session/shorten',
|
|
121
|
+
headers: (0, sdkConfig_1.resolveShopperHeaders)(context),
|
|
122
|
+
errors: {
|
|
123
|
+
400: `Bad Request error with error details.`,
|
|
124
|
+
404: `Not found error with error details.`,
|
|
125
|
+
500: `Internal Server Error, please contact developers.`,
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* What this caller may see
|
|
131
|
+
* Returns the operator flag, the debug IP-allowlist flag, and the resulting capability list for the calling session. A rendering hint for the UI — never a permission.
|
|
132
|
+
* @param context Optional per-call { shopperGuid, accountId } override. Falls back to the values passed to DRT.init().
|
|
133
|
+
* @returns CapabilityManifestDto Capability manifest for the calling session.
|
|
134
|
+
* @throws ApiError
|
|
135
|
+
*/
|
|
136
|
+
static getCapabilities(context) {
|
|
137
|
+
return (0, request_1.request)(OpenAPI_1.OpenAPI, {
|
|
138
|
+
method: 'GET',
|
|
139
|
+
url: '/session/capabilities',
|
|
140
|
+
headers: (0, sdkConfig_1.resolveShopperHeaders)(context),
|
|
141
|
+
errors: {
|
|
142
|
+
400: `Bad Request error with error details.`,
|
|
143
|
+
404: `Not found error with error details.`,
|
|
144
|
+
500: `Internal Server Error, please contact developers.`,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
}
|
|
110
148
|
}
|
|
111
149
|
exports.SessionService = SessionService;
|
|
@@ -6,6 +6,7 @@ export type { AnswerInput } from './models/AnswerInput';
|
|
|
6
6
|
export type { AssignNamesReturn } from './models/AssignNamesReturn';
|
|
7
7
|
export type { BAHold } from './models/BAHold';
|
|
8
8
|
export type { BlockOfTickets } from './models/BlockOfTickets';
|
|
9
|
+
export type { CapabilityManifestDto } from './models/CapabilityManifestDto';
|
|
9
10
|
export type { Cart } from './models/Cart';
|
|
10
11
|
export type { CartAmounts } from './models/CartAmounts';
|
|
11
12
|
export type { CartClearResult } from './models/CartClearResult';
|
|
@@ -13,7 +14,6 @@ export type { CartCounts } from './models/CartCounts';
|
|
|
13
14
|
export type { CartCountsLite } from './models/CartCountsLite';
|
|
14
15
|
export type { CartHashResponse } from './models/CartHashResponse';
|
|
15
16
|
export type { CartItemCounts } from './models/CartItemCounts';
|
|
16
|
-
export type { CartStateEnvelope } from './models/CartStateEnvelope';
|
|
17
17
|
export type { CartSummary } from './models/CartSummary';
|
|
18
18
|
export type { CartTierOption } from './models/CartTierOption';
|
|
19
19
|
export type { CartTierSeat } from './models/CartTierSeat';
|
|
@@ -35,7 +35,6 @@ export type { CheckoutSuccessResponse } from './models/CheckoutSuccessResponse';
|
|
|
35
35
|
export type { CodeDto } from './models/CodeDto';
|
|
36
36
|
export type { CompleteBody } from './models/CompleteBody';
|
|
37
37
|
export type { ConnectedAccountResponse } from './models/ConnectedAccountResponse';
|
|
38
|
-
export type { CorrelatedCode } from './models/CorrelatedCode';
|
|
39
38
|
export type { CreateCustomerResponse } from './models/CreateCustomerResponse';
|
|
40
39
|
export type { CreatePaymentIntentBody } from './models/CreatePaymentIntentBody';
|
|
41
40
|
export type { CreatePaymentIntentResponse } from './models/CreatePaymentIntentResponse';
|
|
@@ -51,6 +50,7 @@ export type { DonationText } from './models/DonationText';
|
|
|
51
50
|
export type { EmailUpdate } from './models/EmailUpdate';
|
|
52
51
|
export type { EngineSeat } from './models/EngineSeat';
|
|
53
52
|
export type { EventDetails } from './models/EventDetails';
|
|
53
|
+
export type { EventFormat } from './models/EventFormat';
|
|
54
54
|
export type { EventGroup } from './models/EventGroup';
|
|
55
55
|
export type { EventLegend } from './models/EventLegend';
|
|
56
56
|
export type { EventLegendItem } from './models/EventLegendItem';
|
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
export type ShopperScope = 'singleton' | 'per-request';
|
|
2
|
+
/**
|
|
3
|
+
* Header a non-browser caller uses to declare the domain it acts as. The
|
|
4
|
+
* shopper API matches it against the api key's allowed domains when no
|
|
5
|
+
* browser-set Origin/Referer is present.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DOMAIN_HEADER = "x-drt-domain";
|
|
2
8
|
export interface SDKConfig {
|
|
9
|
+
/**
|
|
10
|
+
* A shopper API key issued by DRT ('drt_shopper_...'), sent as the `apikey`
|
|
11
|
+
* header on every call. The shopper API refuses any request without a live
|
|
12
|
+
* key, and only honours a key from the domains it was issued for: a browser
|
|
13
|
+
* is identified by the Origin header it sets itself; a server by `domain`.
|
|
14
|
+
*
|
|
15
|
+
* Read it from the DRT_API_KEY environment variable — never commit it.
|
|
16
|
+
*/
|
|
3
17
|
apiKey: string;
|
|
18
|
+
/**
|
|
19
|
+
* The domain this caller acts as (e.g. 'tap-to-pay.drttix.com'), sent as
|
|
20
|
+
* `x-drt-domain`. REQUIRED for callers that are not browsers — a Node
|
|
21
|
+
* backend, a server-side script — because they send no Origin/Referer, so
|
|
22
|
+
* without it the shopper API sees an empty domain and refuses the key.
|
|
23
|
+
* Browsers leave it unset: the API trusts the Origin the browser sets and
|
|
24
|
+
* ignores this header whenever an Origin/Referer is present.
|
|
25
|
+
*/
|
|
26
|
+
domain?: string;
|
|
4
27
|
/**
|
|
5
28
|
* Required when shopperScope is 'singleton' (the default). Optional when
|
|
6
29
|
* shopperScope is 'per-request' — in that mode these act only as a fallback
|
|
@@ -45,8 +68,13 @@ export interface SDKConfig {
|
|
|
45
68
|
*
|
|
46
69
|
* @example
|
|
47
70
|
* ```javascript
|
|
48
|
-
* // Backend serving many shoppers/accounts from a single SDK instance
|
|
49
|
-
*
|
|
71
|
+
* // Backend serving many shoppers/accounts from a single SDK instance.
|
|
72
|
+
* // A backend is not a browser, so it must also say which domain it acts as.
|
|
73
|
+
* DRT.init({
|
|
74
|
+
* apiKey: process.env.DRT_API_KEY,
|
|
75
|
+
* domain: 'tap-to-pay.drttix.com',
|
|
76
|
+
* shopperScope: 'per-request',
|
|
77
|
+
* });
|
|
50
78
|
*
|
|
51
79
|
* // Pass shopperGuid/accountId per call instead
|
|
52
80
|
* await DRT.shopper.product.addProduct(body, {
|
|
@@ -60,6 +88,13 @@ export declare function init(config: SDKConfig): void;
|
|
|
60
88
|
* Check if the SDK has been initialized with credentials.
|
|
61
89
|
*/
|
|
62
90
|
export declare function isReady(): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Called by the shared request layer before EVERY request, for every service
|
|
93
|
+
* (shopper, portal, scanner). The SDK is unusable until DRT.init() has been
|
|
94
|
+
* given an api key — there is no keyless mode. Throwing here, rather than
|
|
95
|
+
* letting the request go out and fail at the API, names the fix in the error.
|
|
96
|
+
*/
|
|
97
|
+
export declare function assertInitialized(baseUrl: string): void;
|
|
63
98
|
/**
|
|
64
99
|
* Get the current SDK configuration (if initialized).
|
|
65
100
|
*/
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
import { OpenAPI as ShopperAPI } from '../generated/shopper/core/OpenAPI.js';
|
|
3
3
|
import { OpenAPI as ScannerAPI } from '../generated/scanner/core/OpenAPI.js';
|
|
4
4
|
import { OpenAPI as PortalAPI } from '../generated/portal/core/OpenAPI.js';
|
|
5
|
+
/**
|
|
6
|
+
* Header a non-browser caller uses to declare the domain it acts as. The
|
|
7
|
+
* shopper API matches it against the api key's allowed domains when no
|
|
8
|
+
* browser-set Origin/Referer is present.
|
|
9
|
+
*/
|
|
10
|
+
export const DOMAIN_HEADER = 'x-drt-domain';
|
|
5
11
|
let isInitialized = false;
|
|
6
12
|
let currentConfig = null;
|
|
7
13
|
let currentShopperScope = 'singleton';
|
|
@@ -29,8 +35,13 @@ let currentShopperScope = 'singleton';
|
|
|
29
35
|
*
|
|
30
36
|
* @example
|
|
31
37
|
* ```javascript
|
|
32
|
-
* // Backend serving many shoppers/accounts from a single SDK instance
|
|
33
|
-
*
|
|
38
|
+
* // Backend serving many shoppers/accounts from a single SDK instance.
|
|
39
|
+
* // A backend is not a browser, so it must also say which domain it acts as.
|
|
40
|
+
* DRT.init({
|
|
41
|
+
* apiKey: process.env.DRT_API_KEY,
|
|
42
|
+
* domain: 'tap-to-pay.drttix.com',
|
|
43
|
+
* shopperScope: 'per-request',
|
|
44
|
+
* });
|
|
34
45
|
*
|
|
35
46
|
* // Pass shopperGuid/accountId per call instead
|
|
36
47
|
* await DRT.shopper.product.addProduct(body, {
|
|
@@ -53,6 +64,9 @@ export function init(config) {
|
|
|
53
64
|
// Portal and scanner are always singleton-scoped: one fixed set of
|
|
54
65
|
// credentials for every call, applied globally via OpenAPI.HEADERS.
|
|
55
66
|
const sharedHeaders = { apikey: config.apiKey };
|
|
67
|
+
if (config.domain) {
|
|
68
|
+
sharedHeaders[DOMAIN_HEADER] = config.domain;
|
|
69
|
+
}
|
|
56
70
|
if (config.shopperGuid && config.accountId) {
|
|
57
71
|
sharedHeaders.shopperguid = config.shopperGuid;
|
|
58
72
|
sharedHeaders.accountid = config.accountId;
|
|
@@ -72,6 +86,20 @@ export function init(config) {
|
|
|
72
86
|
export function isReady() {
|
|
73
87
|
return isInitialized;
|
|
74
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Called by the shared request layer before EVERY request, for every service
|
|
91
|
+
* (shopper, portal, scanner). The SDK is unusable until DRT.init() has been
|
|
92
|
+
* given an api key — there is no keyless mode. Throwing here, rather than
|
|
93
|
+
* letting the request go out and fail at the API, names the fix in the error.
|
|
94
|
+
*/
|
|
95
|
+
export function assertInitialized(baseUrl) {
|
|
96
|
+
if (isInitialized) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
throw new Error(`DRT SDK not initialized — call DRT.init({ apiKey, ... }) before using it (request to ${baseUrl}). ` +
|
|
100
|
+
'The key comes from the DRT_API_KEY environment variable; a backend also passes ' +
|
|
101
|
+
"`domain`, and one that serves many shoppers passes shopperScope: 'per-request'.");
|
|
102
|
+
}
|
|
75
103
|
/**
|
|
76
104
|
* Get the current SDK configuration (if initialized).
|
|
77
105
|
*/
|
|
@@ -115,9 +143,13 @@ export function resolveShopperHeaders(context) {
|
|
|
115
143
|
? 'No shopperGuid/accountId available for this call. DRT SDK was initialized with shopperScope: "per-request" without defaults — pass { shopperGuid, accountId } as the last argument to this call.'
|
|
116
144
|
: 'DRT SDK not initialized with shopperGuid/accountId. Call DRT.init() first.');
|
|
117
145
|
}
|
|
118
|
-
|
|
146
|
+
const headers = {
|
|
119
147
|
shopperguid: shopperGuid,
|
|
120
148
|
accountid: accountId,
|
|
121
149
|
apikey: currentConfig.apiKey,
|
|
122
150
|
};
|
|
151
|
+
if (currentConfig.domain) {
|
|
152
|
+
headers[DOMAIN_HEADER] = currentConfig.domain;
|
|
153
|
+
}
|
|
154
|
+
return headers;
|
|
123
155
|
}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
/* eslint-disable */
|
|
5
5
|
import { ApiError } from "./ApiError.js";
|
|
6
6
|
import { CancelablePromise } from "./CancelablePromise.js";
|
|
7
|
+
// Every service's request.ts is this same template (build-all.ts copies it),
|
|
8
|
+
// so this one check is what makes DRT.init() mandatory SDK-wide.
|
|
9
|
+
import { assertInitialized } from "../../../functions/sdkConfig.js";
|
|
7
10
|
export const isDefined = (value) => {
|
|
8
11
|
return value !== undefined && value !== null;
|
|
9
12
|
};
|
|
@@ -270,6 +273,7 @@ const storeCookie = (key, value) => {
|
|
|
270
273
|
export const request = (config, options) => {
|
|
271
274
|
return new CancelablePromise(async (resolve, reject, onCancel) => {
|
|
272
275
|
try {
|
|
276
|
+
assertInitialized(config.BASE);
|
|
273
277
|
const url = getUrl(config, options);
|
|
274
278
|
const formData = getFormData(options);
|
|
275
279
|
const body = getRequestBody(options);
|
|
@@ -8,6 +8,7 @@ export type { AccountDetailResponseDto } from './models/AccountDetailResponseDto
|
|
|
8
8
|
export { AccountingTimezone } from './models/AccountingTimezone';
|
|
9
9
|
export type { ActionResponseDto } from './models/ActionResponseDto';
|
|
10
10
|
export type { AddSessionSeatRequestDto } from './models/AddSessionSeatRequestDto';
|
|
11
|
+
export type { AddSessionSeatResponseDto } from './models/AddSessionSeatResponseDto';
|
|
11
12
|
export type { AddVideoAssetFormatRequestDto } from './models/AddVideoAssetFormatRequestDto';
|
|
12
13
|
export type { AdminUserLevelResponseDto } from './models/AdminUserLevelResponseDto';
|
|
13
14
|
export type { AdminUserResponseDto } from './models/AdminUserResponseDto';
|
|
@@ -327,6 +328,7 @@ export type { SendMailRequestDto } from './models/SendMailRequestDto';
|
|
|
327
328
|
export type { SendReservationCodeMailRequestDto } from './models/SendReservationCodeMailRequestDto';
|
|
328
329
|
export type { SendTextRequestDto } from './models/SendTextRequestDto';
|
|
329
330
|
export type { SentMailResponseDto } from './models/SentMailResponseDto';
|
|
331
|
+
export type { SessionSeatRefDto } from './models/SessionSeatRefDto';
|
|
330
332
|
export type { SetTiersRequestDto } from './models/SetTiersRequestDto';
|
|
331
333
|
export type { SettingsAndWavesResponseDto } from './models/SettingsAndWavesResponseDto';
|
|
332
334
|
export type { SettingsDetailsResponseDto } from './models/SettingsDetailsResponseDto';
|
|
@@ -371,6 +373,7 @@ export type { SingleFundDetailResponseDto } from './models/SingleFundDetailRespo
|
|
|
371
373
|
export type { SingleOrderDetailResponseDto } from './models/SingleOrderDetailResponseDto';
|
|
372
374
|
export type { SinglePatronCodeResponseDto } from './models/SinglePatronCodeResponseDto';
|
|
373
375
|
export type { SinglePerformerRequestDto } from './models/SinglePerformerRequestDto';
|
|
376
|
+
export { SkippedSessionSeatDto } from './models/SkippedSessionSeatDto';
|
|
374
377
|
export type { SoldTicketsResponseDto } from './models/SoldTicketsResponseDto';
|
|
375
378
|
export type { StartImageUploadRequestDto } from './models/StartImageUploadRequestDto';
|
|
376
379
|
export type { StartImageUploadResponseDto } from './models/StartImageUploadResponseDto';
|
|
@@ -11,6 +11,7 @@ export { CheckoutAnswerType } from './models/CheckoutAnswerType.js';
|
|
|
11
11
|
export { CreateShowRequestDto } from './models/CreateShowRequestDto.js';
|
|
12
12
|
export { SalesTaxRegistrationOption } from './models/SalesTaxRegistrationOption.js';
|
|
13
13
|
export { ShowDeployOption } from './models/ShowDeployOption.js';
|
|
14
|
+
export { SkippedSessionSeatDto } from './models/SkippedSessionSeatDto.js';
|
|
14
15
|
export { StripeUsageOption } from './models/StripeUsageOption.js';
|
|
15
16
|
export { StudioFeesLedgerType } from './models/StudioFeesLedgerType.js';
|
|
16
17
|
export { ThemeImageFormat } from './models/ThemeImageFormat.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SessionSeatRefDto } from './SessionSeatRefDto';
|
|
2
|
+
import type { SkippedSessionSeatDto } from './SkippedSessionSeatDto';
|
|
3
|
+
export type AddSessionSeatResponseDto = {
|
|
4
|
+
success: boolean;
|
|
5
|
+
added: Array<SessionSeatRefDto>;
|
|
6
|
+
skipped: Array<SkippedSessionSeatDto>;
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -9,6 +9,10 @@ export type OrderRecalculateRequestDto = {
|
|
|
9
9
|
* Set to 1 to include the shopper's held cart seats in the recalculation. Required for exchanges so the seats being exchanged into are priced into the new total.
|
|
10
10
|
*/
|
|
11
11
|
addCart?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Set to 1 to include the shopper's held blocked seats in the recalculation. `addCart` does not cover them: a blocked seat is held through session_blocked_seat_assoc and leaves seat_status.shopper NULL, so the cart-side recalc never sees it and prices it at zero.
|
|
14
|
+
*/
|
|
15
|
+
addBlocked?: number;
|
|
12
16
|
ticket: Array<ShowSeatPair>;
|
|
13
17
|
tiers: Array<ShowSeatTierPair>;
|
|
14
18
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -17,5 +17,16 @@ export type ShowBlockedSeatResponseDto = {
|
|
|
17
17
|
dateBlocked: string | null;
|
|
18
18
|
emailed: number | null;
|
|
19
19
|
locked: number | null;
|
|
20
|
+
/**
|
|
21
|
+
* 1 when no other live admin session holds this blocked seat (it may already be held by the caller).
|
|
22
|
+
*/
|
|
20
23
|
available: number;
|
|
24
|
+
/**
|
|
25
|
+
* 1 when the caller's own session already holds this seat for the exchange in progress.
|
|
26
|
+
*/
|
|
27
|
+
heldBySelf: number;
|
|
28
|
+
/**
|
|
29
|
+
* 1 when another live admin session holds this seat — adding it will be skipped.
|
|
30
|
+
*/
|
|
31
|
+
heldByOther: number;
|
|
21
32
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type SkippedSessionSeatDto = {
|
|
2
|
+
showId: number;
|
|
3
|
+
seatId: number;
|
|
4
|
+
/**
|
|
5
|
+
* HELD_BY_OTHER_SESSION: another live admin session already holds the seat. NOT_AVAILABLE: the seat is no longer a blocked seat for this studio.
|
|
6
|
+
*/
|
|
7
|
+
reason: SkippedSessionSeatDto.reason;
|
|
8
|
+
};
|
|
9
|
+
export declare namespace SkippedSessionSeatDto {
|
|
10
|
+
/**
|
|
11
|
+
* HELD_BY_OTHER_SESSION: another live admin session already holds the seat. NOT_AVAILABLE: the seat is no longer a blocked seat for this studio.
|
|
12
|
+
*/
|
|
13
|
+
enum reason {
|
|
14
|
+
HELD_BY_OTHER_SESSION = "HELD_BY_OTHER_SESSION",
|
|
15
|
+
NOT_AVAILABLE = "NOT_AVAILABLE"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var SkippedSessionSeatDto;
|
|
2
|
+
(function (SkippedSessionSeatDto) {
|
|
3
|
+
/**
|
|
4
|
+
* HELD_BY_OTHER_SESSION: another live admin session already holds the seat. NOT_AVAILABLE: the seat is no longer a blocked seat for this studio.
|
|
5
|
+
*/
|
|
6
|
+
let reason;
|
|
7
|
+
(function (reason) {
|
|
8
|
+
reason["HELD_BY_OTHER_SESSION"] = "HELD_BY_OTHER_SESSION";
|
|
9
|
+
reason["NOT_AVAILABLE"] = "NOT_AVAILABLE";
|
|
10
|
+
})(reason = SkippedSessionSeatDto.reason || (SkippedSessionSeatDto.reason = {}));
|
|
11
|
+
})(SkippedSessionSeatDto || (SkippedSessionSeatDto = {}));
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AddSessionSeatRequestDto } from '../models/AddSessionSeatRequestDto';
|
|
2
|
+
import type { AddSessionSeatResponseDto } from '../models/AddSessionSeatResponseDto';
|
|
2
3
|
import type { CancelExchangeTicketRequestDto } from '../models/CancelExchangeTicketRequestDto';
|
|
3
4
|
import type { ExecuteReleaseSeatRequestDto } from '../models/ExecuteReleaseSeatRequestDto';
|
|
4
5
|
import type { ExecuteSeatExchangeRequestDto } from '../models/ExecuteSeatExchangeRequestDto';
|
|
@@ -253,8 +254,8 @@ export declare class OrderLookupService {
|
|
|
253
254
|
* To add seats to the session for the order
|
|
254
255
|
* @param xStudioId The ID of the studio
|
|
255
256
|
* @param requestBody Add seats to session details
|
|
256
|
-
* @returns
|
|
257
|
+
* @returns AddSessionSeatResponseDto Blocked seats processed. `added` landed in the exchange session; `skipped` did not (with the reason), since a seat held by another live admin session cannot be added.
|
|
257
258
|
* @throws ApiError
|
|
258
259
|
*/
|
|
259
|
-
static addSeatsToSession(xStudioId: string, requestBody: AddSessionSeatRequestDto): CancelablePromise<
|
|
260
|
+
static addSeatsToSession(xStudioId: string, requestBody: AddSessionSeatRequestDto): CancelablePromise<AddSessionSeatResponseDto>;
|
|
260
261
|
}
|
|
@@ -486,7 +486,7 @@ export class OrderLookupService {
|
|
|
486
486
|
* To add seats to the session for the order
|
|
487
487
|
* @param xStudioId The ID of the studio
|
|
488
488
|
* @param requestBody Add seats to session details
|
|
489
|
-
* @returns
|
|
489
|
+
* @returns AddSessionSeatResponseDto Blocked seats processed. `added` landed in the exchange session; `skipped` did not (with the reason), since a seat held by another live admin session cannot be added.
|
|
490
490
|
* @throws ApiError
|
|
491
491
|
*/
|
|
492
492
|
static addSeatsToSession(xStudioId, requestBody) {
|
|
@@ -3,6 +3,7 @@ export type { AcceptAgreementRequestDto } from './models/AcceptAgreementRequestD
|
|
|
3
3
|
export type { AccountDetailResponseDto } from './models/AccountDetailResponseDto';
|
|
4
4
|
export type { ActionResponseDto } from './models/ActionResponseDto';
|
|
5
5
|
export type { AddSessionSeatRequestDto } from './models/AddSessionSeatRequestDto';
|
|
6
|
+
export type { AddSessionSeatResponseDto } from './models/AddSessionSeatResponseDto';
|
|
6
7
|
export type { AddVideoAssetFormatRequestDto } from './models/AddVideoAssetFormatRequestDto';
|
|
7
8
|
export type { AdminUserLevelResponseDto } from './models/AdminUserLevelResponseDto';
|
|
8
9
|
export type { AdminUserResponseDto } from './models/AdminUserResponseDto';
|
|
@@ -318,6 +319,7 @@ export type { SendMailRequestDto } from './models/SendMailRequestDto';
|
|
|
318
319
|
export type { SendReservationCodeMailRequestDto } from './models/SendReservationCodeMailRequestDto';
|
|
319
320
|
export type { SendTextRequestDto } from './models/SendTextRequestDto';
|
|
320
321
|
export type { SentMailResponseDto } from './models/SentMailResponseDto';
|
|
322
|
+
export type { SessionSeatRefDto } from './models/SessionSeatRefDto';
|
|
321
323
|
export type { SetTiersRequestDto } from './models/SetTiersRequestDto';
|
|
322
324
|
export type { SettingsAndWavesResponseDto } from './models/SettingsAndWavesResponseDto';
|
|
323
325
|
export type { SettingsDetailsResponseDto } from './models/SettingsDetailsResponseDto';
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
/* eslint-disable */
|
|
5
5
|
import { ApiError } from "./ApiError.js";
|
|
6
6
|
import { CancelablePromise } from "./CancelablePromise.js";
|
|
7
|
+
// Every service's request.ts is this same template (build-all.ts copies it),
|
|
8
|
+
// so this one check is what makes DRT.init() mandatory SDK-wide.
|
|
9
|
+
import { assertInitialized } from "../../../functions/sdkConfig.js";
|
|
7
10
|
export const isDefined = (value) => {
|
|
8
11
|
return value !== undefined && value !== null;
|
|
9
12
|
};
|
|
@@ -270,6 +273,7 @@ const storeCookie = (key, value) => {
|
|
|
270
273
|
export const request = (config, options) => {
|
|
271
274
|
return new CancelablePromise(async (resolve, reject, onCancel) => {
|
|
272
275
|
try {
|
|
276
|
+
assertInitialized(config.BASE);
|
|
273
277
|
const url = getUrl(config, options);
|
|
274
278
|
const formData = getFormData(options);
|
|
275
279
|
const body = getRequestBody(options);
|