@storyblok/management-api-client 0.2.3 → 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.cjs +190 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +624 -0
- package/dist/client.d.mts +624 -0
- package/dist/client.mjs +189 -0
- package/dist/client.mjs.map +1 -0
- package/dist/error.cjs.map +1 -1
- package/dist/error.d.cts +12 -2
- package/dist/error.d.mts +12 -2
- package/dist/error.mjs.map +1 -1
- package/dist/generated/asset_folders/types.gen.d.cts +5 -31
- package/dist/generated/asset_folders/types.gen.d.mts +5 -31
- package/dist/generated/assets/types.gen.d.cts +1 -73
- package/dist/generated/assets/types.gen.d.mts +1 -73
- package/dist/generated/component_folders/types.gen.d.cts +29 -45
- package/dist/generated/component_folders/types.gen.d.mts +29 -45
- package/dist/generated/components/types.gen.d.cts +636 -465
- package/dist/generated/components/types.gen.d.mts +636 -465
- package/dist/generated/datasource_entries/types.gen.d.cts +6 -32
- package/dist/generated/datasource_entries/types.gen.d.mts +6 -32
- package/dist/generated/datasources/types.gen.d.cts +18 -39
- package/dist/generated/datasources/types.gen.d.mts +18 -39
- package/dist/generated/internal_tags/types.gen.d.cts +28 -32
- package/dist/generated/internal_tags/types.gen.d.mts +28 -32
- package/dist/generated/presets/types.gen.d.cts +53 -58
- package/dist/generated/presets/types.gen.d.mts +53 -58
- package/dist/generated/spaces/types.gen.d.cts +1 -41
- package/dist/generated/spaces/types.gen.d.mts +1 -41
- package/dist/generated/stories/types.gen.d.cts +206 -198
- package/dist/generated/stories/types.gen.d.mts +206 -198
- package/dist/generated/users/types.gen.d.cts +13 -112
- package/dist/generated/users/types.gen.d.mts +13 -112
- package/dist/index.cjs +3 -178
- package/dist/index.d.cts +8 -425
- package/dist/index.d.mts +8 -425
- package/dist/index.mjs +2 -176
- package/dist/resources/asset-folders.cjs.map +1 -1
- package/dist/resources/asset-folders.mjs.map +1 -1
- package/dist/resources/assets.cjs +11 -2
- package/dist/resources/assets.cjs.map +1 -1
- package/dist/resources/assets.d.cts +3 -2
- package/dist/resources/assets.d.mts +3 -2
- package/dist/resources/assets.mjs +11 -2
- package/dist/resources/assets.mjs.map +1 -1
- package/dist/resources/component-folders.cjs.map +1 -1
- package/dist/resources/component-folders.mjs.map +1 -1
- package/dist/resources/components.cjs.map +1 -1
- package/dist/resources/components.mjs.map +1 -1
- package/dist/resources/datasource-entries.cjs.map +1 -1
- package/dist/resources/datasource-entries.mjs.map +1 -1
- package/dist/resources/datasources.cjs.map +1 -1
- package/dist/resources/datasources.mjs.map +1 -1
- package/dist/resources/internal-tags.cjs.map +1 -1
- package/dist/resources/internal-tags.mjs.map +1 -1
- package/dist/resources/presets.cjs.map +1 -1
- package/dist/resources/presets.mjs.map +1 -1
- package/dist/resources/spaces.cjs.map +1 -1
- package/dist/resources/spaces.mjs.map +1 -1
- package/dist/resources/stories.cjs.map +1 -1
- package/dist/resources/stories.d.cts +105 -0
- package/dist/resources/stories.d.mts +105 -0
- package/dist/resources/stories.mjs.map +1 -1
- package/dist/resources/users.cjs.map +1 -1
- package/dist/resources/users.mjs.map +1 -1
- package/package.json +13 -10
- package/test/GUIDE.md +59 -0
- package/test/setup.e2e.ts +11 -0
- package/test/specs/mapi-round-trip.spec.e2e.ts +520 -0
- package/vitest.config.e2e.ts +26 -0
- package/vitest.config.ts +3 -0
- package/dist/index.cjs.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/types.d.cts +0 -130
- package/dist/types.d.mts +0 -130
package/dist/client.mjs
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { createConfig } from "./generated/shared/client/utils.gen.mjs";
|
|
2
|
+
import { createClient } from "./generated/shared/client/client.gen.mjs";
|
|
3
|
+
import "./generated/shared/client/index.mjs";
|
|
4
|
+
import { ClientError } from "./error.mjs";
|
|
5
|
+
import { createThrottleManager } from "./utils/rate-limit.mjs";
|
|
6
|
+
import { createAssetFoldersResource } from "./resources/asset-folders.mjs";
|
|
7
|
+
import { createAssetsResource } from "./resources/assets.mjs";
|
|
8
|
+
import { createComponentFoldersResource } from "./resources/component-folders.mjs";
|
|
9
|
+
import { createComponentsResource } from "./resources/components.mjs";
|
|
10
|
+
import { createDatasourceEntriesResource } from "./resources/datasource-entries.mjs";
|
|
11
|
+
import { createDatasourcesResource } from "./resources/datasources.mjs";
|
|
12
|
+
import { createInternalTagsResource } from "./resources/internal-tags.mjs";
|
|
13
|
+
import { createPresetsResource } from "./resources/presets.mjs";
|
|
14
|
+
import { createSpacesResource } from "./resources/spaces.mjs";
|
|
15
|
+
import { createStoriesResource } from "./resources/stories.mjs";
|
|
16
|
+
import { createUsersResource } from "./resources/users.mjs";
|
|
17
|
+
import { getManagementBaseUrl } from "@storyblok/region-helper";
|
|
18
|
+
|
|
19
|
+
//#region src/client.ts
|
|
20
|
+
function getAuthorizationHeader(config) {
|
|
21
|
+
if (config.personalAccessToken) return config.personalAccessToken;
|
|
22
|
+
if (config.oauthToken) return config.oauthToken.startsWith("Bearer ") ? config.oauthToken : `Bearer ${config.oauthToken}`;
|
|
23
|
+
}
|
|
24
|
+
const createManagementApiClientBase = (config) => {
|
|
25
|
+
const { spaceId, region = "eu", baseUrl, headers = {}, throwOnError = false, retry = {
|
|
26
|
+
limit: 12,
|
|
27
|
+
backoffLimit: 2e4,
|
|
28
|
+
methods: [
|
|
29
|
+
"get",
|
|
30
|
+
"post",
|
|
31
|
+
"put",
|
|
32
|
+
"delete",
|
|
33
|
+
"patch",
|
|
34
|
+
"head",
|
|
35
|
+
"options",
|
|
36
|
+
"trace"
|
|
37
|
+
],
|
|
38
|
+
statusCodes: [429]
|
|
39
|
+
}, timeout = 3e4, rateLimit } = config;
|
|
40
|
+
const throttleManager = createThrottleManager(rateLimit ?? {});
|
|
41
|
+
const authHeader = getAuthorizationHeader(config);
|
|
42
|
+
const client = createClient(createConfig({
|
|
43
|
+
baseUrl: baseUrl || getManagementBaseUrl(region),
|
|
44
|
+
headers: {
|
|
45
|
+
...authHeader ? { Authorization: authHeader } : {},
|
|
46
|
+
...headers
|
|
47
|
+
},
|
|
48
|
+
throwOnError,
|
|
49
|
+
kyOptions: {
|
|
50
|
+
throwHttpErrors: true,
|
|
51
|
+
timeout,
|
|
52
|
+
retry
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
client.interceptors.error.use((error, response) => new ClientError(response?.statusText || "API request failed", {
|
|
56
|
+
status: response?.status ?? 0,
|
|
57
|
+
statusText: response?.statusText ?? "",
|
|
58
|
+
data: error
|
|
59
|
+
}));
|
|
60
|
+
function wrapRequest(fn, _throwOnError) {
|
|
61
|
+
return throttleManager.execute(async () => {
|
|
62
|
+
const result = await fn();
|
|
63
|
+
throttleManager.adaptToResponse(result.response);
|
|
64
|
+
return result;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
const deps = {
|
|
68
|
+
client,
|
|
69
|
+
spaceId,
|
|
70
|
+
wrapRequest
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
deps,
|
|
74
|
+
resources: buildResources(deps, client)
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
function buildResources(deps, client) {
|
|
78
|
+
/**
|
|
79
|
+
* Escape hatch: send a GET request to any MAPI endpoint not yet wrapped
|
|
80
|
+
* in a dedicated resource method.
|
|
81
|
+
*/
|
|
82
|
+
const httpGet = (path, options = {}) => {
|
|
83
|
+
const { fetchOptions, ...rest } = options;
|
|
84
|
+
return deps.wrapRequest(() => client.get({
|
|
85
|
+
url: path,
|
|
86
|
+
...rest,
|
|
87
|
+
...fetchOptions ? { kyOptions: {
|
|
88
|
+
...client.getConfig().kyOptions,
|
|
89
|
+
...fetchOptions
|
|
90
|
+
} } : {}
|
|
91
|
+
}));
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Escape hatch: send a POST request to any MAPI endpoint not yet wrapped
|
|
95
|
+
* in a dedicated resource method.
|
|
96
|
+
*/
|
|
97
|
+
const httpPost = (path, options = {}) => {
|
|
98
|
+
const { fetchOptions, ...rest } = options;
|
|
99
|
+
return deps.wrapRequest(() => client.post({
|
|
100
|
+
url: path,
|
|
101
|
+
...rest,
|
|
102
|
+
...fetchOptions ? { kyOptions: {
|
|
103
|
+
...client.getConfig().kyOptions,
|
|
104
|
+
...fetchOptions
|
|
105
|
+
} } : {}
|
|
106
|
+
}));
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Escape hatch: send a PUT request to any MAPI endpoint not yet wrapped
|
|
110
|
+
* in a dedicated resource method.
|
|
111
|
+
*/
|
|
112
|
+
const httpPut = (path, options = {}) => {
|
|
113
|
+
const { fetchOptions, ...rest } = options;
|
|
114
|
+
return deps.wrapRequest(() => client.put({
|
|
115
|
+
url: path,
|
|
116
|
+
...rest,
|
|
117
|
+
...fetchOptions ? { kyOptions: {
|
|
118
|
+
...client.getConfig().kyOptions,
|
|
119
|
+
...fetchOptions
|
|
120
|
+
} } : {}
|
|
121
|
+
}));
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Escape hatch: send a PATCH request to any MAPI endpoint not yet wrapped
|
|
125
|
+
* in a dedicated resource method.
|
|
126
|
+
*/
|
|
127
|
+
const httpPatch = (path, options = {}) => {
|
|
128
|
+
const { fetchOptions, ...rest } = options;
|
|
129
|
+
return deps.wrapRequest(() => client.patch({
|
|
130
|
+
url: path,
|
|
131
|
+
...rest,
|
|
132
|
+
...fetchOptions ? { kyOptions: {
|
|
133
|
+
...client.getConfig().kyOptions,
|
|
134
|
+
...fetchOptions
|
|
135
|
+
} } : {}
|
|
136
|
+
}));
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Escape hatch: send a DELETE request to any MAPI endpoint not yet wrapped
|
|
140
|
+
* in a dedicated resource method.
|
|
141
|
+
*/
|
|
142
|
+
const httpDelete = (path, options = {}) => {
|
|
143
|
+
const { fetchOptions, ...rest } = options;
|
|
144
|
+
return deps.wrapRequest(() => client.delete({
|
|
145
|
+
url: path,
|
|
146
|
+
...rest,
|
|
147
|
+
...fetchOptions ? { kyOptions: {
|
|
148
|
+
...client.getConfig().kyOptions,
|
|
149
|
+
...fetchOptions
|
|
150
|
+
} } : {}
|
|
151
|
+
}));
|
|
152
|
+
};
|
|
153
|
+
return {
|
|
154
|
+
assetFolders: createAssetFoldersResource(deps),
|
|
155
|
+
assets: createAssetsResource(deps),
|
|
156
|
+
componentFolders: createComponentFoldersResource(deps),
|
|
157
|
+
components: createComponentsResource(deps),
|
|
158
|
+
datasourceEntries: createDatasourceEntriesResource(deps),
|
|
159
|
+
datasources: createDatasourcesResource(deps),
|
|
160
|
+
delete: httpDelete,
|
|
161
|
+
get: httpGet,
|
|
162
|
+
patch: httpPatch,
|
|
163
|
+
interceptors: client.interceptors,
|
|
164
|
+
internalTags: createInternalTagsResource(deps),
|
|
165
|
+
post: httpPost,
|
|
166
|
+
presets: createPresetsResource(deps),
|
|
167
|
+
put: httpPut,
|
|
168
|
+
spaces: createSpacesResource(deps),
|
|
169
|
+
users: createUsersResource({
|
|
170
|
+
client,
|
|
171
|
+
wrapRequest: deps.wrapRequest
|
|
172
|
+
})
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
const createManagementApiClient = (config) => {
|
|
176
|
+
const { deps, resources } = createManagementApiClientBase(config);
|
|
177
|
+
const self = {
|
|
178
|
+
...resources,
|
|
179
|
+
stories: createStoriesResource(deps),
|
|
180
|
+
withTypes() {
|
|
181
|
+
return self;
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
return self;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
//#endregion
|
|
188
|
+
export { createManagementApiClient };
|
|
189
|
+
//# sourceMappingURL=client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.mjs","names":[],"sources":["../src/client.ts"],"sourcesContent":["import type { Client, ResolvedRequestOptions, RetryOptions } from './generated/shared/client';\nimport type { Middleware } from './generated/shared/client/utils.gen';\nimport { createClient, createConfig } from './generated/shared/client';\nimport { getManagementBaseUrl } from '@storyblok/region-helper';\nimport type { Region } from '@storyblok/region-helper';\nimport type { Block as Component } from '@storyblok/schema';\nimport { ClientError } from './error';\nimport type { RateLimitConfig } from './utils/rate-limit';\nimport { createThrottleManager } from './utils/rate-limit';\nimport { createAssetFoldersResource } from './resources/asset-folders';\nimport { createAssetsResource } from './resources/assets';\nimport { createComponentFoldersResource } from './resources/component-folders';\nimport { createComponentsResource } from './resources/components';\nimport { createDatasourceEntriesResource } from './resources/datasource-entries';\nimport { createDatasourcesResource } from './resources/datasources';\nimport { createInternalTagsResource } from './resources/internal-tags';\nimport { createPresetsResource } from './resources/presets';\nimport { createSpacesResource } from './resources/spaces';\nimport { createStoriesResource } from './resources/stories';\nimport { createUsersResource } from './resources/users';\n\n// ---------------------------------------------------------------------------\n// Client types (co-located with runtime)\n// ---------------------------------------------------------------------------\n\nexport type ApiResponse<T, ThrowOnError extends boolean = false> =\n ThrowOnError extends true\n ? { data: T; error?: never; response: Response; request: Request }\n : | { data: T; error: undefined; response: Response; request: Request }\n | { data: undefined; error: ClientError; response: Response; request: Request };\n\nexport interface RequestConfigOverrides {\n throwOnError?: boolean;\n}\n\n/**\n * Arbitrary options forwarded to the underlying `fetch()` call.\n *\n * Standard `RequestInit` properties (`cache`, `credentials`, `mode`, …) and\n * non-standard, vendor-specific properties (Next.js `next`, Cloudflare `cf`, …)\n * are both supported.\n *\n * @example\n * ```ts\n * client.stories.get(123, {\n * fetchOptions: {\n * cache: 'no-store',\n * next: { revalidate: 60 },\n * },\n * })\n * ```\n */\nexport type FetchOptions = Record<string, unknown>;\n\nexport interface HttpRequestOptions {\n query?: Record<string, unknown>;\n body?: unknown;\n headers?: Record<string, string>;\n signal?: AbortSignal;\n throwOnError?: RequestConfigOverrides['throwOnError'];\n fetchOptions?: FetchOptions;\n}\n\n/**\n * Dependencies injected into every resource factory.\n */\nexport interface MapiResourceDeps<DefaultThrowOnError extends boolean = false> {\n client: Client;\n spaceId?: number;\n wrapRequest: <TData, ThrowOnError extends boolean = DefaultThrowOnError>(fn: () => Promise<unknown>, throwOnError?: ThrowOnError) => Promise<ApiResponse<TData, ThrowOnError>>;\n}\n\ntype TokenConfig =\n | {\n /** Personal access token for authentication. */\n personalAccessToken: string;\n oauthToken?: never;\n }\n | {\n personalAccessToken?: never;\n /** OAuth bearer token for authentication. */\n oauthToken: string;\n }\n | {\n personalAccessToken?: undefined;\n oauthToken?: undefined;\n };\n\nexport type ManagementApiClientConfig<\n ThrowOnError extends boolean = false,\n> = TokenConfig & {\n /**\n * The Storyblok space ID. Used as the default for space-scoped endpoints.\n * You can also override it per request via `path.space_id`.\n */\n spaceId?: number;\n /**\n * Storyblok region. Determines the base URL.\n * @default 'eu'\n */\n region?: Region;\n /**\n * Override the base URL entirely (e.g. for testing).\n */\n baseUrl?: string;\n /**\n * Additional request headers.\n */\n headers?: Record<string, string>;\n /**\n * Throw on HTTP errors instead of returning them.\n * @default false\n */\n throwOnError?: ThrowOnError;\n /**\n * Retry configuration for failed requests.\n */\n retry?: RetryOptions;\n /**\n * Request timeout in milliseconds.\n * @default 30_000\n */\n timeout?: number;\n /**\n * Preventive rate limiting to avoid hitting the Storyblok Management API rate limits.\n *\n * - `undefined` (default): single bucket at maxConcurrency: 6.\n * - `number`: fixed max concurrent requests per second.\n * - `{ maxConcurrency?: number; adaptToServerHeaders?: boolean }`: full config.\n * - `false`: disable rate limiting entirely.\n */\n rateLimit?: RateLimitConfig | number | false;\n};\n\n// ---------------------------------------------------------------------------\n// Client factory\n// ---------------------------------------------------------------------------\n\nfunction getAuthorizationHeader(config: ManagementApiClientConfig<boolean>): string | undefined {\n if (config.personalAccessToken) {\n return config.personalAccessToken;\n }\n if (config.oauthToken) {\n return config.oauthToken.startsWith('Bearer ')\n ? config.oauthToken\n : `Bearer ${config.oauthToken}`;\n }\n return undefined;\n}\n\nconst createManagementApiClientBase = <DefaultThrowOnError extends boolean = false>(\n config: ManagementApiClientConfig<DefaultThrowOnError>,\n): {\n deps: MapiResourceDeps<DefaultThrowOnError>;\n resources: Omit<ReturnType<typeof buildResources<DefaultThrowOnError>>, never>;\n} => {\n const {\n spaceId,\n region = 'eu',\n baseUrl,\n headers = {},\n throwOnError = false,\n retry = {\n limit: 12,\n backoffLimit: 20_000,\n methods: ['get', 'post', 'put', 'delete', 'patch', 'head', 'options', 'trace'],\n statusCodes: [429],\n },\n timeout = 30_000,\n rateLimit,\n } = config;\n\n const throttleManager = createThrottleManager(rateLimit ?? {});\n const authHeader = getAuthorizationHeader(config);\n\n const client: Client = createClient(\n createConfig({\n baseUrl: baseUrl || getManagementBaseUrl(region),\n headers: {\n ...(authHeader ? { Authorization: authHeader } : {}),\n ...headers,\n },\n throwOnError,\n kyOptions: {\n throwHttpErrors: true,\n timeout,\n retry,\n },\n }),\n );\n\n client.interceptors.error.use(\n (error: unknown, response: Response) =>\n new ClientError(response?.statusText || 'API request failed', {\n status: response?.status ?? 0,\n statusText: response?.statusText ?? '',\n data: error,\n }),\n );\n\n function wrapRequest<TData, CurrentThrowOnError extends boolean = DefaultThrowOnError>(\n fn: () => Promise<unknown>,\n _throwOnError?: CurrentThrowOnError,\n ): Promise<ApiResponse<TData, CurrentThrowOnError>> {\n return throttleManager.execute(async () => {\n const result = await fn() as ApiResponse<TData, CurrentThrowOnError>;\n throttleManager.adaptToResponse((result as { response: Response }).response);\n return result;\n }) as Promise<ApiResponse<TData, CurrentThrowOnError>>;\n }\n\n const deps: MapiResourceDeps<DefaultThrowOnError> = { client, spaceId, wrapRequest };\n return { deps, resources: buildResources(deps, client) };\n};\n\nfunction buildResources<DefaultThrowOnError extends boolean = false>(\n deps: MapiResourceDeps<DefaultThrowOnError>,\n client: Client,\n) {\n /**\n * Escape hatch: send a GET request to any MAPI endpoint not yet wrapped\n * in a dedicated resource method.\n */\n const httpGet = <TData = unknown>(\n path: string,\n options: HttpRequestOptions = {},\n ): Promise<ApiResponse<TData, DefaultThrowOnError>> => {\n const { fetchOptions, ...rest } = options;\n return deps.wrapRequest<TData>(() =>\n client.get({ url: path, ...rest, ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }),\n );\n };\n\n /**\n * Escape hatch: send a POST request to any MAPI endpoint not yet wrapped\n * in a dedicated resource method.\n */\n const httpPost = <TData = unknown>(\n path: string,\n options: HttpRequestOptions = {},\n ): Promise<ApiResponse<TData, DefaultThrowOnError>> => {\n const { fetchOptions, ...rest } = options;\n return deps.wrapRequest<TData>(() =>\n client.post({ url: path, ...rest, ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }),\n );\n };\n\n /**\n * Escape hatch: send a PUT request to any MAPI endpoint not yet wrapped\n * in a dedicated resource method.\n */\n const httpPut = <TData = unknown>(\n path: string,\n options: HttpRequestOptions = {},\n ): Promise<ApiResponse<TData, DefaultThrowOnError>> => {\n const { fetchOptions, ...rest } = options;\n return deps.wrapRequest<TData>(() =>\n client.put({ url: path, ...rest, ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }),\n );\n };\n\n /**\n * Escape hatch: send a PATCH request to any MAPI endpoint not yet wrapped\n * in a dedicated resource method.\n */\n const httpPatch = <TData = unknown>(\n path: string,\n options: HttpRequestOptions = {},\n ): Promise<ApiResponse<TData, DefaultThrowOnError>> => {\n const { fetchOptions, ...rest } = options;\n return deps.wrapRequest<TData>(() =>\n client.patch({ url: path, ...rest, ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }),\n );\n };\n\n /**\n * Escape hatch: send a DELETE request to any MAPI endpoint not yet wrapped\n * in a dedicated resource method.\n */\n const httpDelete = <TData = unknown>(\n path: string,\n options: HttpRequestOptions = {},\n ): Promise<ApiResponse<TData, DefaultThrowOnError>> => {\n const { fetchOptions, ...rest } = options;\n return deps.wrapRequest<TData>(() =>\n client.delete({ url: path, ...rest, ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }),\n );\n };\n\n return {\n assetFolders: createAssetFoldersResource(deps),\n assets: createAssetsResource(deps),\n componentFolders: createComponentFoldersResource(deps),\n components: createComponentsResource(deps),\n datasourceEntries: createDatasourceEntriesResource(deps),\n datasources: createDatasourcesResource(deps),\n delete: httpDelete,\n get: httpGet,\n patch: httpPatch,\n interceptors: client.interceptors as Middleware<Request, Response, unknown, ResolvedRequestOptions>,\n internalTags: createInternalTagsResource(deps),\n post: httpPost,\n presets: createPresetsResource(deps),\n put: httpPut,\n spaces: createSpacesResource(deps),\n users: createUsersResource<DefaultThrowOnError>({ client, wrapRequest: deps.wrapRequest }),\n };\n}\n\ntype StoryblokTypesConfig = { components: Component } | { blocks: Component };\n\ntype ResolveComponents<T extends StoryblokTypesConfig> =\n T extends { components: infer C extends Component } ? C\n : T extends { blocks: infer B extends Component } ? B\n : never;\n\n/**\n * The return type of `createManagementApiClient`, parameterised by `TComponents` so that\n * `.stories` methods can narrow story content types without touching the runtime object.\n */\nexport type ManagementApiClient<\n TComponents extends Component = Component,\n DefaultThrowOnError extends boolean = false,\n> = ReturnType<typeof buildResources<DefaultThrowOnError>> & {\n stories: ReturnType<typeof createStoriesResource<TComponents, DefaultThrowOnError>>;\n /**\n * Returns the same client instance cast to a version that narrows story content\n * to the provided component types. No runtime cost — type parameter is erased.\n *\n * Accepts either `{ components: ... }` or `{ blocks: ... }` — the latter matches the\n * `Schema` type produced by `@storyblok/schema`'s `InferSchema`.\n *\n * @example\n * ```ts\n * import type { Schema } from './schema';\n *\n * const client = createManagementApiClient({ personalAccessToken: '...' })\n * .withTypes<Schema>();\n * ```\n */\n withTypes: <T extends StoryblokTypesConfig>() => ManagementApiClient<ResolveComponents<T>, DefaultThrowOnError>;\n};\n\nexport const createManagementApiClient = <\n DefaultThrowOnError extends boolean = false,\n>(\n config: ManagementApiClientConfig<DefaultThrowOnError>,\n): ManagementApiClient<Component, DefaultThrowOnError> => {\n const { deps, resources } = createManagementApiClientBase(config);\n const self: ManagementApiClient<Component, DefaultThrowOnError> = {\n ...resources,\n stories: createStoriesResource<Component, DefaultThrowOnError>(deps),\n withTypes<T extends StoryblokTypesConfig>() {\n return self as unknown as ManagementApiClient<ResolveComponents<T>, DefaultThrowOnError>;\n },\n };\n return self;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA0IA,SAAS,uBAAuB,QAAgE;AAC9F,KAAI,OAAO,oBACT,QAAO,OAAO;AAEhB,KAAI,OAAO,WACT,QAAO,OAAO,WAAW,WAAW,UAAU,GAC1C,OAAO,aACP,UAAU,OAAO;;AAKzB,MAAM,iCACJ,WAIG;CACH,MAAM,EACJ,SACA,SAAS,MACT,SACA,UAAU,EAAE,EACZ,eAAe,OACf,QAAQ;EACN,OAAO;EACP,cAAc;EACd,SAAS;GAAC;GAAO;GAAQ;GAAO;GAAU;GAAS;GAAQ;GAAW;GAAQ;EAC9E,aAAa,CAAC,IAAI;EACnB,EACD,UAAU,KACV,cACE;CAEJ,MAAM,kBAAkB,sBAAsB,aAAa,EAAE,CAAC;CAC9D,MAAM,aAAa,uBAAuB,OAAO;CAEjD,MAAM,SAAiB,aACrB,aAAa;EACX,SAAS,WAAW,qBAAqB,OAAO;EAChD,SAAS;GACP,GAAI,aAAa,EAAE,eAAe,YAAY,GAAG,EAAE;GACnD,GAAG;GACJ;EACD;EACA,WAAW;GACT,iBAAiB;GACjB;GACA;GACD;EACF,CAAC,CACH;AAED,QAAO,aAAa,MAAM,KACvB,OAAgB,aACf,IAAI,YAAY,UAAU,cAAc,sBAAsB;EAC5D,QAAQ,UAAU,UAAU;EAC5B,YAAY,UAAU,cAAc;EACpC,MAAM;EACP,CAAC,CACL;CAED,SAAS,YACP,IACA,eACkD;AAClD,SAAO,gBAAgB,QAAQ,YAAY;GACzC,MAAM,SAAS,MAAM,IAAI;AACzB,mBAAgB,gBAAiB,OAAkC,SAAS;AAC5E,UAAO;IACP;;CAGJ,MAAM,OAA8C;EAAE;EAAQ;EAAS;EAAa;AACpF,QAAO;EAAE;EAAM,WAAW,eAAe,MAAM,OAAO;EAAE;;AAG1D,SAAS,eACP,MACA,QACA;;;;;CAKA,MAAM,WACJ,MACA,UAA8B,EAAE,KACqB;EACrD,MAAM,EAAE,cAAc,GAAG,SAAS;AAClC,SAAO,KAAK,kBACV,OAAO,IAAI;GAAE,KAAK;GAAM,GAAG;GAAM,GAAI,eAAe,EAAE,WAAW;IAAE,GAAG,OAAO,WAAW,CAAC;IAAW,GAAG;IAAc,EAAE,GAAG,EAAE;GAAG,CAAC,CACjI;;;;;;CAOH,MAAM,YACJ,MACA,UAA8B,EAAE,KACqB;EACrD,MAAM,EAAE,cAAc,GAAG,SAAS;AAClC,SAAO,KAAK,kBACV,OAAO,KAAK;GAAE,KAAK;GAAM,GAAG;GAAM,GAAI,eAAe,EAAE,WAAW;IAAE,GAAG,OAAO,WAAW,CAAC;IAAW,GAAG;IAAc,EAAE,GAAG,EAAE;GAAG,CAAC,CAClI;;;;;;CAOH,MAAM,WACJ,MACA,UAA8B,EAAE,KACqB;EACrD,MAAM,EAAE,cAAc,GAAG,SAAS;AAClC,SAAO,KAAK,kBACV,OAAO,IAAI;GAAE,KAAK;GAAM,GAAG;GAAM,GAAI,eAAe,EAAE,WAAW;IAAE,GAAG,OAAO,WAAW,CAAC;IAAW,GAAG;IAAc,EAAE,GAAG,EAAE;GAAG,CAAC,CACjI;;;;;;CAOH,MAAM,aACJ,MACA,UAA8B,EAAE,KACqB;EACrD,MAAM,EAAE,cAAc,GAAG,SAAS;AAClC,SAAO,KAAK,kBACV,OAAO,MAAM;GAAE,KAAK;GAAM,GAAG;GAAM,GAAI,eAAe,EAAE,WAAW;IAAE,GAAG,OAAO,WAAW,CAAC;IAAW,GAAG;IAAc,EAAE,GAAG,EAAE;GAAG,CAAC,CACnI;;;;;;CAOH,MAAM,cACJ,MACA,UAA8B,EAAE,KACqB;EACrD,MAAM,EAAE,cAAc,GAAG,SAAS;AAClC,SAAO,KAAK,kBACV,OAAO,OAAO;GAAE,KAAK;GAAM,GAAG;GAAM,GAAI,eAAe,EAAE,WAAW;IAAE,GAAG,OAAO,WAAW,CAAC;IAAW,GAAG;IAAc,EAAE,GAAG,EAAE;GAAG,CAAC,CACpI;;AAGH,QAAO;EACL,cAAc,2BAA2B,KAAK;EAC9C,QAAQ,qBAAqB,KAAK;EAClC,kBAAkB,+BAA+B,KAAK;EACtD,YAAY,yBAAyB,KAAK;EAC1C,mBAAmB,gCAAgC,KAAK;EACxD,aAAa,0BAA0B,KAAK;EAC5C,QAAQ;EACR,KAAK;EACL,OAAO;EACP,cAAc,OAAO;EACrB,cAAc,2BAA2B,KAAK;EAC9C,MAAM;EACN,SAAS,sBAAsB,KAAK;EACpC,KAAK;EACL,QAAQ,qBAAqB,KAAK;EAClC,OAAO,oBAAyC;GAAE;GAAQ,aAAa,KAAK;GAAa,CAAC;EAC3F;;AAqCH,MAAa,6BAGX,WACwD;CACxD,MAAM,EAAE,MAAM,cAAc,8BAA8B,OAAO;CACjE,MAAM,OAA4D;EAChE,GAAG;EACH,SAAS,sBAAsD,KAAK;EACpE,YAA4C;AAC1C,UAAO;;EAEV;AACD,QAAO"}
|
package/dist/error.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.cjs","names":[],"sources":["../src/error.ts"],"sourcesContent":["/**\n * Structured HTTP error thrown by the Management API client when `throwOnError: true`.\n */\nexport class ClientError extends Error {\n readonly response: { status: number; statusText: string; data:
|
|
1
|
+
{"version":3,"file":"error.cjs","names":[],"sources":["../src/error.ts"],"sourcesContent":["/**\n * Common shape of error bodies returned by the Storyblok Management API.\n *\n * Most error responses include an `error` field with a human-readable message.\n */\nexport interface ApiErrorBody {\n error?: string;\n message?: string;\n [key: string]: unknown;\n}\n\n/**\n * Structured HTTP error thrown by the Management API client when `throwOnError: true`.\n */\nexport class ClientError extends Error {\n readonly response: { status: number; statusText: string; data: ApiErrorBody | undefined };\n\n constructor(\n message: string,\n options: { status: number; statusText: string; data: unknown },\n ) {\n super(message);\n this.name = 'ClientError';\n this.response = {\n status: options.status,\n statusText: options.statusText,\n data: options.data as ApiErrorBody | undefined,\n };\n }\n}\n"],"mappings":";;;;;AAcA,IAAa,cAAb,cAAiC,MAAM;CACrC,AAAS;CAET,YACE,SACA,SACA;AACA,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,WAAW;GACd,QAAQ,QAAQ;GAChB,YAAY,QAAQ;GACpB,MAAM,QAAQ;GACf"}
|
package/dist/error.d.cts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
//#region src/error.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Common shape of error bodies returned by the Storyblok Management API.
|
|
4
|
+
*
|
|
5
|
+
* Most error responses include an `error` field with a human-readable message.
|
|
6
|
+
*/
|
|
7
|
+
interface ApiErrorBody {
|
|
8
|
+
error?: string;
|
|
9
|
+
message?: string;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* Structured HTTP error thrown by the Management API client when `throwOnError: true`.
|
|
4
14
|
*/
|
|
@@ -6,7 +16,7 @@ declare class ClientError extends Error {
|
|
|
6
16
|
readonly response: {
|
|
7
17
|
status: number;
|
|
8
18
|
statusText: string;
|
|
9
|
-
data:
|
|
19
|
+
data: ApiErrorBody | undefined;
|
|
10
20
|
};
|
|
11
21
|
constructor(message: string, options: {
|
|
12
22
|
status: number;
|
|
@@ -15,5 +25,5 @@ declare class ClientError extends Error {
|
|
|
15
25
|
});
|
|
16
26
|
}
|
|
17
27
|
//#endregion
|
|
18
|
-
export { ClientError };
|
|
28
|
+
export { ApiErrorBody, ClientError };
|
|
19
29
|
//# sourceMappingURL=error.d.cts.map
|
package/dist/error.d.mts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
//#region src/error.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Common shape of error bodies returned by the Storyblok Management API.
|
|
4
|
+
*
|
|
5
|
+
* Most error responses include an `error` field with a human-readable message.
|
|
6
|
+
*/
|
|
7
|
+
interface ApiErrorBody {
|
|
8
|
+
error?: string;
|
|
9
|
+
message?: string;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* Structured HTTP error thrown by the Management API client when `throwOnError: true`.
|
|
4
14
|
*/
|
|
@@ -6,7 +16,7 @@ declare class ClientError extends Error {
|
|
|
6
16
|
readonly response: {
|
|
7
17
|
status: number;
|
|
8
18
|
statusText: string;
|
|
9
|
-
data:
|
|
19
|
+
data: ApiErrorBody | undefined;
|
|
10
20
|
};
|
|
11
21
|
constructor(message: string, options: {
|
|
12
22
|
status: number;
|
|
@@ -15,5 +25,5 @@ declare class ClientError extends Error {
|
|
|
15
25
|
});
|
|
16
26
|
}
|
|
17
27
|
//#endregion
|
|
18
|
-
export { ClientError };
|
|
28
|
+
export { ApiErrorBody, ClientError };
|
|
19
29
|
//# sourceMappingURL=error.d.mts.map
|
package/dist/error.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.mjs","names":[],"sources":["../src/error.ts"],"sourcesContent":["/**\n * Structured HTTP error thrown by the Management API client when `throwOnError: true`.\n */\nexport class ClientError extends Error {\n readonly response: { status: number; statusText: string; data:
|
|
1
|
+
{"version":3,"file":"error.mjs","names":[],"sources":["../src/error.ts"],"sourcesContent":["/**\n * Common shape of error bodies returned by the Storyblok Management API.\n *\n * Most error responses include an `error` field with a human-readable message.\n */\nexport interface ApiErrorBody {\n error?: string;\n message?: string;\n [key: string]: unknown;\n}\n\n/**\n * Structured HTTP error thrown by the Management API client when `throwOnError: true`.\n */\nexport class ClientError extends Error {\n readonly response: { status: number; statusText: string; data: ApiErrorBody | undefined };\n\n constructor(\n message: string,\n options: { status: number; statusText: string; data: unknown },\n ) {\n super(message);\n this.name = 'ClientError';\n this.response = {\n status: options.status,\n statusText: options.statusText,\n data: options.data as ApiErrorBody | undefined,\n };\n }\n}\n"],"mappings":";;;;AAcA,IAAa,cAAb,cAAiC,MAAM;CACrC,AAAS;CAET,YACE,SACA,SACA;AACA,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,WAAW;GACd,QAAQ,QAAQ;GAChB,YAAY,QAAQ;GACpB,MAAM,QAAQ;GACf"}
|
|
@@ -21,12 +21,10 @@ type AssetFolder = {
|
|
|
21
21
|
*/
|
|
22
22
|
readonly parent_uuid?: string | null;
|
|
23
23
|
};
|
|
24
|
-
type AssetFolderCreate = AssetFolderCreate2;
|
|
25
|
-
type AssetFolderUpdate = AssetFolderUpdate2;
|
|
26
24
|
/**
|
|
27
25
|
* Input for creating an asset folder.
|
|
28
26
|
*/
|
|
29
|
-
type
|
|
27
|
+
type AssetFolderCreate = {
|
|
30
28
|
/**
|
|
31
29
|
* The name of the asset folder
|
|
32
30
|
*/
|
|
@@ -39,7 +37,7 @@ type AssetFolderCreate2 = {
|
|
|
39
37
|
/**
|
|
40
38
|
* Input for updating an asset folder.
|
|
41
39
|
*/
|
|
42
|
-
type
|
|
40
|
+
type AssetFolderUpdate = {
|
|
43
41
|
/**
|
|
44
42
|
* The name of the asset folder
|
|
45
43
|
*/
|
|
@@ -77,17 +75,9 @@ type ListData = {
|
|
|
77
75
|
};
|
|
78
76
|
url: '/v1/spaces/{space_id}/asset_folders';
|
|
79
77
|
};
|
|
80
|
-
type ListResponses = {
|
|
81
|
-
/**
|
|
82
|
-
* List of asset folders
|
|
83
|
-
*/
|
|
84
|
-
200: {
|
|
85
|
-
asset_folders?: Array<AssetFolder>;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
78
|
type CreateData = {
|
|
89
79
|
body: {
|
|
90
|
-
asset_folder?:
|
|
80
|
+
asset_folder?: AssetFolderCreate;
|
|
91
81
|
};
|
|
92
82
|
path: {
|
|
93
83
|
/**
|
|
@@ -98,14 +88,6 @@ type CreateData = {
|
|
|
98
88
|
query?: never;
|
|
99
89
|
url: '/v1/spaces/{space_id}/asset_folders';
|
|
100
90
|
};
|
|
101
|
-
type CreateResponses = {
|
|
102
|
-
/**
|
|
103
|
-
* Asset folder created successfully
|
|
104
|
-
*/
|
|
105
|
-
201: {
|
|
106
|
-
asset_folder?: AssetFolder;
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
91
|
type DeleteData = {
|
|
110
92
|
body?: never;
|
|
111
93
|
path: {
|
|
@@ -126,17 +108,9 @@ type DeleteData = {
|
|
|
126
108
|
};
|
|
127
109
|
url: '/v1/spaces/{space_id}/asset_folders/{asset_folder_id}';
|
|
128
110
|
};
|
|
129
|
-
type GetResponses = {
|
|
130
|
-
/**
|
|
131
|
-
* Asset folder details
|
|
132
|
-
*/
|
|
133
|
-
200: {
|
|
134
|
-
asset_folder?: AssetFolder;
|
|
135
|
-
};
|
|
136
|
-
};
|
|
137
111
|
type UpdateData = {
|
|
138
112
|
body: {
|
|
139
|
-
asset_folder?:
|
|
113
|
+
asset_folder?: AssetFolderUpdate;
|
|
140
114
|
};
|
|
141
115
|
path: {
|
|
142
116
|
/**
|
|
@@ -152,5 +126,5 @@ type UpdateData = {
|
|
|
152
126
|
url: '/v1/spaces/{space_id}/asset_folders/{asset_folder_id}';
|
|
153
127
|
};
|
|
154
128
|
//#endregion
|
|
155
|
-
export { AssetFolder,
|
|
129
|
+
export { AssetFolder, CreateData, DeleteData, ListData, UpdateData };
|
|
156
130
|
//# sourceMappingURL=types.gen.d.cts.map
|
|
@@ -21,12 +21,10 @@ type AssetFolder = {
|
|
|
21
21
|
*/
|
|
22
22
|
readonly parent_uuid?: string | null;
|
|
23
23
|
};
|
|
24
|
-
type AssetFolderCreate = AssetFolderCreate2;
|
|
25
|
-
type AssetFolderUpdate = AssetFolderUpdate2;
|
|
26
24
|
/**
|
|
27
25
|
* Input for creating an asset folder.
|
|
28
26
|
*/
|
|
29
|
-
type
|
|
27
|
+
type AssetFolderCreate = {
|
|
30
28
|
/**
|
|
31
29
|
* The name of the asset folder
|
|
32
30
|
*/
|
|
@@ -39,7 +37,7 @@ type AssetFolderCreate2 = {
|
|
|
39
37
|
/**
|
|
40
38
|
* Input for updating an asset folder.
|
|
41
39
|
*/
|
|
42
|
-
type
|
|
40
|
+
type AssetFolderUpdate = {
|
|
43
41
|
/**
|
|
44
42
|
* The name of the asset folder
|
|
45
43
|
*/
|
|
@@ -77,17 +75,9 @@ type ListData = {
|
|
|
77
75
|
};
|
|
78
76
|
url: '/v1/spaces/{space_id}/asset_folders';
|
|
79
77
|
};
|
|
80
|
-
type ListResponses = {
|
|
81
|
-
/**
|
|
82
|
-
* List of asset folders
|
|
83
|
-
*/
|
|
84
|
-
200: {
|
|
85
|
-
asset_folders?: Array<AssetFolder>;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
78
|
type CreateData = {
|
|
89
79
|
body: {
|
|
90
|
-
asset_folder?:
|
|
80
|
+
asset_folder?: AssetFolderCreate;
|
|
91
81
|
};
|
|
92
82
|
path: {
|
|
93
83
|
/**
|
|
@@ -98,14 +88,6 @@ type CreateData = {
|
|
|
98
88
|
query?: never;
|
|
99
89
|
url: '/v1/spaces/{space_id}/asset_folders';
|
|
100
90
|
};
|
|
101
|
-
type CreateResponses = {
|
|
102
|
-
/**
|
|
103
|
-
* Asset folder created successfully
|
|
104
|
-
*/
|
|
105
|
-
201: {
|
|
106
|
-
asset_folder?: AssetFolder;
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
91
|
type DeleteData = {
|
|
110
92
|
body?: never;
|
|
111
93
|
path: {
|
|
@@ -126,17 +108,9 @@ type DeleteData = {
|
|
|
126
108
|
};
|
|
127
109
|
url: '/v1/spaces/{space_id}/asset_folders/{asset_folder_id}';
|
|
128
110
|
};
|
|
129
|
-
type GetResponses = {
|
|
130
|
-
/**
|
|
131
|
-
* Asset folder details
|
|
132
|
-
*/
|
|
133
|
-
200: {
|
|
134
|
-
asset_folder?: AssetFolder;
|
|
135
|
-
};
|
|
136
|
-
};
|
|
137
111
|
type UpdateData = {
|
|
138
112
|
body: {
|
|
139
|
-
asset_folder?:
|
|
113
|
+
asset_folder?: AssetFolderUpdate;
|
|
140
114
|
};
|
|
141
115
|
path: {
|
|
142
116
|
/**
|
|
@@ -152,5 +126,5 @@ type UpdateData = {
|
|
|
152
126
|
url: '/v1/spaces/{space_id}/asset_folders/{asset_folder_id}';
|
|
153
127
|
};
|
|
154
128
|
//#endregion
|
|
155
|
-
export { AssetFolder,
|
|
129
|
+
export { AssetFolder, CreateData, DeleteData, ListData, UpdateData };
|
|
156
130
|
//# sourceMappingURL=types.gen.d.mts.map
|
|
@@ -260,14 +260,6 @@ type ListData = {
|
|
|
260
260
|
};
|
|
261
261
|
url: '/v1/spaces/{space_id}/assets';
|
|
262
262
|
};
|
|
263
|
-
type ListResponses = {
|
|
264
|
-
/**
|
|
265
|
-
* List of assets
|
|
266
|
-
*/
|
|
267
|
-
200: {
|
|
268
|
-
assets?: Array<Asset>;
|
|
269
|
-
};
|
|
270
|
-
};
|
|
271
263
|
type SignResponseObjectData = {
|
|
272
264
|
body: AssetSignRequest;
|
|
273
265
|
path: {
|
|
@@ -279,26 +271,6 @@ type SignResponseObjectData = {
|
|
|
279
271
|
query?: never;
|
|
280
272
|
url: '/v1/spaces/{space_id}/assets';
|
|
281
273
|
};
|
|
282
|
-
type SignResponseObjectResponses = {
|
|
283
|
-
/**
|
|
284
|
-
* Signed response object for upload
|
|
285
|
-
*/
|
|
286
|
-
200: SignedResponseObject;
|
|
287
|
-
};
|
|
288
|
-
type DeleteResponses = {
|
|
289
|
-
/**
|
|
290
|
-
* Asset deleted
|
|
291
|
-
*/
|
|
292
|
-
200: {
|
|
293
|
-
asset?: Asset;
|
|
294
|
-
};
|
|
295
|
-
};
|
|
296
|
-
type GetResponses = {
|
|
297
|
-
/**
|
|
298
|
-
* Asset details
|
|
299
|
-
*/
|
|
300
|
-
200: Asset;
|
|
301
|
-
};
|
|
302
274
|
type UpdateData = {
|
|
303
275
|
body: AssetUpdateRequest;
|
|
304
276
|
path: {
|
|
@@ -314,17 +286,6 @@ type UpdateData = {
|
|
|
314
286
|
query?: never;
|
|
315
287
|
url: '/v1/spaces/{space_id}/assets/{asset_id}';
|
|
316
288
|
};
|
|
317
|
-
type FinalizeResponses = {
|
|
318
|
-
/**
|
|
319
|
-
* Upload finalized successfully
|
|
320
|
-
*/
|
|
321
|
-
200: {
|
|
322
|
-
/**
|
|
323
|
-
* Success message indicating the upload was finalized
|
|
324
|
-
*/
|
|
325
|
-
message?: string;
|
|
326
|
-
};
|
|
327
|
-
};
|
|
328
289
|
type DeleteManyData = {
|
|
329
290
|
body: {
|
|
330
291
|
/**
|
|
@@ -341,17 +302,6 @@ type DeleteManyData = {
|
|
|
341
302
|
query?: never;
|
|
342
303
|
url: '/v1/spaces/{space_id}/assets/bulk_destroy';
|
|
343
304
|
};
|
|
344
|
-
type DeleteManyResponses = {
|
|
345
|
-
/**
|
|
346
|
-
* Assets deleted successfully
|
|
347
|
-
*/
|
|
348
|
-
200: {
|
|
349
|
-
/**
|
|
350
|
-
* Success message indicating which assets were deleted
|
|
351
|
-
*/
|
|
352
|
-
message?: string;
|
|
353
|
-
};
|
|
354
|
-
};
|
|
355
305
|
type BulkMoveData = {
|
|
356
306
|
body: {
|
|
357
307
|
/**
|
|
@@ -372,17 +322,6 @@ type BulkMoveData = {
|
|
|
372
322
|
query?: never;
|
|
373
323
|
url: '/v1/spaces/{space_id}/assets/bulk_update';
|
|
374
324
|
};
|
|
375
|
-
type BulkMoveResponses = {
|
|
376
|
-
/**
|
|
377
|
-
* Assets moved successfully
|
|
378
|
-
*/
|
|
379
|
-
200: {
|
|
380
|
-
/**
|
|
381
|
-
* Success message indicating which assets were moved
|
|
382
|
-
*/
|
|
383
|
-
message?: string;
|
|
384
|
-
};
|
|
385
|
-
};
|
|
386
325
|
type BulkRestoreData = {
|
|
387
326
|
body: {
|
|
388
327
|
/**
|
|
@@ -399,17 +338,6 @@ type BulkRestoreData = {
|
|
|
399
338
|
query?: never;
|
|
400
339
|
url: '/v1/spaces/{space_id}/assets/bulk_restore';
|
|
401
340
|
};
|
|
402
|
-
type BulkRestoreResponses = {
|
|
403
|
-
/**
|
|
404
|
-
* Assets restored successfully
|
|
405
|
-
*/
|
|
406
|
-
200: {
|
|
407
|
-
/**
|
|
408
|
-
* Success message indicating which assets were restored
|
|
409
|
-
*/
|
|
410
|
-
message?: string;
|
|
411
|
-
};
|
|
412
|
-
};
|
|
413
341
|
//#endregion
|
|
414
|
-
export { Asset, AssetSignRequest, AssetUpdate, AssetUpdateRequest, BulkMoveData,
|
|
342
|
+
export { Asset, AssetSignRequest, AssetUpdate, AssetUpdateRequest, BulkMoveData, BulkRestoreData, DeleteManyData, ListData, SignResponseObjectData, SignedResponseObject, UpdateData };
|
|
415
343
|
//# sourceMappingURL=types.gen.d.cts.map
|
|
@@ -260,14 +260,6 @@ type ListData = {
|
|
|
260
260
|
};
|
|
261
261
|
url: '/v1/spaces/{space_id}/assets';
|
|
262
262
|
};
|
|
263
|
-
type ListResponses = {
|
|
264
|
-
/**
|
|
265
|
-
* List of assets
|
|
266
|
-
*/
|
|
267
|
-
200: {
|
|
268
|
-
assets?: Array<Asset>;
|
|
269
|
-
};
|
|
270
|
-
};
|
|
271
263
|
type SignResponseObjectData = {
|
|
272
264
|
body: AssetSignRequest;
|
|
273
265
|
path: {
|
|
@@ -279,26 +271,6 @@ type SignResponseObjectData = {
|
|
|
279
271
|
query?: never;
|
|
280
272
|
url: '/v1/spaces/{space_id}/assets';
|
|
281
273
|
};
|
|
282
|
-
type SignResponseObjectResponses = {
|
|
283
|
-
/**
|
|
284
|
-
* Signed response object for upload
|
|
285
|
-
*/
|
|
286
|
-
200: SignedResponseObject;
|
|
287
|
-
};
|
|
288
|
-
type DeleteResponses = {
|
|
289
|
-
/**
|
|
290
|
-
* Asset deleted
|
|
291
|
-
*/
|
|
292
|
-
200: {
|
|
293
|
-
asset?: Asset;
|
|
294
|
-
};
|
|
295
|
-
};
|
|
296
|
-
type GetResponses = {
|
|
297
|
-
/**
|
|
298
|
-
* Asset details
|
|
299
|
-
*/
|
|
300
|
-
200: Asset;
|
|
301
|
-
};
|
|
302
274
|
type UpdateData = {
|
|
303
275
|
body: AssetUpdateRequest;
|
|
304
276
|
path: {
|
|
@@ -314,17 +286,6 @@ type UpdateData = {
|
|
|
314
286
|
query?: never;
|
|
315
287
|
url: '/v1/spaces/{space_id}/assets/{asset_id}';
|
|
316
288
|
};
|
|
317
|
-
type FinalizeResponses = {
|
|
318
|
-
/**
|
|
319
|
-
* Upload finalized successfully
|
|
320
|
-
*/
|
|
321
|
-
200: {
|
|
322
|
-
/**
|
|
323
|
-
* Success message indicating the upload was finalized
|
|
324
|
-
*/
|
|
325
|
-
message?: string;
|
|
326
|
-
};
|
|
327
|
-
};
|
|
328
289
|
type DeleteManyData = {
|
|
329
290
|
body: {
|
|
330
291
|
/**
|
|
@@ -341,17 +302,6 @@ type DeleteManyData = {
|
|
|
341
302
|
query?: never;
|
|
342
303
|
url: '/v1/spaces/{space_id}/assets/bulk_destroy';
|
|
343
304
|
};
|
|
344
|
-
type DeleteManyResponses = {
|
|
345
|
-
/**
|
|
346
|
-
* Assets deleted successfully
|
|
347
|
-
*/
|
|
348
|
-
200: {
|
|
349
|
-
/**
|
|
350
|
-
* Success message indicating which assets were deleted
|
|
351
|
-
*/
|
|
352
|
-
message?: string;
|
|
353
|
-
};
|
|
354
|
-
};
|
|
355
305
|
type BulkMoveData = {
|
|
356
306
|
body: {
|
|
357
307
|
/**
|
|
@@ -372,17 +322,6 @@ type BulkMoveData = {
|
|
|
372
322
|
query?: never;
|
|
373
323
|
url: '/v1/spaces/{space_id}/assets/bulk_update';
|
|
374
324
|
};
|
|
375
|
-
type BulkMoveResponses = {
|
|
376
|
-
/**
|
|
377
|
-
* Assets moved successfully
|
|
378
|
-
*/
|
|
379
|
-
200: {
|
|
380
|
-
/**
|
|
381
|
-
* Success message indicating which assets were moved
|
|
382
|
-
*/
|
|
383
|
-
message?: string;
|
|
384
|
-
};
|
|
385
|
-
};
|
|
386
325
|
type BulkRestoreData = {
|
|
387
326
|
body: {
|
|
388
327
|
/**
|
|
@@ -399,17 +338,6 @@ type BulkRestoreData = {
|
|
|
399
338
|
query?: never;
|
|
400
339
|
url: '/v1/spaces/{space_id}/assets/bulk_restore';
|
|
401
340
|
};
|
|
402
|
-
type BulkRestoreResponses = {
|
|
403
|
-
/**
|
|
404
|
-
* Assets restored successfully
|
|
405
|
-
*/
|
|
406
|
-
200: {
|
|
407
|
-
/**
|
|
408
|
-
* Success message indicating which assets were restored
|
|
409
|
-
*/
|
|
410
|
-
message?: string;
|
|
411
|
-
};
|
|
412
|
-
};
|
|
413
341
|
//#endregion
|
|
414
|
-
export { Asset, AssetSignRequest, AssetUpdate, AssetUpdateRequest, BulkMoveData,
|
|
342
|
+
export { Asset, AssetSignRequest, AssetUpdate, AssetUpdateRequest, BulkMoveData, BulkRestoreData, DeleteManyData, ListData, SignResponseObjectData, SignedResponseObject, UpdateData };
|
|
415
343
|
//# sourceMappingURL=types.gen.d.mts.map
|