@flexprice/sdk 2.1.2 → 2.1.3
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/docs/sdk/models/changed-invoice-action.md +19 -0
- package/docs/sdk/models/changed-invoice-status.md +19 -0
- package/docs/sdk/models/changed-invoice.md +19 -6
- package/docs/sdk/models/changed-line-item-action.md +19 -0
- package/docs/sdk/models/changed-line-item.md +1 -1
- package/docs/sdk/models/changed-resources.md +16 -1
- package/docs/sdk/models/changed-subscription-action.md +19 -0
- package/docs/sdk/models/changed-subscription.md +5 -5
- package/docs/sdk/models/clone-environment-request-request.md +19 -0
- package/docs/sdk/models/clone-environment-request.md +17 -0
- package/docs/sdk/models/clone-feature-request-request.md +19 -0
- package/docs/sdk/models/clone-feature-request.md +18 -0
- package/docs/sdk/models/{post-plans-id-clone-request.md → clone-plan-request-request.md} +3 -3
- package/docs/sdk/models/create-subscription-request.md +38 -37
- package/docs/sdk/models/environment-type.md +15 -0
- package/docs/sdk/models/subscription-modify-response.md +16 -0
- package/docs/sdk/models/window-size.md +2 -2
- package/docs/sdks/environments/README.md +79 -0
- package/docs/sdks/features/README.md +73 -0
- package/docs/sdks/plans/README.md +7 -7
- package/esm/funcs/environments-clone-environment.d.ts +17 -0
- package/esm/funcs/environments-clone-environment.d.ts.map +1 -0
- package/esm/funcs/environments-clone-environment.js +92 -0
- package/esm/funcs/environments-clone-environment.js.map +1 -0
- package/esm/funcs/features-clone-feature.d.ts +17 -0
- package/esm/funcs/features-clone-feature.d.ts.map +1 -0
- package/esm/funcs/features-clone-feature.js +92 -0
- package/esm/funcs/features-clone-feature.js.map +1 -0
- package/esm/funcs/{plans-post-plans-id-clone.d.ts → plans-clone-plan.d.ts} +2 -2
- package/esm/funcs/plans-clone-plan.d.ts.map +1 -0
- package/esm/funcs/{plans-post-plans-id-clone.js → plans-clone-plan.js} +4 -4
- package/esm/funcs/plans-clone-plan.js.map +1 -0
- package/esm/lib/config.d.ts +3 -3
- package/esm/lib/config.js +3 -3
- package/esm/sdk/environments.d.ts +12 -0
- package/esm/sdk/environments.d.ts.map +1 -0
- package/esm/sdk/environments.js +18 -0
- package/esm/sdk/environments.js.map +1 -0
- package/esm/sdk/features.d.ts +7 -0
- package/esm/sdk/features.d.ts.map +1 -1
- package/esm/sdk/features.js +10 -0
- package/esm/sdk/features.js.map +1 -1
- package/esm/sdk/models/changed-invoice-action.d.ts +16 -0
- package/esm/sdk/models/changed-invoice-action.d.ts.map +1 -0
- package/esm/sdk/models/changed-invoice-action.js +14 -0
- package/esm/sdk/models/changed-invoice-action.js.map +1 -0
- package/esm/sdk/models/changed-invoice-status.d.ts +16 -0
- package/esm/sdk/models/changed-invoice-status.d.ts.map +1 -0
- package/esm/sdk/models/changed-invoice-status.js +14 -0
- package/esm/sdk/models/changed-invoice-status.js.map +1 -0
- package/esm/sdk/models/changed-invoice.d.ts +12 -3
- package/esm/sdk/models/changed-invoice.d.ts.map +1 -1
- package/esm/sdk/models/changed-invoice.js +15 -4
- package/esm/sdk/models/changed-invoice.js.map +1 -1
- package/esm/sdk/models/changed-line-item-action.d.ts +17 -0
- package/esm/sdk/models/changed-line-item-action.d.ts.map +1 -0
- package/esm/sdk/models/changed-line-item-action.js +15 -0
- package/esm/sdk/models/changed-line-item-action.js.map +1 -0
- package/esm/sdk/models/changed-line-item.d.ts +3 -2
- package/esm/sdk/models/changed-line-item.d.ts.map +1 -1
- package/esm/sdk/models/changed-line-item.js +2 -1
- package/esm/sdk/models/changed-line-item.js.map +1 -1
- package/esm/sdk/models/changed-subscription-action.d.ts +16 -0
- package/esm/sdk/models/changed-subscription-action.d.ts.map +1 -0
- package/esm/sdk/models/changed-subscription-action.js +14 -0
- package/esm/sdk/models/changed-subscription-action.js.map +1 -0
- package/esm/sdk/models/changed-subscription.d.ts +3 -2
- package/esm/sdk/models/changed-subscription.d.ts.map +1 -1
- package/esm/sdk/models/changed-subscription.js +2 -1
- package/esm/sdk/models/changed-subscription.js.map +1 -1
- package/esm/sdk/models/clone-environment-op.d.ts +21 -0
- package/esm/sdk/models/clone-environment-op.d.ts.map +1 -0
- package/esm/sdk/models/clone-environment-op.js +14 -0
- package/esm/sdk/models/clone-environment-op.js.map +1 -0
- package/esm/sdk/models/clone-environment-request.d.ts +26 -0
- package/esm/sdk/models/clone-environment-request.d.ts.map +1 -0
- package/esm/sdk/models/clone-environment-request.js +20 -0
- package/esm/sdk/models/clone-environment-request.js.map +1 -0
- package/esm/sdk/models/clone-feature-op.d.ts +21 -0
- package/esm/sdk/models/clone-feature-op.d.ts.map +1 -0
- package/esm/sdk/models/clone-feature-op.js +14 -0
- package/esm/sdk/models/clone-feature-op.js.map +1 -0
- package/esm/sdk/models/clone-feature-request.d.ts +31 -0
- package/esm/sdk/models/clone-feature-request.d.ts.map +1 -0
- package/esm/sdk/models/clone-feature-request.js +20 -0
- package/esm/sdk/models/clone-feature-request.js.map +1 -0
- package/esm/sdk/models/clone-plan-op.d.ts +21 -0
- package/esm/sdk/models/clone-plan-op.d.ts.map +1 -0
- package/esm/sdk/models/{post-plans-id-clone-op.js → clone-plan-op.js} +4 -4
- package/esm/sdk/models/clone-plan-op.js.map +1 -0
- package/esm/sdk/models/create-subscription-request.d.ts +10 -0
- package/esm/sdk/models/create-subscription-request.d.ts.map +1 -1
- package/esm/sdk/models/create-subscription-request.js +2 -0
- package/esm/sdk/models/create-subscription-request.js.map +1 -1
- package/esm/sdk/models/environment-type.d.ts +10 -0
- package/esm/sdk/models/environment-type.d.ts.map +1 -0
- package/esm/sdk/models/environment-type.js +11 -0
- package/esm/sdk/models/environment-type.js.map +1 -0
- package/esm/sdk/models/index.d.ts +10 -1
- package/esm/sdk/models/index.d.ts.map +1 -1
- package/esm/sdk/models/index.js +10 -1
- package/esm/sdk/models/index.js.map +1 -1
- package/esm/sdk/models/window-size.d.ts +1 -1
- package/esm/sdk/models/window-size.js +1 -1
- package/esm/sdk/models/window-size.js.map +1 -1
- package/esm/sdk/plans.d.ts +1 -1
- package/esm/sdk/plans.d.ts.map +1 -1
- package/esm/sdk/plans.js +3 -3
- package/esm/sdk/plans.js.map +1 -1
- package/esm/sdk/sdk.d.ts +3 -0
- package/esm/sdk/sdk.d.ts.map +1 -1
- package/esm/sdk/sdk.js +5 -0
- package/esm/sdk/sdk.js.map +1 -1
- package/jsr.json +1 -1
- package/package.json +3 -3
- package/src/funcs/environments-clone-environment.ts +185 -0
- package/src/funcs/features-clone-feature.ts +184 -0
- package/src/funcs/{plans-post-plans-id-clone.ts → plans-clone-plan.ts} +4 -4
- package/src/lib/config.ts +3 -3
- package/src/sdk/environments.ts +29 -0
- package/src/sdk/features.ts +20 -0
- package/src/sdk/models/changed-invoice-action.ts +25 -0
- package/src/sdk/models/changed-invoice-status.ts +25 -0
- package/src/sdk/models/changed-invoice.ts +39 -8
- package/src/sdk/models/changed-line-item-action.ts +26 -0
- package/src/sdk/models/changed-line-item.ts +7 -3
- package/src/sdk/models/changed-subscription-action.ts +27 -0
- package/src/sdk/models/changed-subscription.ts +7 -3
- package/src/sdk/models/clone-environment-op.ts +46 -0
- package/src/sdk/models/clone-environment-request.ts +57 -0
- package/src/sdk/models/clone-feature-op.ts +44 -0
- package/src/sdk/models/clone-feature-request.ts +56 -0
- package/src/sdk/models/{post-plans-id-clone-op.ts → clone-plan-op.ts} +8 -8
- package/src/sdk/models/create-subscription-request.ts +14 -0
- package/src/sdk/models/environment-type.ts +17 -0
- package/src/sdk/models/index.ts +10 -1
- package/src/sdk/models/window-size.ts +1 -1
- package/src/sdk/plans.ts +3 -3
- package/src/sdk/sdk.ts +6 -0
- package/esm/funcs/plans-post-plans-id-clone.d.ts.map +0 -1
- package/esm/funcs/plans-post-plans-id-clone.js.map +0 -1
- package/esm/sdk/models/post-plans-id-clone-op.d.ts +0 -21
- package/esm/sdk/models/post-plans-id-clone-op.d.ts.map +0 -1
- package/esm/sdk/models/post-plans-id-clone-op.js.map +0 -1
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { FlexpriceCore } from "../core.js";
|
|
7
|
+
import { encodeJSON, encodeSimple } from "../lib/encodings.js";
|
|
8
|
+
import * as M from "../lib/matchers.js";
|
|
9
|
+
import { compactMap } from "../lib/primitives.js";
|
|
10
|
+
import { safeParse } from "../lib/schemas.js";
|
|
11
|
+
import { RequestOptions } from "../lib/sdks.js";
|
|
12
|
+
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
13
|
+
import { pathToFunc } from "../lib/url.js";
|
|
14
|
+
import { FlexPriceError } from "../sdk/models/flex-price-error.js";
|
|
15
|
+
import {
|
|
16
|
+
ConnectionError,
|
|
17
|
+
InvalidRequestError,
|
|
18
|
+
RequestAbortedError,
|
|
19
|
+
RequestTimeoutError,
|
|
20
|
+
UnexpectedClientError,
|
|
21
|
+
} from "../sdk/models/http-client-errors.js";
|
|
22
|
+
import * as models from "../sdk/models/index.js";
|
|
23
|
+
import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
|
|
24
|
+
import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
|
|
25
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
26
|
+
import { Result } from "../types/fp.js";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Clone an environment
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* Clone all published features and plans from the source environment into a target environment. If target_environment_id is provided, entities are cloned into that existing environment. Otherwise a new environment is created from name and type first.
|
|
33
|
+
*/
|
|
34
|
+
export function environmentsCloneEnvironment(
|
|
35
|
+
client: FlexpriceCore,
|
|
36
|
+
id: string,
|
|
37
|
+
body: models.CloneEnvironmentRequest,
|
|
38
|
+
options?: RequestOptions,
|
|
39
|
+
): APIPromise<
|
|
40
|
+
Result<
|
|
41
|
+
models.ModelsTemporalWorkflowResult,
|
|
42
|
+
| models.ErrorsErrorResponse
|
|
43
|
+
| FlexPriceError
|
|
44
|
+
| ResponseValidationError
|
|
45
|
+
| ConnectionError
|
|
46
|
+
| RequestAbortedError
|
|
47
|
+
| RequestTimeoutError
|
|
48
|
+
| InvalidRequestError
|
|
49
|
+
| UnexpectedClientError
|
|
50
|
+
| SDKValidationError
|
|
51
|
+
>
|
|
52
|
+
> {
|
|
53
|
+
return new APIPromise($do(
|
|
54
|
+
client,
|
|
55
|
+
id,
|
|
56
|
+
body,
|
|
57
|
+
options,
|
|
58
|
+
));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async function $do(
|
|
62
|
+
client: FlexpriceCore,
|
|
63
|
+
id: string,
|
|
64
|
+
body: models.CloneEnvironmentRequest,
|
|
65
|
+
options?: RequestOptions,
|
|
66
|
+
): Promise<
|
|
67
|
+
[
|
|
68
|
+
Result<
|
|
69
|
+
models.ModelsTemporalWorkflowResult,
|
|
70
|
+
| models.ErrorsErrorResponse
|
|
71
|
+
| FlexPriceError
|
|
72
|
+
| ResponseValidationError
|
|
73
|
+
| ConnectionError
|
|
74
|
+
| RequestAbortedError
|
|
75
|
+
| RequestTimeoutError
|
|
76
|
+
| InvalidRequestError
|
|
77
|
+
| UnexpectedClientError
|
|
78
|
+
| SDKValidationError
|
|
79
|
+
>,
|
|
80
|
+
APICall,
|
|
81
|
+
]
|
|
82
|
+
> {
|
|
83
|
+
const input: models.CloneEnvironmentRequestRequest = {
|
|
84
|
+
id: id,
|
|
85
|
+
body: body,
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const parsed = safeParse(
|
|
89
|
+
input,
|
|
90
|
+
(value) =>
|
|
91
|
+
z.parse(models.CloneEnvironmentRequestRequest$outboundSchema, value),
|
|
92
|
+
"Input validation failed",
|
|
93
|
+
);
|
|
94
|
+
if (!parsed.ok) {
|
|
95
|
+
return [parsed, { status: "invalid" }];
|
|
96
|
+
}
|
|
97
|
+
const payload = parsed.value;
|
|
98
|
+
const body$ = encodeJSON("body", payload.body, { explode: true });
|
|
99
|
+
|
|
100
|
+
const pathParams = {
|
|
101
|
+
id: encodeSimple("id", payload.id, {
|
|
102
|
+
explode: false,
|
|
103
|
+
charEncoding: "percent",
|
|
104
|
+
}),
|
|
105
|
+
};
|
|
106
|
+
const path = pathToFunc("/environments/{id}/clone")(pathParams);
|
|
107
|
+
|
|
108
|
+
const headers = new Headers(compactMap({
|
|
109
|
+
"Content-Type": "application/json",
|
|
110
|
+
Accept: "application/json",
|
|
111
|
+
}));
|
|
112
|
+
|
|
113
|
+
const secConfig = await extractSecurity(client._options.apiKeyAuth);
|
|
114
|
+
const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
|
|
115
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
116
|
+
|
|
117
|
+
const context = {
|
|
118
|
+
options: client._options,
|
|
119
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
120
|
+
operationID: "cloneEnvironment",
|
|
121
|
+
oAuth2Scopes: null,
|
|
122
|
+
|
|
123
|
+
resolvedSecurity: requestSecurity,
|
|
124
|
+
|
|
125
|
+
securitySource: client._options.apiKeyAuth,
|
|
126
|
+
retryConfig: options?.retries
|
|
127
|
+
|| client._options.retryConfig
|
|
128
|
+
|| { strategy: "none" },
|
|
129
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
const requestRes = client._createRequest(context, {
|
|
133
|
+
security: requestSecurity,
|
|
134
|
+
method: "POST",
|
|
135
|
+
baseURL: options?.serverURL,
|
|
136
|
+
path: path,
|
|
137
|
+
headers: headers,
|
|
138
|
+
body: body$,
|
|
139
|
+
userAgent: client._options.userAgent,
|
|
140
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
141
|
+
}, options);
|
|
142
|
+
if (!requestRes.ok) {
|
|
143
|
+
return [requestRes, { status: "invalid" }];
|
|
144
|
+
}
|
|
145
|
+
const req = requestRes.value;
|
|
146
|
+
|
|
147
|
+
const doResult = await client._do(req, {
|
|
148
|
+
context,
|
|
149
|
+
errorCodes: ["400", "404", "4XX", "500", "5XX"],
|
|
150
|
+
retryConfig: context.retryConfig,
|
|
151
|
+
retryCodes: context.retryCodes,
|
|
152
|
+
});
|
|
153
|
+
if (!doResult.ok) {
|
|
154
|
+
return [doResult, { status: "request-error", request: req }];
|
|
155
|
+
}
|
|
156
|
+
const response = doResult.value;
|
|
157
|
+
|
|
158
|
+
const responseFields = {
|
|
159
|
+
HttpMeta: { Response: response, Request: req },
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
const [result] = await M.match<
|
|
163
|
+
models.ModelsTemporalWorkflowResult,
|
|
164
|
+
| models.ErrorsErrorResponse
|
|
165
|
+
| FlexPriceError
|
|
166
|
+
| ResponseValidationError
|
|
167
|
+
| ConnectionError
|
|
168
|
+
| RequestAbortedError
|
|
169
|
+
| RequestTimeoutError
|
|
170
|
+
| InvalidRequestError
|
|
171
|
+
| UnexpectedClientError
|
|
172
|
+
| SDKValidationError
|
|
173
|
+
>(
|
|
174
|
+
M.json(202, models.ModelsTemporalWorkflowResult$inboundSchema),
|
|
175
|
+
M.jsonErr([400, 404], models.ErrorsErrorResponse$inboundSchema),
|
|
176
|
+
M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
|
|
177
|
+
M.fail("4XX"),
|
|
178
|
+
M.fail("5XX"),
|
|
179
|
+
)(response, req, { extraFields: responseFields });
|
|
180
|
+
if (!result.ok) {
|
|
181
|
+
return [result, { status: "complete", request: req, response }];
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return [result, { status: "complete", request: req, response }];
|
|
185
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import { FlexpriceCore } from "../core.js";
|
|
7
|
+
import { encodeJSON, encodeSimple } from "../lib/encodings.js";
|
|
8
|
+
import * as M from "../lib/matchers.js";
|
|
9
|
+
import { compactMap } from "../lib/primitives.js";
|
|
10
|
+
import { safeParse } from "../lib/schemas.js";
|
|
11
|
+
import { RequestOptions } from "../lib/sdks.js";
|
|
12
|
+
import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
|
|
13
|
+
import { pathToFunc } from "../lib/url.js";
|
|
14
|
+
import { FlexPriceError } from "../sdk/models/flex-price-error.js";
|
|
15
|
+
import {
|
|
16
|
+
ConnectionError,
|
|
17
|
+
InvalidRequestError,
|
|
18
|
+
RequestAbortedError,
|
|
19
|
+
RequestTimeoutError,
|
|
20
|
+
UnexpectedClientError,
|
|
21
|
+
} from "../sdk/models/http-client-errors.js";
|
|
22
|
+
import * as models from "../sdk/models/index.js";
|
|
23
|
+
import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
|
|
24
|
+
import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
|
|
25
|
+
import { APICall, APIPromise } from "../types/async.js";
|
|
26
|
+
import { Result } from "../types/fp.js";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Clone a feature
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* Clone an existing feature
|
|
33
|
+
*/
|
|
34
|
+
export function featuresCloneFeature(
|
|
35
|
+
client: FlexpriceCore,
|
|
36
|
+
id: string,
|
|
37
|
+
body: models.CloneFeatureRequest,
|
|
38
|
+
options?: RequestOptions,
|
|
39
|
+
): APIPromise<
|
|
40
|
+
Result<
|
|
41
|
+
models.FeatureResponse,
|
|
42
|
+
| models.ErrorsErrorResponse
|
|
43
|
+
| FlexPriceError
|
|
44
|
+
| ResponseValidationError
|
|
45
|
+
| ConnectionError
|
|
46
|
+
| RequestAbortedError
|
|
47
|
+
| RequestTimeoutError
|
|
48
|
+
| InvalidRequestError
|
|
49
|
+
| UnexpectedClientError
|
|
50
|
+
| SDKValidationError
|
|
51
|
+
>
|
|
52
|
+
> {
|
|
53
|
+
return new APIPromise($do(
|
|
54
|
+
client,
|
|
55
|
+
id,
|
|
56
|
+
body,
|
|
57
|
+
options,
|
|
58
|
+
));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async function $do(
|
|
62
|
+
client: FlexpriceCore,
|
|
63
|
+
id: string,
|
|
64
|
+
body: models.CloneFeatureRequest,
|
|
65
|
+
options?: RequestOptions,
|
|
66
|
+
): Promise<
|
|
67
|
+
[
|
|
68
|
+
Result<
|
|
69
|
+
models.FeatureResponse,
|
|
70
|
+
| models.ErrorsErrorResponse
|
|
71
|
+
| FlexPriceError
|
|
72
|
+
| ResponseValidationError
|
|
73
|
+
| ConnectionError
|
|
74
|
+
| RequestAbortedError
|
|
75
|
+
| RequestTimeoutError
|
|
76
|
+
| InvalidRequestError
|
|
77
|
+
| UnexpectedClientError
|
|
78
|
+
| SDKValidationError
|
|
79
|
+
>,
|
|
80
|
+
APICall,
|
|
81
|
+
]
|
|
82
|
+
> {
|
|
83
|
+
const input: models.CloneFeatureRequestRequest = {
|
|
84
|
+
id: id,
|
|
85
|
+
body: body,
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const parsed = safeParse(
|
|
89
|
+
input,
|
|
90
|
+
(value) => z.parse(models.CloneFeatureRequestRequest$outboundSchema, value),
|
|
91
|
+
"Input validation failed",
|
|
92
|
+
);
|
|
93
|
+
if (!parsed.ok) {
|
|
94
|
+
return [parsed, { status: "invalid" }];
|
|
95
|
+
}
|
|
96
|
+
const payload = parsed.value;
|
|
97
|
+
const body$ = encodeJSON("body", payload.body, { explode: true });
|
|
98
|
+
|
|
99
|
+
const pathParams = {
|
|
100
|
+
id: encodeSimple("id", payload.id, {
|
|
101
|
+
explode: false,
|
|
102
|
+
charEncoding: "percent",
|
|
103
|
+
}),
|
|
104
|
+
};
|
|
105
|
+
const path = pathToFunc("/features/{id}/clone")(pathParams);
|
|
106
|
+
|
|
107
|
+
const headers = new Headers(compactMap({
|
|
108
|
+
"Content-Type": "application/json",
|
|
109
|
+
Accept: "application/json",
|
|
110
|
+
}));
|
|
111
|
+
|
|
112
|
+
const secConfig = await extractSecurity(client._options.apiKeyAuth);
|
|
113
|
+
const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
|
|
114
|
+
const requestSecurity = resolveGlobalSecurity(securityInput);
|
|
115
|
+
|
|
116
|
+
const context = {
|
|
117
|
+
options: client._options,
|
|
118
|
+
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
119
|
+
operationID: "cloneFeature",
|
|
120
|
+
oAuth2Scopes: null,
|
|
121
|
+
|
|
122
|
+
resolvedSecurity: requestSecurity,
|
|
123
|
+
|
|
124
|
+
securitySource: client._options.apiKeyAuth,
|
|
125
|
+
retryConfig: options?.retries
|
|
126
|
+
|| client._options.retryConfig
|
|
127
|
+
|| { strategy: "none" },
|
|
128
|
+
retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
const requestRes = client._createRequest(context, {
|
|
132
|
+
security: requestSecurity,
|
|
133
|
+
method: "POST",
|
|
134
|
+
baseURL: options?.serverURL,
|
|
135
|
+
path: path,
|
|
136
|
+
headers: headers,
|
|
137
|
+
body: body$,
|
|
138
|
+
userAgent: client._options.userAgent,
|
|
139
|
+
timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
|
|
140
|
+
}, options);
|
|
141
|
+
if (!requestRes.ok) {
|
|
142
|
+
return [requestRes, { status: "invalid" }];
|
|
143
|
+
}
|
|
144
|
+
const req = requestRes.value;
|
|
145
|
+
|
|
146
|
+
const doResult = await client._do(req, {
|
|
147
|
+
context,
|
|
148
|
+
errorCodes: ["400", "404", "409", "4XX", "500", "5XX"],
|
|
149
|
+
retryConfig: context.retryConfig,
|
|
150
|
+
retryCodes: context.retryCodes,
|
|
151
|
+
});
|
|
152
|
+
if (!doResult.ok) {
|
|
153
|
+
return [doResult, { status: "request-error", request: req }];
|
|
154
|
+
}
|
|
155
|
+
const response = doResult.value;
|
|
156
|
+
|
|
157
|
+
const responseFields = {
|
|
158
|
+
HttpMeta: { Response: response, Request: req },
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
const [result] = await M.match<
|
|
162
|
+
models.FeatureResponse,
|
|
163
|
+
| models.ErrorsErrorResponse
|
|
164
|
+
| FlexPriceError
|
|
165
|
+
| ResponseValidationError
|
|
166
|
+
| ConnectionError
|
|
167
|
+
| RequestAbortedError
|
|
168
|
+
| RequestTimeoutError
|
|
169
|
+
| InvalidRequestError
|
|
170
|
+
| UnexpectedClientError
|
|
171
|
+
| SDKValidationError
|
|
172
|
+
>(
|
|
173
|
+
M.json(201, models.FeatureResponse$inboundSchema),
|
|
174
|
+
M.jsonErr([400, 404, 409], models.ErrorsErrorResponse$inboundSchema),
|
|
175
|
+
M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
|
|
176
|
+
M.fail("4XX"),
|
|
177
|
+
M.fail("5XX"),
|
|
178
|
+
)(response, req, { extraFields: responseFields });
|
|
179
|
+
if (!result.ok) {
|
|
180
|
+
return [result, { status: "complete", request: req, response }];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return [result, { status: "complete", request: req, response }];
|
|
184
|
+
}
|
|
@@ -31,7 +31,7 @@ import { Result } from "../types/fp.js";
|
|
|
31
31
|
* @remarks
|
|
32
32
|
* Clone an existing plan, copying its active prices, published entitlements, and published credit grants
|
|
33
33
|
*/
|
|
34
|
-
export function
|
|
34
|
+
export function plansClonePlan(
|
|
35
35
|
client: FlexpriceCore,
|
|
36
36
|
id: string,
|
|
37
37
|
body: models.ClonePlanRequest,
|
|
@@ -80,14 +80,14 @@ async function $do(
|
|
|
80
80
|
APICall,
|
|
81
81
|
]
|
|
82
82
|
> {
|
|
83
|
-
const input: models.
|
|
83
|
+
const input: models.ClonePlanRequestRequest = {
|
|
84
84
|
id: id,
|
|
85
85
|
body: body,
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
const parsed = safeParse(
|
|
89
89
|
input,
|
|
90
|
-
(value) => z.parse(models.
|
|
90
|
+
(value) => z.parse(models.ClonePlanRequestRequest$outboundSchema, value),
|
|
91
91
|
"Input validation failed",
|
|
92
92
|
);
|
|
93
93
|
if (!parsed.ok) {
|
|
@@ -116,7 +116,7 @@ async function $do(
|
|
|
116
116
|
const context = {
|
|
117
117
|
options: client._options,
|
|
118
118
|
baseURL: options?.serverURL ?? client._baseURL ?? "",
|
|
119
|
-
operationID: "
|
|
119
|
+
operationID: "clonePlan",
|
|
120
120
|
oAuth2Scopes: null,
|
|
121
121
|
|
|
122
122
|
resolvedSecurity: requestSecurity,
|
package/src/lib/config.ts
CHANGED
|
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
|
|
|
65
65
|
export const SDK_METADATA = {
|
|
66
66
|
language: "typescript",
|
|
67
67
|
openapiDocVersion: "1.0",
|
|
68
|
-
sdkVersion: "2.1.
|
|
69
|
-
genVersion: "2.879.
|
|
70
|
-
userAgent: "speakeasy-sdk/typescript 2.1.
|
|
68
|
+
sdkVersion: "2.1.3",
|
|
69
|
+
genVersion: "2.879.13",
|
|
70
|
+
userAgent: "speakeasy-sdk/typescript 2.1.3 2.879.13 1.0 @flexprice/sdk",
|
|
71
71
|
} as const;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { environmentsCloneEnvironment } from "../funcs/environments-clone-environment.js";
|
|
6
|
+
import { ClientSDK, RequestOptions } from "../lib/sdks.js";
|
|
7
|
+
import { unwrapAsync } from "../types/fp.js";
|
|
8
|
+
import * as models from "./models/index.js";
|
|
9
|
+
|
|
10
|
+
export class Environments extends ClientSDK {
|
|
11
|
+
/**
|
|
12
|
+
* Clone an environment
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
* Clone all published features and plans from the source environment into a target environment. If target_environment_id is provided, entities are cloned into that existing environment. Otherwise a new environment is created from name and type first.
|
|
16
|
+
*/
|
|
17
|
+
async cloneEnvironment(
|
|
18
|
+
id: string,
|
|
19
|
+
body: models.CloneEnvironmentRequest,
|
|
20
|
+
options?: RequestOptions,
|
|
21
|
+
): Promise<models.ModelsTemporalWorkflowResult> {
|
|
22
|
+
return unwrapAsync(environmentsCloneEnvironment(
|
|
23
|
+
this,
|
|
24
|
+
id,
|
|
25
|
+
body,
|
|
26
|
+
options,
|
|
27
|
+
));
|
|
28
|
+
}
|
|
29
|
+
}
|
package/src/sdk/features.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
import { featuresCloneFeature } from "../funcs/features-clone-feature.js";
|
|
5
6
|
import { featuresCreateFeature } from "../funcs/features-create-feature.js";
|
|
6
7
|
import { featuresDeleteFeature } from "../funcs/features-delete-feature.js";
|
|
7
8
|
import { featuresQueryFeature } from "../funcs/features-query-feature.js";
|
|
@@ -80,4 +81,23 @@ export class Features extends ClientSDK {
|
|
|
80
81
|
options,
|
|
81
82
|
));
|
|
82
83
|
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Clone a feature
|
|
87
|
+
*
|
|
88
|
+
* @remarks
|
|
89
|
+
* Clone an existing feature
|
|
90
|
+
*/
|
|
91
|
+
async cloneFeature(
|
|
92
|
+
id: string,
|
|
93
|
+
body: models.CloneFeatureRequest,
|
|
94
|
+
options?: RequestOptions,
|
|
95
|
+
): Promise<models.FeatureResponse> {
|
|
96
|
+
return unwrapAsync(featuresCloneFeature(
|
|
97
|
+
this,
|
|
98
|
+
id,
|
|
99
|
+
body,
|
|
100
|
+
options,
|
|
101
|
+
));
|
|
102
|
+
}
|
|
83
103
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import * as openEnums from "../../types/enums.js";
|
|
7
|
+
import { OpenEnum } from "../../types/enums.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* created (proration invoice) | wallet_credit (downgrade credit)
|
|
11
|
+
*/
|
|
12
|
+
export const ChangedInvoiceAction = {
|
|
13
|
+
Created: "created",
|
|
14
|
+
WalletCredit: "wallet_credit",
|
|
15
|
+
} as const;
|
|
16
|
+
/**
|
|
17
|
+
* created (proration invoice) | wallet_credit (downgrade credit)
|
|
18
|
+
*/
|
|
19
|
+
export type ChangedInvoiceAction = OpenEnum<typeof ChangedInvoiceAction>;
|
|
20
|
+
|
|
21
|
+
/** @internal */
|
|
22
|
+
export const ChangedInvoiceAction$inboundSchema: z.ZodMiniType<
|
|
23
|
+
ChangedInvoiceAction,
|
|
24
|
+
unknown
|
|
25
|
+
> = openEnums.inboundSchema(ChangedInvoiceAction);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import * as openEnums from "../../types/enums.js";
|
|
7
|
+
import { OpenEnum } from "../../types/enums.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* preview | issued | INITIATED | PENDING | PROCESSING | SUCCEEDED | OVERPAID | FAILED | REFUNDED | PARTIALLY_REFUNDED
|
|
11
|
+
*/
|
|
12
|
+
export const ChangedInvoiceStatus = {
|
|
13
|
+
Preview: "preview",
|
|
14
|
+
Issued: "issued",
|
|
15
|
+
} as const;
|
|
16
|
+
/**
|
|
17
|
+
* preview | issued | INITIATED | PENDING | PROCESSING | SUCCEEDED | OVERPAID | FAILED | REFUNDED | PARTIALLY_REFUNDED
|
|
18
|
+
*/
|
|
19
|
+
export type ChangedInvoiceStatus = OpenEnum<typeof ChangedInvoiceStatus>;
|
|
20
|
+
|
|
21
|
+
/** @internal */
|
|
22
|
+
export const ChangedInvoiceStatus$inboundSchema: z.ZodMiniType<
|
|
23
|
+
ChangedInvoiceStatus,
|
|
24
|
+
unknown
|
|
25
|
+
> = openEnums.inboundSchema(ChangedInvoiceStatus);
|
|
@@ -3,29 +3,60 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import * as z from "zod/v4-mini";
|
|
6
|
+
import { remap as remap$ } from "../../lib/primitives.js";
|
|
6
7
|
import { safeParse } from "../../lib/schemas.js";
|
|
7
8
|
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
8
9
|
import * as types from "../../types/primitives.js";
|
|
10
|
+
import {
|
|
11
|
+
ChangedInvoiceAction,
|
|
12
|
+
ChangedInvoiceAction$inboundSchema,
|
|
13
|
+
} from "./changed-invoice-action.js";
|
|
14
|
+
import {
|
|
15
|
+
ChangedInvoiceStatus,
|
|
16
|
+
ChangedInvoiceStatus$inboundSchema,
|
|
17
|
+
} from "./changed-invoice-status.js";
|
|
18
|
+
import {
|
|
19
|
+
InvoiceResponse,
|
|
20
|
+
InvoiceResponse$inboundSchema,
|
|
21
|
+
} from "./invoice-response.js";
|
|
9
22
|
import { SDKValidationError } from "./sdk-validation-error.js";
|
|
23
|
+
import {
|
|
24
|
+
WalletTransactionResponse,
|
|
25
|
+
WalletTransactionResponse$inboundSchema,
|
|
26
|
+
} from "./wallet-transaction-response.js";
|
|
10
27
|
|
|
11
28
|
export type ChangedInvoice = {
|
|
12
29
|
/**
|
|
13
|
-
*
|
|
30
|
+
* created (proration invoice) | wallet_credit (downgrade credit)
|
|
14
31
|
*/
|
|
15
|
-
action?:
|
|
32
|
+
action?: ChangedInvoiceAction | undefined;
|
|
16
33
|
id?: string | undefined;
|
|
17
|
-
|
|
34
|
+
invoice?: InvoiceResponse | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* preview | issued | INITIATED | PENDING | PROCESSING | SUCCEEDED | OVERPAID | FAILED | REFUNDED | PARTIALLY_REFUNDED
|
|
37
|
+
*/
|
|
38
|
+
status?: ChangedInvoiceStatus | undefined;
|
|
39
|
+
walletTransaction?: WalletTransactionResponse | undefined;
|
|
18
40
|
};
|
|
19
41
|
|
|
20
42
|
/** @internal */
|
|
21
43
|
export const ChangedInvoice$inboundSchema: z.ZodMiniType<
|
|
22
44
|
ChangedInvoice,
|
|
23
45
|
unknown
|
|
24
|
-
> = z.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
46
|
+
> = z.pipe(
|
|
47
|
+
z.object({
|
|
48
|
+
action: types.optional(ChangedInvoiceAction$inboundSchema),
|
|
49
|
+
id: types.optional(types.string()),
|
|
50
|
+
invoice: types.optional(InvoiceResponse$inboundSchema),
|
|
51
|
+
status: types.optional(ChangedInvoiceStatus$inboundSchema),
|
|
52
|
+
wallet_transaction: types.optional(WalletTransactionResponse$inboundSchema),
|
|
53
|
+
}),
|
|
54
|
+
z.transform((v) => {
|
|
55
|
+
return remap$(v, {
|
|
56
|
+
"wallet_transaction": "walletTransaction",
|
|
57
|
+
});
|
|
58
|
+
}),
|
|
59
|
+
);
|
|
29
60
|
|
|
30
61
|
export function changedInvoiceFromJSON(
|
|
31
62
|
jsonString: string,
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import * as openEnums from "../../types/enums.js";
|
|
7
|
+
import { OpenEnum } from "../../types/enums.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* created | updated | ended
|
|
11
|
+
*/
|
|
12
|
+
export const ChangedLineItemAction = {
|
|
13
|
+
Created: "created",
|
|
14
|
+
Updated: "updated",
|
|
15
|
+
Ended: "ended",
|
|
16
|
+
} as const;
|
|
17
|
+
/**
|
|
18
|
+
* created | updated | ended
|
|
19
|
+
*/
|
|
20
|
+
export type ChangedLineItemAction = OpenEnum<typeof ChangedLineItemAction>;
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export const ChangedLineItemAction$inboundSchema: z.ZodMiniType<
|
|
24
|
+
ChangedLineItemAction,
|
|
25
|
+
unknown
|
|
26
|
+
> = openEnums.inboundSchema(ChangedLineItemAction);
|
|
@@ -7,13 +7,17 @@ import { remap as remap$ } from "../../lib/primitives.js";
|
|
|
7
7
|
import { safeParse } from "../../lib/schemas.js";
|
|
8
8
|
import { Result as SafeParseResult } from "../../types/fp.js";
|
|
9
9
|
import * as types from "../../types/primitives.js";
|
|
10
|
+
import {
|
|
11
|
+
ChangedLineItemAction,
|
|
12
|
+
ChangedLineItemAction$inboundSchema,
|
|
13
|
+
} from "./changed-line-item-action.js";
|
|
10
14
|
import { SDKValidationError } from "./sdk-validation-error.js";
|
|
11
15
|
|
|
12
16
|
export type ChangedLineItem = {
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
18
|
+
* created | updated | ended
|
|
15
19
|
*/
|
|
16
|
-
changeAction?:
|
|
20
|
+
changeAction?: ChangedLineItemAction | undefined;
|
|
17
21
|
endDate?: Date | undefined;
|
|
18
22
|
id?: string | undefined;
|
|
19
23
|
priceId?: string | undefined;
|
|
@@ -27,7 +31,7 @@ export const ChangedLineItem$inboundSchema: z.ZodMiniType<
|
|
|
27
31
|
unknown
|
|
28
32
|
> = z.pipe(
|
|
29
33
|
z.object({
|
|
30
|
-
change_action: types.optional(
|
|
34
|
+
change_action: types.optional(ChangedLineItemAction$inboundSchema),
|
|
31
35
|
end_date: types.optional(types.date()),
|
|
32
36
|
id: types.optional(types.string()),
|
|
33
37
|
price_id: types.optional(types.string()),
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import * as z from "zod/v4-mini";
|
|
6
|
+
import * as openEnums from "../../types/enums.js";
|
|
7
|
+
import { OpenEnum } from "../../types/enums.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* created | updated
|
|
11
|
+
*/
|
|
12
|
+
export const ChangedSubscriptionAction = {
|
|
13
|
+
Created: "created",
|
|
14
|
+
Updated: "updated",
|
|
15
|
+
} as const;
|
|
16
|
+
/**
|
|
17
|
+
* created | updated
|
|
18
|
+
*/
|
|
19
|
+
export type ChangedSubscriptionAction = OpenEnum<
|
|
20
|
+
typeof ChangedSubscriptionAction
|
|
21
|
+
>;
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export const ChangedSubscriptionAction$inboundSchema: z.ZodMiniType<
|
|
25
|
+
ChangedSubscriptionAction,
|
|
26
|
+
unknown
|
|
27
|
+
> = openEnums.inboundSchema(ChangedSubscriptionAction);
|