@storyblok/management-api-client 0.2.4 → 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/types.d.cts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { AssetFolder, AssetFolderCreate, AssetFolderUpdate } from "./generated/asset_folders/types.gen.cjs";
|
|
2
|
-
import { Asset, AssetSignRequest, AssetUpdate, AssetUpdateRequest, ListData, SignedResponseObject } from "./generated/assets/types.gen.cjs";
|
|
3
|
-
import { AssetField, ListData as ListData$1, MultilinkField, PluginField, RichtextField, StoryAlternate, StoryContent, StoryCreate, StoryLocalizedPath, StoryMapi, StoryTranslatedSlug, StoryUpdate, TableField } from "./generated/stories/types.gen.cjs";
|
|
4
|
-
import { Client, RetryOptions } from "./generated/shared/client/types.gen.cjs";
|
|
5
|
-
import { ClientError } from "./error.cjs";
|
|
6
|
-
import { RateLimitConfig } from "./utils/rate-limit.cjs";
|
|
7
|
-
import { ComponentFolder } from "./generated/component_folders/types.gen.cjs";
|
|
8
|
-
import { Component, ComponentCreate, ComponentSchemaField, ComponentUpdate } from "./generated/components/types.gen.cjs";
|
|
9
|
-
import { DatasourceEntry, DatasourceEntryCreate, DatasourceEntryUpdate } from "./generated/datasource_entries/types.gen.cjs";
|
|
10
|
-
import { Datasource, DatasourceCreate, DatasourceUpdate } from "./generated/datasources/types.gen.cjs";
|
|
11
|
-
import { InternalTag } from "./generated/internal_tags/types.gen.cjs";
|
|
12
|
-
import { Preset } from "./generated/presets/types.gen.cjs";
|
|
13
|
-
import { Space, SpaceCreate, SpaceUpdate } from "./generated/spaces/types.gen.cjs";
|
|
14
|
-
import { User } from "./generated/users/types.gen.cjs";
|
|
15
|
-
import { AssetCreate, AssetUploadRequest } from "./resources/assets.cjs";
|
|
16
|
-
import { Region } from "@storyblok/region-helper";
|
|
17
|
-
|
|
18
|
-
//#region src/types.d.ts
|
|
19
|
-
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
20
|
-
type ApiResponse<T, ThrowOnError extends boolean = false> = ThrowOnError extends true ? {
|
|
21
|
-
data: T;
|
|
22
|
-
response: Response;
|
|
23
|
-
request: Request;
|
|
24
|
-
} : {
|
|
25
|
-
data: T;
|
|
26
|
-
error: undefined;
|
|
27
|
-
response: Response;
|
|
28
|
-
request: Request;
|
|
29
|
-
} | {
|
|
30
|
-
data: undefined;
|
|
31
|
-
error: ClientError;
|
|
32
|
-
response: Response;
|
|
33
|
-
request: Request;
|
|
34
|
-
};
|
|
35
|
-
interface RequestConfigOverrides {
|
|
36
|
-
throwOnError?: boolean;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Arbitrary options forwarded to the underlying `fetch()` call.
|
|
40
|
-
*
|
|
41
|
-
* Standard `RequestInit` properties (`cache`, `credentials`, `mode`, …) and
|
|
42
|
-
* non-standard, vendor-specific properties (Next.js `next`, Cloudflare `cf`, …)
|
|
43
|
-
* are both supported.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```ts
|
|
47
|
-
* client.stories.get(123, {
|
|
48
|
-
* fetchOptions: {
|
|
49
|
-
* cache: 'no-store',
|
|
50
|
-
* next: { revalidate: 60 },
|
|
51
|
-
* },
|
|
52
|
-
* })
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
type FetchOptions = Record<string, unknown>;
|
|
56
|
-
interface HttpRequestOptions {
|
|
57
|
-
query?: Record<string, unknown>;
|
|
58
|
-
body?: unknown;
|
|
59
|
-
headers?: Record<string, string>;
|
|
60
|
-
signal?: AbortSignal;
|
|
61
|
-
throwOnError?: RequestConfigOverrides['throwOnError'];
|
|
62
|
-
fetchOptions?: FetchOptions;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Dependencies injected into every resource factory.
|
|
66
|
-
*/
|
|
67
|
-
interface MapiResourceDeps {
|
|
68
|
-
client: Client;
|
|
69
|
-
spaceId?: number;
|
|
70
|
-
wrapRequest: <TData, ThrowOnError extends boolean = false>(fn: () => Promise<unknown>, throwOnError?: ThrowOnError) => Promise<ApiResponse<TData, ThrowOnError>>;
|
|
71
|
-
}
|
|
72
|
-
interface ManagementApiClientConfig {
|
|
73
|
-
/**
|
|
74
|
-
* Personal access token for authentication.
|
|
75
|
-
* Provide either `personalAccessToken` or `oauthToken`.
|
|
76
|
-
*/
|
|
77
|
-
personalAccessToken?: string;
|
|
78
|
-
/**
|
|
79
|
-
* OAuth bearer token for authentication.
|
|
80
|
-
* Provide either `personalAccessToken` or `oauthToken`.
|
|
81
|
-
*/
|
|
82
|
-
oauthToken?: string;
|
|
83
|
-
/**
|
|
84
|
-
* The Storyblok space ID. Used as the default for space-scoped endpoints.
|
|
85
|
-
* You can also override it per request via `path.space_id`.
|
|
86
|
-
*/
|
|
87
|
-
spaceId?: number;
|
|
88
|
-
/**
|
|
89
|
-
* Storyblok region. Determines the base URL.
|
|
90
|
-
* @default 'eu'
|
|
91
|
-
*/
|
|
92
|
-
region?: Region;
|
|
93
|
-
/**
|
|
94
|
-
* Override the base URL entirely (e.g. for testing).
|
|
95
|
-
*/
|
|
96
|
-
baseUrl?: string;
|
|
97
|
-
/**
|
|
98
|
-
* Additional request headers.
|
|
99
|
-
*/
|
|
100
|
-
headers?: Record<string, string>;
|
|
101
|
-
/**
|
|
102
|
-
* Throw on HTTP errors instead of returning them.
|
|
103
|
-
* @default false
|
|
104
|
-
*/
|
|
105
|
-
throwOnError?: boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Retry configuration for failed requests.
|
|
108
|
-
*/
|
|
109
|
-
retry?: RetryOptions;
|
|
110
|
-
/**
|
|
111
|
-
* Request timeout in milliseconds.
|
|
112
|
-
* @default 30_000
|
|
113
|
-
*/
|
|
114
|
-
timeout?: number;
|
|
115
|
-
/**
|
|
116
|
-
* Preventive rate limiting to avoid hitting the Storyblok Management API rate limits.
|
|
117
|
-
*
|
|
118
|
-
* - `undefined` (default): single bucket at maxConcurrency: 6.
|
|
119
|
-
* - `number`: fixed max concurrent requests per second.
|
|
120
|
-
* - `{ maxConcurrency?: number; adaptToServerHeaders?: boolean }`: full config.
|
|
121
|
-
* - `false`: disable rate limiting entirely.
|
|
122
|
-
*/
|
|
123
|
-
rateLimit?: RateLimitConfig | number | false;
|
|
124
|
-
}
|
|
125
|
-
type AssetListQuery = NonNullable<ListData['query']>;
|
|
126
|
-
type Story = Prettify<StoryMapi>;
|
|
127
|
-
type StoryListQuery = NonNullable<ListData$1['query']>;
|
|
128
|
-
//#endregion
|
|
129
|
-
export { ApiResponse, AssetListQuery, FetchOptions, HttpRequestOptions, ManagementApiClientConfig, MapiResourceDeps, RequestConfigOverrides, Story, StoryListQuery };
|
|
130
|
-
//# sourceMappingURL=types.d.cts.map
|
package/dist/types.d.mts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { AssetFolder, AssetFolderCreate, AssetFolderUpdate } from "./generated/asset_folders/types.gen.mjs";
|
|
2
|
-
import { Asset, AssetSignRequest, AssetUpdate, AssetUpdateRequest, ListData, SignedResponseObject } from "./generated/assets/types.gen.mjs";
|
|
3
|
-
import { AssetField, ListData as ListData$1, MultilinkField, PluginField, RichtextField, StoryAlternate, StoryContent, StoryCreate, StoryLocalizedPath, StoryMapi, StoryTranslatedSlug, StoryUpdate, TableField } from "./generated/stories/types.gen.mjs";
|
|
4
|
-
import { Client, RetryOptions } from "./generated/shared/client/types.gen.mjs";
|
|
5
|
-
import { ClientError } from "./error.mjs";
|
|
6
|
-
import { RateLimitConfig } from "./utils/rate-limit.mjs";
|
|
7
|
-
import { ComponentFolder } from "./generated/component_folders/types.gen.mjs";
|
|
8
|
-
import { Component, ComponentCreate, ComponentSchemaField, ComponentUpdate } from "./generated/components/types.gen.mjs";
|
|
9
|
-
import { DatasourceEntry, DatasourceEntryCreate, DatasourceEntryUpdate } from "./generated/datasource_entries/types.gen.mjs";
|
|
10
|
-
import { Datasource, DatasourceCreate, DatasourceUpdate } from "./generated/datasources/types.gen.mjs";
|
|
11
|
-
import { InternalTag } from "./generated/internal_tags/types.gen.mjs";
|
|
12
|
-
import { Preset } from "./generated/presets/types.gen.mjs";
|
|
13
|
-
import { Space, SpaceCreate, SpaceUpdate } from "./generated/spaces/types.gen.mjs";
|
|
14
|
-
import { User } from "./generated/users/types.gen.mjs";
|
|
15
|
-
import { AssetCreate, AssetUploadRequest } from "./resources/assets.mjs";
|
|
16
|
-
import { Region } from "@storyblok/region-helper";
|
|
17
|
-
|
|
18
|
-
//#region src/types.d.ts
|
|
19
|
-
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
20
|
-
type ApiResponse<T, ThrowOnError extends boolean = false> = ThrowOnError extends true ? {
|
|
21
|
-
data: T;
|
|
22
|
-
response: Response;
|
|
23
|
-
request: Request;
|
|
24
|
-
} : {
|
|
25
|
-
data: T;
|
|
26
|
-
error: undefined;
|
|
27
|
-
response: Response;
|
|
28
|
-
request: Request;
|
|
29
|
-
} | {
|
|
30
|
-
data: undefined;
|
|
31
|
-
error: ClientError;
|
|
32
|
-
response: Response;
|
|
33
|
-
request: Request;
|
|
34
|
-
};
|
|
35
|
-
interface RequestConfigOverrides {
|
|
36
|
-
throwOnError?: boolean;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Arbitrary options forwarded to the underlying `fetch()` call.
|
|
40
|
-
*
|
|
41
|
-
* Standard `RequestInit` properties (`cache`, `credentials`, `mode`, …) and
|
|
42
|
-
* non-standard, vendor-specific properties (Next.js `next`, Cloudflare `cf`, …)
|
|
43
|
-
* are both supported.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```ts
|
|
47
|
-
* client.stories.get(123, {
|
|
48
|
-
* fetchOptions: {
|
|
49
|
-
* cache: 'no-store',
|
|
50
|
-
* next: { revalidate: 60 },
|
|
51
|
-
* },
|
|
52
|
-
* })
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
type FetchOptions = Record<string, unknown>;
|
|
56
|
-
interface HttpRequestOptions {
|
|
57
|
-
query?: Record<string, unknown>;
|
|
58
|
-
body?: unknown;
|
|
59
|
-
headers?: Record<string, string>;
|
|
60
|
-
signal?: AbortSignal;
|
|
61
|
-
throwOnError?: RequestConfigOverrides['throwOnError'];
|
|
62
|
-
fetchOptions?: FetchOptions;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Dependencies injected into every resource factory.
|
|
66
|
-
*/
|
|
67
|
-
interface MapiResourceDeps {
|
|
68
|
-
client: Client;
|
|
69
|
-
spaceId?: number;
|
|
70
|
-
wrapRequest: <TData, ThrowOnError extends boolean = false>(fn: () => Promise<unknown>, throwOnError?: ThrowOnError) => Promise<ApiResponse<TData, ThrowOnError>>;
|
|
71
|
-
}
|
|
72
|
-
interface ManagementApiClientConfig {
|
|
73
|
-
/**
|
|
74
|
-
* Personal access token for authentication.
|
|
75
|
-
* Provide either `personalAccessToken` or `oauthToken`.
|
|
76
|
-
*/
|
|
77
|
-
personalAccessToken?: string;
|
|
78
|
-
/**
|
|
79
|
-
* OAuth bearer token for authentication.
|
|
80
|
-
* Provide either `personalAccessToken` or `oauthToken`.
|
|
81
|
-
*/
|
|
82
|
-
oauthToken?: string;
|
|
83
|
-
/**
|
|
84
|
-
* The Storyblok space ID. Used as the default for space-scoped endpoints.
|
|
85
|
-
* You can also override it per request via `path.space_id`.
|
|
86
|
-
*/
|
|
87
|
-
spaceId?: number;
|
|
88
|
-
/**
|
|
89
|
-
* Storyblok region. Determines the base URL.
|
|
90
|
-
* @default 'eu'
|
|
91
|
-
*/
|
|
92
|
-
region?: Region;
|
|
93
|
-
/**
|
|
94
|
-
* Override the base URL entirely (e.g. for testing).
|
|
95
|
-
*/
|
|
96
|
-
baseUrl?: string;
|
|
97
|
-
/**
|
|
98
|
-
* Additional request headers.
|
|
99
|
-
*/
|
|
100
|
-
headers?: Record<string, string>;
|
|
101
|
-
/**
|
|
102
|
-
* Throw on HTTP errors instead of returning them.
|
|
103
|
-
* @default false
|
|
104
|
-
*/
|
|
105
|
-
throwOnError?: boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Retry configuration for failed requests.
|
|
108
|
-
*/
|
|
109
|
-
retry?: RetryOptions;
|
|
110
|
-
/**
|
|
111
|
-
* Request timeout in milliseconds.
|
|
112
|
-
* @default 30_000
|
|
113
|
-
*/
|
|
114
|
-
timeout?: number;
|
|
115
|
-
/**
|
|
116
|
-
* Preventive rate limiting to avoid hitting the Storyblok Management API rate limits.
|
|
117
|
-
*
|
|
118
|
-
* - `undefined` (default): single bucket at maxConcurrency: 6.
|
|
119
|
-
* - `number`: fixed max concurrent requests per second.
|
|
120
|
-
* - `{ maxConcurrency?: number; adaptToServerHeaders?: boolean }`: full config.
|
|
121
|
-
* - `false`: disable rate limiting entirely.
|
|
122
|
-
*/
|
|
123
|
-
rateLimit?: RateLimitConfig | number | false;
|
|
124
|
-
}
|
|
125
|
-
type AssetListQuery = NonNullable<ListData['query']>;
|
|
126
|
-
type Story = Prettify<StoryMapi>;
|
|
127
|
-
type StoryListQuery = NonNullable<ListData$1['query']>;
|
|
128
|
-
//#endregion
|
|
129
|
-
export { ApiResponse, AssetListQuery, FetchOptions, HttpRequestOptions, ManagementApiClientConfig, MapiResourceDeps, RequestConfigOverrides, Story, StoryListQuery };
|
|
130
|
-
//# sourceMappingURL=types.d.mts.map
|