@missioncontrolio/client 0.0.9 → 0.0.11
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 +31 -0
- package/dist/client/autoCancelOrderHandler.d.ts +7 -0
- package/dist/client/autoCancelOrderHandler.js +95 -0
- package/dist/client/clientBuilder.d.ts +22 -0
- package/dist/client/clientBuilder.js +74 -0
- package/dist/client/generated/client.d.ts +20 -0
- package/{src/client/generated/client.ts → dist/client/generated/client.js} +14 -79
- package/dist/client/generated/models/index.d.ts +282 -0
- package/dist/client/generated/models/index.js +625 -0
- package/dist/client/generated/order/cancelOrder/index.d.ts +8 -0
- package/dist/client/generated/order/cancelOrder/index.js +17 -0
- package/dist/client/generated/order/claimReservation/index.d.ts +7 -0
- package/dist/client/generated/order/claimReservation/index.js +8 -0
- package/dist/client/generated/order/claimReservation/item/index.d.ts +8 -0
- package/dist/client/generated/order/claimReservation/item/index.js +17 -0
- package/dist/client/generated/order/createOrder/index.d.ts +8 -0
- package/dist/client/generated/order/createOrder/index.js +17 -0
- package/dist/client/generated/order/index.d.ts +25 -0
- package/dist/client/generated/order/index.js +32 -0
- package/dist/client/generated/order/reportOrder/index.d.ts +8 -0
- package/dist/client/generated/order/reportOrder/index.js +17 -0
- package/dist/client/generated/partner/index.d.ts +12 -0
- package/dist/client/generated/partner/index.js +14 -0
- package/dist/client/generated/priceList/index.d.ts +12 -0
- package/dist/client/generated/priceList/index.js +14 -0
- package/dist/client/generated/product/hasStock/index.d.ts +8 -0
- package/dist/client/generated/product/hasStock/index.js +17 -0
- package/dist/client/generated/product/index.d.ts +35 -0
- package/dist/client/generated/product/index.js +42 -0
- package/dist/client/generated/product/item/index.d.ts +7 -0
- package/dist/client/generated/product/item/index.js +7 -0
- package/dist/client/generated/product/item/redemptionInstructions/index.d.ts +8 -0
- package/dist/client/generated/product/item/redemptionInstructions/index.js +15 -0
- package/dist/client/generated/publisher/index.d.ts +12 -0
- package/dist/client/generated/publisher/index.js +14 -0
- package/dist/client/generated/region/index.d.ts +14 -0
- package/dist/client/generated/region/index.js +14 -0
- package/dist/client/generated/reservation/index.d.ts +11 -0
- package/dist/client/generated/reservation/index.js +25 -0
- package/dist/client/generated/reservation/item/cancel/index.d.ts +8 -0
- package/dist/client/generated/reservation/item/cancel/index.js +14 -0
- package/dist/client/generated/reservation/item/index.d.ts +11 -0
- package/dist/client/generated/reservation/item/index.js +20 -0
- package/dist/client/generatedAssets/assetPack/index.d.ts +7 -0
- package/dist/client/generatedAssets/assetPack/index.js +8 -0
- package/dist/client/generatedAssets/assetPack/item/index.d.ts +7 -0
- package/dist/client/generatedAssets/assetPack/item/index.js +9 -0
- package/dist/client/generatedAssets/assetPack/item/item/index.d.ts +11 -0
- package/dist/client/generatedAssets/assetPack/item/item/index.js +21 -0
- package/dist/client/generatedAssets/assetPack/item/item/item/index.d.ts +8 -0
- package/dist/client/generatedAssets/assetPack/item/item/item/index.js +14 -0
- package/dist/client/generatedAssets/assetsClient.d.ts +8 -0
- package/dist/client/generatedAssets/assetsClient.js +38 -0
- package/dist/client/generatedAssets/models/index.d.ts +54 -0
- package/dist/client/generatedAssets/models/index.js +117 -0
- package/dist/client/missionControlEnvironment.d.ts +7 -0
- package/dist/client/missionControlEnvironment.js +26 -0
- package/dist/client/missionControlHandlers.d.ts +2 -0
- package/dist/client/missionControlHandlers.js +34 -0
- package/dist/client/missionControlHeaders.d.ts +3 -0
- package/dist/client/missionControlHeaders.js +3 -0
- package/dist/client/nonIdempotentPaths.d.ts +1 -0
- package/dist/client/nonIdempotentPaths.js +5 -0
- package/dist/client/partnerIdHandler.d.ts +8 -0
- package/dist/client/partnerIdHandler.js +14 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +3 -0
- package/package.json +15 -3
- package/.env.local.example +0 -9
- package/src/client/autoCancelOrderHandler.ts +0 -135
- package/src/client/clientBuilder.ts +0 -139
- package/src/client/generated/kiota-lock.json +0 -34
- package/src/client/generated/models/index.ts +0 -1723
- package/src/client/generated/order/cancelOrder/index.ts +0 -53
- package/src/client/generated/order/claimReservation/index.ts +0 -34
- package/src/client/generated/order/claimReservation/item/index.ts +0 -53
- package/src/client/generated/order/createOrder/index.ts +0 -53
- package/src/client/generated/order/index.ts +0 -112
- package/src/client/generated/order/reportOrder/index.ts +0 -53
- package/src/client/generated/partner/index.ts +0 -55
- package/src/client/generated/priceList/index.ts +0 -55
- package/src/client/generated/product/hasStock/index.ts +0 -53
- package/src/client/generated/product/index.ts +0 -119
- package/src/client/generated/publisher/index.ts +0 -55
- package/src/client/generated/region/index.ts +0 -63
- package/src/client/generated/reservation/index.ts +0 -71
- package/src/client/generated/reservation/item/cancel/index.ts +0 -48
- package/src/client/generated/reservation/item/index.ts +0 -62
- package/src/client/missionControlEnvironment.ts +0 -32
- package/src/client/missionControlHandlers.ts +0 -61
- package/src/client/missionControlHeaders.ts +0 -10
- package/src/client/nonIdempotentPaths.ts +0 -9
- package/src/client/partnerIdHandler.ts +0 -33
- package/tests/autoCancelOrderHandler.test.ts +0 -263
- package/tests/clientBuilder.test.ts +0 -154
- package/tests/integration/fixture.ts +0 -50
- package/tests/integration/partner.test.ts +0 -32
- package/tests/integration/priceList.test.ts +0 -28
- package/tests/integration/product.test.ts +0 -30
- package/tests/integration/publisher.test.ts +0 -30
- package/tests/integration/region.test.ts +0 -36
- package/tests/integration/setup.ts +0 -22
- package/tests/missionControlEnvironment.test.ts +0 -66
- package/tests/missionControlHeaders.test.ts +0 -20
- package/tsconfig.json +0 -18
- package/vitest.config.ts +0 -8
- package/vitest.integration.config.ts +0 -9
package/README.md
CHANGED
|
@@ -65,6 +65,18 @@ const response = await client.product.hasStock.post({
|
|
|
65
65
|
console.log(response?.hasStock ? "In stock" : "Out of stock");
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
+
### Get redemption instructions
|
|
69
|
+
|
|
70
|
+
Retrieve a product's redemption instructions (one entry per language) before placing an order.
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
const instructions = await client.product.byProductId(productId).redemptionInstructions.get();
|
|
74
|
+
|
|
75
|
+
for (const instruction of instructions ?? []) {
|
|
76
|
+
console.log(`${instruction.languageCode}: ${instruction.text}`);
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
68
80
|
### Reserve → claim (place an order)
|
|
69
81
|
|
|
70
82
|
```ts
|
|
@@ -102,6 +114,24 @@ console.log(`Order ${order!.id} placed.`);
|
|
|
102
114
|
await client.reservation.byReservationId(reservation!.id!).cancel.post();
|
|
103
115
|
```
|
|
104
116
|
|
|
117
|
+
### Get asset packs
|
|
118
|
+
|
|
119
|
+
Asset packs hold the images, logos and other marketing assets publishers provide for a product. They are served by the Assets API, available on `client.assets`.
|
|
120
|
+
|
|
121
|
+
```ts
|
|
122
|
+
const product = client.assets.assetPack.byPublisherId(publisherId).byProductId(productId);
|
|
123
|
+
const packs = await product.get();
|
|
124
|
+
|
|
125
|
+
for (const pack of packs?.result ?? []) {
|
|
126
|
+
// Fetch a pack to get its assets.
|
|
127
|
+
const detail = await product.byAssetPackId(pack.id!).get();
|
|
128
|
+
|
|
129
|
+
for (const asset of detail?.assets ?? []) {
|
|
130
|
+
console.log(`${asset.fileName} ${asset.url}`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
105
135
|
### Filtering and pagination
|
|
106
136
|
|
|
107
137
|
All list endpoints accept an optional `queryParameters` object for filtering and pagination. Every parameter is optional — only set what you need.
|
|
@@ -137,6 +167,7 @@ const result = await client.product.get({
|
|
|
137
167
|
| `withDefaultPartnerId(partnerId)` | Set the `X-Partner-Id` header for every request |
|
|
138
168
|
| `forEnvironment(env)` | Target `Sandbox` or `Production` |
|
|
139
169
|
| `withBaseUrl(url)` | Override the base URL (e.g. for local development) |
|
|
170
|
+
| `withAssetsBaseUrl(url)` | Override the base URL of the Assets API |
|
|
140
171
|
| `withScope(scope)` | Override the OAuth scope |
|
|
141
172
|
| `build()` | Return the configured `Client` instance |
|
|
142
173
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RequestOption } from "@microsoft/kiota-abstractions";
|
|
2
|
+
import type { Middleware } from "@microsoft/kiota-http-fetchlibrary";
|
|
3
|
+
export declare class AutoCancelOrderHandler implements Middleware {
|
|
4
|
+
next: Middleware | undefined;
|
|
5
|
+
execute(url: string, requestInit: RequestInit, requestOptions?: Record<string, RequestOption>): Promise<Response>;
|
|
6
|
+
private tryCancelOrderAsync;
|
|
7
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { MissionControlHeaders } from "./missionControlHeaders.js";
|
|
2
|
+
import { nonIdempotentPaths } from "./nonIdempotentPaths.js";
|
|
3
|
+
const CANCEL_TIMEOUT_MS = 30000;
|
|
4
|
+
export class AutoCancelOrderHandler {
|
|
5
|
+
async execute(url, requestInit, requestOptions) {
|
|
6
|
+
if (!isAutoCancelEndpoint(url)) {
|
|
7
|
+
return this.next.execute(url, requestInit, requestOptions);
|
|
8
|
+
}
|
|
9
|
+
const requestBody = requestInit.body != null ? String(requestInit.body) : null;
|
|
10
|
+
let response;
|
|
11
|
+
try {
|
|
12
|
+
response = await this.next.execute(url, requestInit, requestOptions);
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
await this.tryCancelOrderAsync(url, requestInit, requestBody);
|
|
16
|
+
throw err;
|
|
17
|
+
}
|
|
18
|
+
if (isServerError(response)) {
|
|
19
|
+
await this.tryCancelOrderAsync(url, requestInit, requestBody);
|
|
20
|
+
}
|
|
21
|
+
return response;
|
|
22
|
+
}
|
|
23
|
+
async tryCancelOrderAsync(originalUrl, originalInit, requestBody) {
|
|
24
|
+
try {
|
|
25
|
+
const requestId = extractRequestId(requestBody);
|
|
26
|
+
if (requestId == null)
|
|
27
|
+
return;
|
|
28
|
+
const cancelUrl = buildCancelUrl(originalUrl);
|
|
29
|
+
if (cancelUrl == null)
|
|
30
|
+
return;
|
|
31
|
+
const headers = new Headers();
|
|
32
|
+
headers.set("Content-Type", "application/json");
|
|
33
|
+
const originalHeaders = new Headers(originalInit.headers);
|
|
34
|
+
const auth = originalHeaders.get("Authorization");
|
|
35
|
+
if (auth)
|
|
36
|
+
headers.set("Authorization", auth);
|
|
37
|
+
const partnerId = originalHeaders.get(MissionControlHeaders.PartnerId);
|
|
38
|
+
if (partnerId)
|
|
39
|
+
headers.set(MissionControlHeaders.PartnerId, partnerId);
|
|
40
|
+
const cancelInit = {
|
|
41
|
+
method: "POST",
|
|
42
|
+
headers,
|
|
43
|
+
body: JSON.stringify({ originalRequestId: requestId }),
|
|
44
|
+
signal: AbortSignal.timeout(CANCEL_TIMEOUT_MS),
|
|
45
|
+
};
|
|
46
|
+
await this.next.execute(cancelUrl, cancelInit, undefined);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function isAutoCancelEndpoint(url) {
|
|
53
|
+
try {
|
|
54
|
+
const path = new URL(url).pathname;
|
|
55
|
+
return nonIdempotentPaths.some((prefix) => path.toLowerCase().includes(prefix.toLowerCase()));
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function isServerError(response) {
|
|
62
|
+
return response.status >= 500;
|
|
63
|
+
}
|
|
64
|
+
function extractRequestId(json) {
|
|
65
|
+
if (!json)
|
|
66
|
+
return null;
|
|
67
|
+
try {
|
|
68
|
+
const parsed = JSON.parse(json);
|
|
69
|
+
if (parsed != null &&
|
|
70
|
+
typeof parsed === "object" &&
|
|
71
|
+
"requestId" in parsed &&
|
|
72
|
+
typeof parsed.requestId === "string") {
|
|
73
|
+
return parsed.requestId;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
function buildCancelUrl(url) {
|
|
81
|
+
try {
|
|
82
|
+
const parsed = new URL(url);
|
|
83
|
+
const path = parsed.pathname;
|
|
84
|
+
const orderIndex = path.toLowerCase().indexOf("/order/");
|
|
85
|
+
if (orderIndex < 0)
|
|
86
|
+
return null;
|
|
87
|
+
parsed.pathname =
|
|
88
|
+
path.slice(0, orderIndex + "/Order/".length) + "cancelOrder";
|
|
89
|
+
parsed.search = "";
|
|
90
|
+
return parsed.toString();
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MissionControlEnvironment } from "./missionControlEnvironment.js";
|
|
2
|
+
import { type Client } from "./generated/client.js";
|
|
3
|
+
import { type AssetsClient } from "./generatedAssets/assetsClient.js";
|
|
4
|
+
export type MissionControlClient = Client & {
|
|
5
|
+
readonly assets: AssetsClient;
|
|
6
|
+
};
|
|
7
|
+
export declare class ClientBuilder {
|
|
8
|
+
private _baseUrl;
|
|
9
|
+
private _assetsBaseUrl;
|
|
10
|
+
private _scope;
|
|
11
|
+
private _tenantId;
|
|
12
|
+
private _clientId?;
|
|
13
|
+
private _clientSecret?;
|
|
14
|
+
private _defaultPartnerId?;
|
|
15
|
+
withDefaultPartnerId(partnerId: string): this;
|
|
16
|
+
withBaseUrl(baseUrl: string): this;
|
|
17
|
+
withAssetsBaseUrl(assetsBaseUrl: string): this;
|
|
18
|
+
withScope(scope: string): this;
|
|
19
|
+
forEnvironment(environment: MissionControlEnvironment): this;
|
|
20
|
+
withAzureAdClientCredentials(clientId: string, clientSecret: string, tenantId?: string): this;
|
|
21
|
+
build(): MissionControlClient;
|
|
22
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { ClientSecretCredential } from "@azure/identity";
|
|
2
|
+
import { AzureIdentityAuthenticationProvider } from "@microsoft/kiota-authentication-azure";
|
|
3
|
+
import { FetchRequestAdapter, KiotaClientFactory, } from "@microsoft/kiota-http-fetchlibrary";
|
|
4
|
+
import { getAssetsBaseUrl, getBaseUrl, getScope, MissionControlEnvironment, } from "./missionControlEnvironment.js";
|
|
5
|
+
import { createClient } from "./generated/client.js";
|
|
6
|
+
import { createAssetsClient } from "./generatedAssets/assetsClient.js";
|
|
7
|
+
import { createHandlers } from "./missionControlHandlers.js";
|
|
8
|
+
export class ClientBuilder {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._baseUrl = getBaseUrl(MissionControlEnvironment.Production);
|
|
11
|
+
this._assetsBaseUrl = getAssetsBaseUrl(MissionControlEnvironment.Production);
|
|
12
|
+
this._scope = getScope(MissionControlEnvironment.Production);
|
|
13
|
+
this._tenantId = "13d084c1-d072-41f2-878b-c45ca721c9f6";
|
|
14
|
+
}
|
|
15
|
+
withDefaultPartnerId(partnerId) {
|
|
16
|
+
if (!partnerId?.trim())
|
|
17
|
+
throw new Error("partnerId must not be null or whitespace.");
|
|
18
|
+
this._defaultPartnerId = partnerId;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
withBaseUrl(baseUrl) {
|
|
22
|
+
if (!baseUrl?.trim())
|
|
23
|
+
throw new Error("baseUrl must not be null or whitespace.");
|
|
24
|
+
this._baseUrl = baseUrl;
|
|
25
|
+
return this;
|
|
26
|
+
}
|
|
27
|
+
withAssetsBaseUrl(assetsBaseUrl) {
|
|
28
|
+
if (!assetsBaseUrl?.trim())
|
|
29
|
+
throw new Error("assetsBaseUrl must not be null or whitespace.");
|
|
30
|
+
this._assetsBaseUrl = assetsBaseUrl;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
withScope(scope) {
|
|
34
|
+
if (!scope?.trim())
|
|
35
|
+
throw new Error("scope must not be null or whitespace.");
|
|
36
|
+
this._scope = scope;
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
forEnvironment(environment) {
|
|
40
|
+
this._baseUrl = getBaseUrl(environment);
|
|
41
|
+
this._assetsBaseUrl = getAssetsBaseUrl(environment);
|
|
42
|
+
this._scope = getScope(environment);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
withAzureAdClientCredentials(clientId, clientSecret, tenantId) {
|
|
46
|
+
this._clientId = clientId;
|
|
47
|
+
this._clientSecret = clientSecret;
|
|
48
|
+
if (tenantId)
|
|
49
|
+
this._tenantId = tenantId;
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
build() {
|
|
53
|
+
if (!this._clientId || !this._clientSecret) {
|
|
54
|
+
throw new Error("No credentials configured. " +
|
|
55
|
+
"Call withAzureAdClientCredentials() before calling build().");
|
|
56
|
+
}
|
|
57
|
+
const credential = new ClientSecretCredential(this._tenantId, this._clientId, this._clientSecret);
|
|
58
|
+
const allowedHosts = new Set([
|
|
59
|
+
new URL(this._baseUrl).host,
|
|
60
|
+
new URL(this._assetsBaseUrl).host,
|
|
61
|
+
]);
|
|
62
|
+
const authProvider = new AzureIdentityAuthenticationProvider(credential, [this._scope], undefined, allowedHosts);
|
|
63
|
+
const middlewares = createHandlers(this._defaultPartnerId);
|
|
64
|
+
const httpClient = KiotaClientFactory.create(undefined, middlewares);
|
|
65
|
+
const adapter = new FetchRequestAdapter(authProvider, undefined, undefined, httpClient);
|
|
66
|
+
adapter.baseUrl = this._baseUrl;
|
|
67
|
+
const assetsAdapter = new FetchRequestAdapter(authProvider, undefined, undefined, httpClient);
|
|
68
|
+
assetsAdapter.baseUrl = this._assetsBaseUrl;
|
|
69
|
+
const assets = createAssetsClient(assetsAdapter);
|
|
70
|
+
return new Proxy(createClient(adapter), {
|
|
71
|
+
get: (target, property, receiver) => property === "assets" ? assets : Reflect.get(target, property, receiver),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type OrderRequestBuilder } from './order/index.js';
|
|
2
|
+
import { type PartnerRequestBuilder } from './partner/index.js';
|
|
3
|
+
import { type PriceListRequestBuilder } from './priceList/index.js';
|
|
4
|
+
import { type ProductRequestBuilder } from './product/index.js';
|
|
5
|
+
import { type PublisherRequestBuilder } from './publisher/index.js';
|
|
6
|
+
import { type RegionRequestBuilder } from './region/index.js';
|
|
7
|
+
import { type ReservationRequestBuilder } from './reservation/index.js';
|
|
8
|
+
import { type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestAdapter } from '@microsoft/kiota-abstractions';
|
|
9
|
+
export interface Client extends BaseRequestBuilder<Client> {
|
|
10
|
+
get order(): OrderRequestBuilder;
|
|
11
|
+
get partner(): PartnerRequestBuilder;
|
|
12
|
+
get priceList(): PriceListRequestBuilder;
|
|
13
|
+
get product(): ProductRequestBuilder;
|
|
14
|
+
get publisher(): PublisherRequestBuilder;
|
|
15
|
+
get region(): RegionRequestBuilder;
|
|
16
|
+
get reservation(): ReservationRequestBuilder;
|
|
17
|
+
}
|
|
18
|
+
export declare function createClient(requestAdapter: RequestAdapter): Client;
|
|
19
|
+
export declare const ClientUriTemplate = "{+baseurl}";
|
|
20
|
+
export declare const ClientNavigationMetadata: Record<Exclude<keyof Client, KeysToExcludeForNavigationMetadata>, NavigationMetadata>;
|
|
@@ -1,106 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
import { PriceListRequestBuilderRequestsMetadata, type PriceListRequestBuilder } from './priceList/index.js';
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
import { ProductRequestBuilderNavigationMetadata, ProductRequestBuilderRequestsMetadata, type ProductRequestBuilder } from './product/index.js';
|
|
12
|
-
// @ts-ignore
|
|
13
|
-
import { PublisherRequestBuilderRequestsMetadata, type PublisherRequestBuilder } from './publisher/index.js';
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
import { RegionRequestBuilderRequestsMetadata, type RegionRequestBuilder } from './region/index.js';
|
|
16
|
-
// @ts-ignore
|
|
17
|
-
import { ReservationRequestBuilderNavigationMetadata, ReservationRequestBuilderRequestsMetadata, type ReservationRequestBuilder } from './reservation/index.js';
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
import { apiClientProxifier, ParseNodeFactoryRegistry, SerializationWriterFactoryRegistry, type BaseRequestBuilder, type KeysToExcludeForNavigationMetadata, type NavigationMetadata, type RequestAdapter } from '@microsoft/kiota-abstractions';
|
|
20
|
-
// @ts-ignore
|
|
1
|
+
import { OrderRequestBuilderNavigationMetadata, OrderRequestBuilderRequestsMetadata } from './order/index.js';
|
|
2
|
+
import { PartnerRequestBuilderRequestsMetadata } from './partner/index.js';
|
|
3
|
+
import { PriceListRequestBuilderRequestsMetadata } from './priceList/index.js';
|
|
4
|
+
import { ProductRequestBuilderNavigationMetadata, ProductRequestBuilderRequestsMetadata } from './product/index.js';
|
|
5
|
+
import { PublisherRequestBuilderRequestsMetadata } from './publisher/index.js';
|
|
6
|
+
import { RegionRequestBuilderRequestsMetadata } from './region/index.js';
|
|
7
|
+
import { ReservationRequestBuilderNavigationMetadata, ReservationRequestBuilderRequestsMetadata } from './reservation/index.js';
|
|
8
|
+
import { apiClientProxifier } from '@microsoft/kiota-abstractions';
|
|
21
9
|
import { FormParseNodeFactory, FormSerializationWriterFactory } from '@microsoft/kiota-serialization-form';
|
|
22
|
-
// @ts-ignore
|
|
23
10
|
import { JsonParseNodeFactory, JsonSerializationWriterFactory } from '@microsoft/kiota-serialization-json';
|
|
24
|
-
// @ts-ignore
|
|
25
11
|
import { MultipartSerializationWriterFactory } from '@microsoft/kiota-serialization-multipart';
|
|
26
|
-
// @ts-ignore
|
|
27
12
|
import { TextParseNodeFactory, TextSerializationWriterFactory } from '@microsoft/kiota-serialization-text';
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* The main entry point of the SDK, exposes the configuration and the fluent API.
|
|
31
|
-
*/
|
|
32
|
-
export interface Client extends BaseRequestBuilder<Client> {
|
|
33
|
-
/**
|
|
34
|
-
* The Order property
|
|
35
|
-
*/
|
|
36
|
-
get order(): OrderRequestBuilder;
|
|
37
|
-
/**
|
|
38
|
-
* The Partner property
|
|
39
|
-
*/
|
|
40
|
-
get partner(): PartnerRequestBuilder;
|
|
41
|
-
/**
|
|
42
|
-
* The PriceList property
|
|
43
|
-
*/
|
|
44
|
-
get priceList(): PriceListRequestBuilder;
|
|
45
|
-
/**
|
|
46
|
-
* The Product property
|
|
47
|
-
*/
|
|
48
|
-
get product(): ProductRequestBuilder;
|
|
49
|
-
/**
|
|
50
|
-
* The Publisher property
|
|
51
|
-
*/
|
|
52
|
-
get publisher(): PublisherRequestBuilder;
|
|
53
|
-
/**
|
|
54
|
-
* The Region property
|
|
55
|
-
*/
|
|
56
|
-
get region(): RegionRequestBuilder;
|
|
57
|
-
/**
|
|
58
|
-
* The Reservation property
|
|
59
|
-
*/
|
|
60
|
-
get reservation(): ReservationRequestBuilder;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Instantiates a new {@link Client} and sets the default values.
|
|
64
|
-
* @param requestAdapter The request adapter to use to execute the requests.
|
|
65
|
-
*/
|
|
66
|
-
// @ts-ignore
|
|
67
|
-
export function createClient(requestAdapter: RequestAdapter) {
|
|
13
|
+
export function createClient(requestAdapter) {
|
|
68
14
|
if (requestAdapter === undefined) {
|
|
69
15
|
throw new Error("requestAdapter cannot be undefined");
|
|
70
16
|
}
|
|
71
|
-
const serializationWriterFactory = requestAdapter.getSerializationWriterFactory()
|
|
72
|
-
const parseNodeFactoryRegistry = requestAdapter.getParseNodeFactory()
|
|
17
|
+
const serializationWriterFactory = requestAdapter.getSerializationWriterFactory();
|
|
18
|
+
const parseNodeFactoryRegistry = requestAdapter.getParseNodeFactory();
|
|
73
19
|
const backingStoreFactory = requestAdapter.getBackingStoreFactory();
|
|
74
|
-
|
|
75
20
|
if (parseNodeFactoryRegistry.registerDefaultDeserializer) {
|
|
76
21
|
parseNodeFactoryRegistry.registerDefaultDeserializer(JsonParseNodeFactory, backingStoreFactory);
|
|
77
22
|
parseNodeFactoryRegistry.registerDefaultDeserializer(TextParseNodeFactory, backingStoreFactory);
|
|
78
23
|
parseNodeFactoryRegistry.registerDefaultDeserializer(FormParseNodeFactory, backingStoreFactory);
|
|
79
24
|
}
|
|
80
|
-
|
|
81
25
|
if (serializationWriterFactory.registerDefaultSerializer) {
|
|
82
26
|
serializationWriterFactory.registerDefaultSerializer(JsonSerializationWriterFactory);
|
|
83
27
|
serializationWriterFactory.registerDefaultSerializer(TextSerializationWriterFactory);
|
|
84
28
|
serializationWriterFactory.registerDefaultSerializer(FormSerializationWriterFactory);
|
|
85
29
|
serializationWriterFactory.registerDefaultSerializer(MultipartSerializationWriterFactory);
|
|
86
30
|
}
|
|
87
|
-
|
|
88
31
|
if (requestAdapter.baseUrl === undefined || requestAdapter.baseUrl === null || requestAdapter.baseUrl === "") {
|
|
89
32
|
requestAdapter.baseUrl = "https://api.missioncontrol.io/partnerApi/v2";
|
|
90
33
|
}
|
|
91
|
-
const pathParameters
|
|
34
|
+
const pathParameters = {
|
|
92
35
|
"baseurl": requestAdapter.baseUrl,
|
|
93
36
|
};
|
|
94
|
-
return apiClientProxifier
|
|
37
|
+
return apiClientProxifier(requestAdapter, pathParameters, ClientNavigationMetadata, undefined);
|
|
95
38
|
}
|
|
96
|
-
/**
|
|
97
|
-
* Uri template for the request builder.
|
|
98
|
-
*/
|
|
99
39
|
export const ClientUriTemplate = "{+baseurl}";
|
|
100
|
-
|
|
101
|
-
* Metadata for all the navigation properties in the request builder.
|
|
102
|
-
*/
|
|
103
|
-
export const ClientNavigationMetadata: Record<Exclude<keyof Client, KeysToExcludeForNavigationMetadata>, NavigationMetadata> = {
|
|
40
|
+
export const ClientNavigationMetadata = {
|
|
104
41
|
order: {
|
|
105
42
|
requestsMetadata: OrderRequestBuilderRequestsMetadata,
|
|
106
43
|
navigationMetadata: OrderRequestBuilderNavigationMetadata,
|
|
@@ -126,5 +63,3 @@ export const ClientNavigationMetadata: Record<Exclude<keyof Client, KeysToExclud
|
|
|
126
63
|
navigationMetadata: ReservationRequestBuilderNavigationMetadata,
|
|
127
64
|
},
|
|
128
65
|
};
|
|
129
|
-
/* tslint:enable */
|
|
130
|
-
/* eslint-enable */
|