@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
package/README.md
CHANGED
|
@@ -50,6 +50,42 @@ await DRT.shopper.product.addProduct(productBody, {
|
|
|
50
50
|
shopper. `shopperGuid`/`accountId` are the only values that become
|
|
51
51
|
per-request. Portal and scanner are unaffected and remain singleton-scoped.
|
|
52
52
|
|
|
53
|
+
### The API key
|
|
54
|
+
|
|
55
|
+
**`DRT.init({ apiKey })` is mandatory (2.0.0).** Every service call — shopper,
|
|
56
|
+
portal and scanner alike — throws `DRT SDK not initialized` until it has run;
|
|
57
|
+
there is no keyless mode. Portal-only and scanner-only consumers pass
|
|
58
|
+
`shopperScope: 'per-request'` so no shopper credentials are needed at init.
|
|
59
|
+
|
|
60
|
+
The shopper API refuses every request that does not carry a live key in the
|
|
61
|
+
`apikey` header, and only honours a key from the domains it was issued for
|
|
62
|
+
(`recital_ticketing.dbo.shopper_api_key`). Keys look like
|
|
63
|
+
`drt_shopper_de1ab347f47c…`. The convention across DRT services is to read it
|
|
64
|
+
from the `DRT_API_KEY` environment variable (in Azure DevOps: the `SDK`
|
|
65
|
+
variable group) and pass it to `DRT.init`:
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
DRT.init({ apiKey: process.env.DRT_API_KEY, shopperScope: "per-request" });
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Browsers** need nothing more: the browser sets the `Origin` header itself,
|
|
72
|
+
and that is what the API matches against the key's allowed domains.
|
|
73
|
+
|
|
74
|
+
**Servers** (a Node backend, a script) send no `Origin`, so they must declare
|
|
75
|
+
the domain they act as, which the SDK sends as `x-drt-domain`:
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
DRT.init({
|
|
79
|
+
apiKey: process.env.DRT_API_KEY,
|
|
80
|
+
domain: "tap-to-pay.drttix.com",
|
|
81
|
+
shopperScope: "per-request",
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
A missing key, an unknown or deactivated key, or a domain the key does not
|
|
86
|
+
allow all answer `401` with `errorCode` `INVALID_API_KEY` or
|
|
87
|
+
`API_KEY_DOMAIN_NOT_ALLOWED`.
|
|
88
|
+
|
|
53
89
|
---
|
|
54
90
|
|
|
55
91
|
## 🛠️ Local Development (Developer Only)
|
|
@@ -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
|
*/
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DOMAIN_HEADER = void 0;
|
|
3
4
|
exports.init = init;
|
|
4
5
|
exports.isReady = isReady;
|
|
6
|
+
exports.assertInitialized = assertInitialized;
|
|
5
7
|
exports.getConfig = getConfig;
|
|
6
8
|
exports.getShopperScope = getShopperScope;
|
|
7
9
|
exports.reset = reset;
|
|
@@ -10,6 +12,12 @@ exports.resolveShopperHeaders = resolveShopperHeaders;
|
|
|
10
12
|
const OpenAPI_1 = require("../generated/shopper/core/OpenAPI");
|
|
11
13
|
const OpenAPI_2 = require("../generated/scanner/core/OpenAPI");
|
|
12
14
|
const OpenAPI_3 = require("../generated/portal/core/OpenAPI");
|
|
15
|
+
/**
|
|
16
|
+
* Header a non-browser caller uses to declare the domain it acts as. The
|
|
17
|
+
* shopper API matches it against the api key's allowed domains when no
|
|
18
|
+
* browser-set Origin/Referer is present.
|
|
19
|
+
*/
|
|
20
|
+
exports.DOMAIN_HEADER = 'x-drt-domain';
|
|
13
21
|
let isInitialized = false;
|
|
14
22
|
let currentConfig = null;
|
|
15
23
|
let currentShopperScope = 'singleton';
|
|
@@ -37,8 +45,13 @@ let currentShopperScope = 'singleton';
|
|
|
37
45
|
*
|
|
38
46
|
* @example
|
|
39
47
|
* ```javascript
|
|
40
|
-
* // Backend serving many shoppers/accounts from a single SDK instance
|
|
41
|
-
*
|
|
48
|
+
* // Backend serving many shoppers/accounts from a single SDK instance.
|
|
49
|
+
* // A backend is not a browser, so it must also say which domain it acts as.
|
|
50
|
+
* DRT.init({
|
|
51
|
+
* apiKey: process.env.DRT_API_KEY,
|
|
52
|
+
* domain: 'tap-to-pay.drttix.com',
|
|
53
|
+
* shopperScope: 'per-request',
|
|
54
|
+
* });
|
|
42
55
|
*
|
|
43
56
|
* // Pass shopperGuid/accountId per call instead
|
|
44
57
|
* await DRT.shopper.product.addProduct(body, {
|
|
@@ -61,6 +74,9 @@ function init(config) {
|
|
|
61
74
|
// Portal and scanner are always singleton-scoped: one fixed set of
|
|
62
75
|
// credentials for every call, applied globally via OpenAPI.HEADERS.
|
|
63
76
|
const sharedHeaders = { apikey: config.apiKey };
|
|
77
|
+
if (config.domain) {
|
|
78
|
+
sharedHeaders[exports.DOMAIN_HEADER] = config.domain;
|
|
79
|
+
}
|
|
64
80
|
if (config.shopperGuid && config.accountId) {
|
|
65
81
|
sharedHeaders.shopperguid = config.shopperGuid;
|
|
66
82
|
sharedHeaders.accountid = config.accountId;
|
|
@@ -80,6 +96,20 @@ function init(config) {
|
|
|
80
96
|
function isReady() {
|
|
81
97
|
return isInitialized;
|
|
82
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Called by the shared request layer before EVERY request, for every service
|
|
101
|
+
* (shopper, portal, scanner). The SDK is unusable until DRT.init() has been
|
|
102
|
+
* given an api key — there is no keyless mode. Throwing here, rather than
|
|
103
|
+
* letting the request go out and fail at the API, names the fix in the error.
|
|
104
|
+
*/
|
|
105
|
+
function assertInitialized(baseUrl) {
|
|
106
|
+
if (isInitialized) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
throw new Error(`DRT SDK not initialized — call DRT.init({ apiKey, ... }) before using it (request to ${baseUrl}). ` +
|
|
110
|
+
'The key comes from the DRT_API_KEY environment variable; a backend also passes ' +
|
|
111
|
+
"`domain`, and one that serves many shoppers passes shopperScope: 'per-request'.");
|
|
112
|
+
}
|
|
83
113
|
/**
|
|
84
114
|
* Get the current SDK configuration (if initialized).
|
|
85
115
|
*/
|
|
@@ -123,9 +153,13 @@ function resolveShopperHeaders(context) {
|
|
|
123
153
|
? '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.'
|
|
124
154
|
: 'DRT SDK not initialized with shopperGuid/accountId. Call DRT.init() first.');
|
|
125
155
|
}
|
|
126
|
-
|
|
156
|
+
const headers = {
|
|
127
157
|
shopperguid: shopperGuid,
|
|
128
158
|
accountid: accountId,
|
|
129
159
|
apikey: currentConfig.apiKey,
|
|
130
160
|
};
|
|
161
|
+
if (currentConfig.domain) {
|
|
162
|
+
headers[exports.DOMAIN_HEADER] = currentConfig.domain;
|
|
163
|
+
}
|
|
164
|
+
return headers;
|
|
131
165
|
}
|
|
@@ -7,6 +7,9 @@ exports.request = exports.catchErrorCodes = exports.getResponseBody = exports.ge
|
|
|
7
7
|
/* eslint-disable */
|
|
8
8
|
const ApiError_1 = require("./ApiError");
|
|
9
9
|
const CancelablePromise_1 = require("./CancelablePromise");
|
|
10
|
+
// Every service's request.ts is this same template (build-all.ts copies it),
|
|
11
|
+
// so this one check is what makes DRT.init() mandatory SDK-wide.
|
|
12
|
+
const sdkConfig_1 = require("../../../functions/sdkConfig");
|
|
10
13
|
const isDefined = (value) => {
|
|
11
14
|
return value !== undefined && value !== null;
|
|
12
15
|
};
|
|
@@ -288,6 +291,7 @@ const storeCookie = (key, value) => {
|
|
|
288
291
|
const request = (config, options) => {
|
|
289
292
|
return new CancelablePromise_1.CancelablePromise(async (resolve, reject, onCancel) => {
|
|
290
293
|
try {
|
|
294
|
+
(0, sdkConfig_1.assertInitialized)(config.BASE);
|
|
291
295
|
const url = getUrl(config, options);
|
|
292
296
|
const formData = (0, exports.getFormData)(options);
|
|
293
297
|
const body = (0, exports.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';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.SuperUserVideoAssetsService = exports.SuperUserTimedTriggersService = exports.SuperUserSupportTicketsService = exports.SuperUserStudioManagementIntegrationService = exports.SuperUserShoppersService = exports.SuperUserReleasedTicketsService = exports.SuperUserManageImageFilesService = exports.SuperUserLaunchReadinessService = exports.SuperUserImportBlockedSeatsService = exports.SuperUserExtraService = exports.SuperUserEditCssService = exports.SuperUserDocumentLibraryService = exports.SuperUserBuyerBlacklistService = exports.SuperUserAlertsAndNotificationsService = void 0;
|
|
3
|
+
exports.SuperUserAbandonedCartsService = exports.ShowsService = exports.SettingsService = exports.ReportsService = exports.OrderLookupService = exports.HelpService = exports.FeaturesProductsService = exports.FeaturesPriorityService = exports.FeaturesLandingPageService = exports.FeaturesGoldenTicketsService = exports.FeaturesGiftCardsService = exports.FeaturesDonationsService = exports.FeaturesDiscountsService = exports.FeaturesCheckoutQuestionsService = exports.FeaturesBlockedSeatsService = exports.DashboardService = exports.ClientToolsWaitlistService = exports.ClientToolsUnapprovedOrdersService = exports.ClientToolsTicketScanningService = exports.ClientToolsTicketingLinkService = exports.ClientToolsThemesLibraryService = exports.ClientToolsThemeBuilderService = exports.ClientToolsStripeOnboardingService = exports.ClientToolsSeatAssignmentToolService = exports.ClientToolsRequestChangesService = exports.ClientToolsPatronDatabaseService = exports.ClientToolsParentLetterService = exports.ClientToolsInterviewUpdateService = exports.ClientToolsGeneratedEmailsService = exports.BookmarkService = exports.AuthService = exports.AppService = exports.AgreementsService = exports.AccountingService = exports.AccountService = exports.ToggleType = exports.ThemeImageFormat = exports.StudioFeesLedgerType = exports.StripeUsageOption = exports.SkippedSessionSeatDto = exports.ShowDeployOption = exports.SalesTaxRegistrationOption = exports.CreateShowRequestDto = exports.CheckoutAnswerType = exports.AgreementStatusResponseDto = exports.AccountingTimezone = exports.OpenAPI = exports.CancelError = exports.CancelablePromise = exports.ApiError = void 0;
|
|
4
|
+
exports.SuperUserVideoAssetsService = exports.SuperUserTimedTriggersService = exports.SuperUserSupportTicketsService = exports.SuperUserStudioManagementIntegrationService = exports.SuperUserShoppersService = exports.SuperUserReleasedTicketsService = exports.SuperUserManageImageFilesService = exports.SuperUserLaunchReadinessService = exports.SuperUserImportBlockedSeatsService = exports.SuperUserExtraService = exports.SuperUserEditCssService = exports.SuperUserDocumentLibraryService = exports.SuperUserBuyerBlacklistService = exports.SuperUserAlertsAndNotificationsService = exports.SuperUserAdvancedStudioSettingsService = void 0;
|
|
5
5
|
/* generated using openapi-typescript-codegen -- do not edit */
|
|
6
6
|
/* istanbul ignore file */
|
|
7
7
|
/* tslint:disable */
|
|
@@ -25,6 +25,8 @@ var SalesTaxRegistrationOption_1 = require("./models/SalesTaxRegistrationOption"
|
|
|
25
25
|
Object.defineProperty(exports, "SalesTaxRegistrationOption", { enumerable: true, get: function () { return SalesTaxRegistrationOption_1.SalesTaxRegistrationOption; } });
|
|
26
26
|
var ShowDeployOption_1 = require("./models/ShowDeployOption");
|
|
27
27
|
Object.defineProperty(exports, "ShowDeployOption", { enumerable: true, get: function () { return ShowDeployOption_1.ShowDeployOption; } });
|
|
28
|
+
var SkippedSessionSeatDto_1 = require("./models/SkippedSessionSeatDto");
|
|
29
|
+
Object.defineProperty(exports, "SkippedSessionSeatDto", { enumerable: true, get: function () { return SkippedSessionSeatDto_1.SkippedSessionSeatDto; } });
|
|
28
30
|
var StripeUsageOption_1 = require("./models/StripeUsageOption");
|
|
29
31
|
Object.defineProperty(exports, "StripeUsageOption", { enumerable: true, get: function () { return StripeUsageOption_1.StripeUsageOption; } });
|
|
30
32
|
var StudioFeesLedgerType_1 = require("./models/StudioFeesLedgerType");
|
|
@@ -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
|
+
};
|
|
@@ -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
|
};
|
|
@@ -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,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkippedSessionSeatDto = void 0;
|
|
4
|
+
var SkippedSessionSeatDto;
|
|
5
|
+
(function (SkippedSessionSeatDto) {
|
|
6
|
+
/**
|
|
7
|
+
* 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.
|
|
8
|
+
*/
|
|
9
|
+
let reason;
|
|
10
|
+
(function (reason) {
|
|
11
|
+
reason["HELD_BY_OTHER_SESSION"] = "HELD_BY_OTHER_SESSION";
|
|
12
|
+
reason["NOT_AVAILABLE"] = "NOT_AVAILABLE";
|
|
13
|
+
})(reason = SkippedSessionSeatDto.reason || (SkippedSessionSeatDto.reason = {}));
|
|
14
|
+
})(SkippedSessionSeatDto || (exports.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
|
}
|
|
@@ -489,7 +489,7 @@ class OrderLookupService {
|
|
|
489
489
|
* To add seats to the session for the order
|
|
490
490
|
* @param xStudioId The ID of the studio
|
|
491
491
|
* @param requestBody Add seats to session details
|
|
492
|
-
* @returns
|
|
492
|
+
* @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.
|
|
493
493
|
* @throws ApiError
|
|
494
494
|
*/
|
|
495
495
|
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';
|
|
@@ -7,6 +7,9 @@ exports.request = exports.catchErrorCodes = exports.getResponseBody = exports.ge
|
|
|
7
7
|
/* eslint-disable */
|
|
8
8
|
const ApiError_1 = require("./ApiError");
|
|
9
9
|
const CancelablePromise_1 = require("./CancelablePromise");
|
|
10
|
+
// Every service's request.ts is this same template (build-all.ts copies it),
|
|
11
|
+
// so this one check is what makes DRT.init() mandatory SDK-wide.
|
|
12
|
+
const sdkConfig_1 = require("../../../functions/sdkConfig");
|
|
10
13
|
const isDefined = (value) => {
|
|
11
14
|
return value !== undefined && value !== null;
|
|
12
15
|
};
|
|
@@ -288,6 +291,7 @@ const storeCookie = (key, value) => {
|
|
|
288
291
|
const request = (config, options) => {
|
|
289
292
|
return new CancelablePromise_1.CancelablePromise(async (resolve, reject, onCancel) => {
|
|
290
293
|
try {
|
|
294
|
+
(0, sdkConfig_1.assertInitialized)(config.BASE);
|
|
291
295
|
const url = getUrl(config, options);
|
|
292
296
|
const formData = (0, exports.getFormData)(options);
|
|
293
297
|
const body = (0, exports.getRequestBody)(options);
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.OpenAPI = void 0;
|
|
4
4
|
exports.OpenAPI = {
|
|
5
5
|
BASE: 'https://api.drttix.com/shopper',
|
|
6
|
-
VERSION: '
|
|
6
|
+
VERSION: '20260903.1',
|
|
7
7
|
WITH_CREDENTIALS: false,
|
|
8
8
|
CREDENTIALS: 'include',
|
|
9
9
|
TOKEN: undefined,
|
|
@@ -7,6 +7,9 @@ exports.request = exports.catchErrorCodes = exports.getResponseBody = exports.ge
|
|
|
7
7
|
/* eslint-disable */
|
|
8
8
|
const ApiError_1 = require("./ApiError");
|
|
9
9
|
const CancelablePromise_1 = require("./CancelablePromise");
|
|
10
|
+
// Every service's request.ts is this same template (build-all.ts copies it),
|
|
11
|
+
// so this one check is what makes DRT.init() mandatory SDK-wide.
|
|
12
|
+
const sdkConfig_1 = require("../../../functions/sdkConfig");
|
|
10
13
|
const isDefined = (value) => {
|
|
11
14
|
return value !== undefined && value !== null;
|
|
12
15
|
};
|
|
@@ -288,6 +291,7 @@ const storeCookie = (key, value) => {
|
|
|
288
291
|
const request = (config, options) => {
|
|
289
292
|
return new CancelablePromise_1.CancelablePromise(async (resolve, reject, onCancel) => {
|
|
290
293
|
try {
|
|
294
|
+
(0, sdkConfig_1.assertInitialized)(config.BASE);
|
|
291
295
|
const url = getUrl(config, options);
|
|
292
296
|
const formData = (0, exports.getFormData)(options);
|
|
293
297
|
const body = (0, exports.getRequestBody)(options);
|
|
@@ -10,6 +10,7 @@ export type { AnswerInput } from './models/AnswerInput';
|
|
|
10
10
|
export type { AssignNamesReturn } from './models/AssignNamesReturn';
|
|
11
11
|
export type { BAHold } from './models/BAHold';
|
|
12
12
|
export type { BlockOfTickets } from './models/BlockOfTickets';
|
|
13
|
+
export type { CapabilityManifestDto } from './models/CapabilityManifestDto';
|
|
13
14
|
export type { Cart } from './models/Cart';
|
|
14
15
|
export type { CartAmounts } from './models/CartAmounts';
|
|
15
16
|
export type { CartClearResult } from './models/CartClearResult';
|
|
@@ -17,7 +18,6 @@ export type { CartCounts } from './models/CartCounts';
|
|
|
17
18
|
export type { CartCountsLite } from './models/CartCountsLite';
|
|
18
19
|
export type { CartHashResponse } from './models/CartHashResponse';
|
|
19
20
|
export type { CartItemCounts } from './models/CartItemCounts';
|
|
20
|
-
export type { CartStateEnvelope } from './models/CartStateEnvelope';
|
|
21
21
|
export type { CartSummary } from './models/CartSummary';
|
|
22
22
|
export type { CartTierOption } from './models/CartTierOption';
|
|
23
23
|
export type { CartTierSeat } from './models/CartTierSeat';
|
|
@@ -39,7 +39,7 @@ export type { CheckoutSuccessResponse } from './models/CheckoutSuccessResponse';
|
|
|
39
39
|
export type { CodeDto } from './models/CodeDto';
|
|
40
40
|
export type { CompleteBody } from './models/CompleteBody';
|
|
41
41
|
export type { ConnectedAccountResponse } from './models/ConnectedAccountResponse';
|
|
42
|
-
export
|
|
42
|
+
export { CorrelatedCode } from './models/CorrelatedCode';
|
|
43
43
|
export type { CreateCustomerResponse } from './models/CreateCustomerResponse';
|
|
44
44
|
export type { CreatePaymentIntentBody } from './models/CreatePaymentIntentBody';
|
|
45
45
|
export type { CreatePaymentIntentResponse } from './models/CreatePaymentIntentResponse';
|
|
@@ -55,6 +55,7 @@ export type { DonationText } from './models/DonationText';
|
|
|
55
55
|
export type { EmailUpdate } from './models/EmailUpdate';
|
|
56
56
|
export type { EngineSeat } from './models/EngineSeat';
|
|
57
57
|
export type { EventDetails } from './models/EventDetails';
|
|
58
|
+
export type { EventFormat } from './models/EventFormat';
|
|
58
59
|
export type { EventGroup } from './models/EventGroup';
|
|
59
60
|
export type { EventLegend } from './models/EventLegend';
|
|
60
61
|
export type { EventLegendItem } from './models/EventLegendItem';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StripeService = exports.SessionService = exports.SeatService = exports.ProductService = exports.PaymentService = exports.OrderService = exports.HealthService = exports.GiftCardService = exports.EventService = exports.DonationService = exports.CodeService = exports.CheckoutService = exports.CartService = exports.AccountService = exports.OpenAPI = exports.CancelError = exports.CancelablePromise = exports.ApiError = void 0;
|
|
3
|
+
exports.StripeService = exports.SessionService = exports.SeatService = exports.ProductService = exports.PaymentService = exports.OrderService = exports.HealthService = exports.GiftCardService = exports.EventService = exports.DonationService = exports.CodeService = exports.CheckoutService = exports.CartService = exports.AccountService = exports.CorrelatedCode = exports.OpenAPI = exports.CancelError = exports.CancelablePromise = exports.ApiError = void 0;
|
|
4
4
|
/* generated using openapi-typescript-codegen -- do not edit */
|
|
5
5
|
/* istanbul ignore file */
|
|
6
6
|
/* tslint:disable */
|
|
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "CancelablePromise", { enumerable: true, get: fun
|
|
|
12
12
|
Object.defineProperty(exports, "CancelError", { enumerable: true, get: function () { return CancelablePromise_1.CancelError; } });
|
|
13
13
|
var OpenAPI_1 = require("./core/OpenAPI");
|
|
14
14
|
Object.defineProperty(exports, "OpenAPI", { enumerable: true, get: function () { return OpenAPI_1.OpenAPI; } });
|
|
15
|
+
var CorrelatedCode_1 = require("./models/CorrelatedCode");
|
|
16
|
+
Object.defineProperty(exports, "CorrelatedCode", { enumerable: true, get: function () { return CorrelatedCode_1.CorrelatedCode; } });
|
|
15
17
|
var AccountService_1 = require("./services/AccountService");
|
|
16
18
|
Object.defineProperty(exports, "AccountService", { enumerable: true, get: function () { return AccountService_1.AccountService; } });
|
|
17
19
|
var CartService_1 = require("./services/CartService");
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type CapabilityManifestDto = {
|
|
2
|
+
/**
|
|
3
|
+
* True when session.logged_in = 1 AND a session_admin row exists for this (shopper, studio) — i.e. a box-office operator is driving the session.
|
|
4
|
+
*/
|
|
5
|
+
operator: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* True when the requesting IP appears in whitelist_ip.
|
|
8
|
+
*/
|
|
9
|
+
whitelistedIp: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The IP the server saw. Null unless whitelistedIp is true.
|
|
12
|
+
*/
|
|
13
|
+
ip: string | null;
|
|
14
|
+
/**
|
|
15
|
+
* What the UI may paint. A RENDERING HINT, not a permission: every entry corresponds to a server-side check that is enforced independently, and a client that fakes this list gains nothing.
|
|
16
|
+
*/
|
|
17
|
+
capabilities: Array<'debug-bar' | 'cash-payment' | 'order-testing' | 'pos-defaults'>;
|
|
18
|
+
};
|
|
@@ -11,4 +11,27 @@ export type CorrelatedCode = {
|
|
|
11
11
|
* Human-readable summary of the code (shows, seats, effect).
|
|
12
12
|
*/
|
|
13
13
|
details: string | null;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the code can be applied now. The listing includes codes that cannot be, so the UI can say WHY (the legacy modal printed "Already Used" / "EXPIRED {date}" / "AVAILABLE {date}" beside a disabled button) rather than offering an Apply that will fail.
|
|
16
|
+
*/
|
|
17
|
+
status: CorrelatedCode.status;
|
|
18
|
+
/**
|
|
19
|
+
* Calendar date (yyyy-MM-dd) the code becomes usable, or null if it already is. Drives the "AVAILABLE {date}" label. Naive by design: the column carries a wall clock in the studio's own time, and an instant renders a day early west of Greenwich.
|
|
20
|
+
*/
|
|
21
|
+
availableFrom: string | null;
|
|
22
|
+
/**
|
|
23
|
+
* Calendar date (yyyy-MM-dd) the code expires, or null if it never does. Drives the "EXPIRED {date}" label. Naive, as availableFrom.
|
|
24
|
+
*/
|
|
25
|
+
expiresAt: string | null;
|
|
14
26
|
};
|
|
27
|
+
export declare namespace CorrelatedCode {
|
|
28
|
+
/**
|
|
29
|
+
* Whether the code can be applied now. The listing includes codes that cannot be, so the UI can say WHY (the legacy modal printed "Already Used" / "EXPIRED {date}" / "AVAILABLE {date}" beside a disabled button) rather than offering an Apply that will fail.
|
|
30
|
+
*/
|
|
31
|
+
enum status {
|
|
32
|
+
AVAILABLE = "available",
|
|
33
|
+
USED = "used",
|
|
34
|
+
EXPIRED = "expired",
|
|
35
|
+
NOT_YET = "notYet"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CorrelatedCode = void 0;
|
|
4
|
+
var CorrelatedCode;
|
|
5
|
+
(function (CorrelatedCode) {
|
|
6
|
+
/**
|
|
7
|
+
* Whether the code can be applied now. The listing includes codes that cannot be, so the UI can say WHY (the legacy modal printed "Already Used" / "EXPIRED {date}" / "AVAILABLE {date}" beside a disabled button) rather than offering an Apply that will fail.
|
|
8
|
+
*/
|
|
9
|
+
let status;
|
|
10
|
+
(function (status) {
|
|
11
|
+
status["AVAILABLE"] = "available";
|
|
12
|
+
status["USED"] = "used";
|
|
13
|
+
status["EXPIRED"] = "expired";
|
|
14
|
+
status["NOT_YET"] = "notYet";
|
|
15
|
+
})(status = CorrelatedCode.status || (CorrelatedCode.status = {}));
|
|
16
|
+
})(CorrelatedCode || (exports.CorrelatedCode = CorrelatedCode = {}));
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type EventFormat = {
|
|
2
|
+
/**
|
|
3
|
+
* The show id of this format.
|
|
4
|
+
*/
|
|
5
|
+
showId: number;
|
|
6
|
+
/**
|
|
7
|
+
* show.type_id — the format kind.
|
|
8
|
+
*/
|
|
9
|
+
typeId: number;
|
|
10
|
+
/**
|
|
11
|
+
* This format's seating-chart id (PROJ-902 — lets a sibling format's pill link directly without resolving the chart on click).
|
|
12
|
+
*/
|
|
13
|
+
chartId: number;
|
|
14
|
+
/**
|
|
15
|
+
* Roster (performer) count for this format (PROJ-912).
|
|
16
|
+
*/
|
|
17
|
+
rosterCount: number;
|
|
18
|
+
};
|