@storyblok/management-api-client 1.0.0-alpha.3 → 1.0.0-alpha.5

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.
Files changed (50) hide show
  1. package/dist/client.cjs +6 -0
  2. package/dist/client.cjs.map +1 -1
  3. package/dist/client.d.cts +134 -11
  4. package/dist/client.d.mts +134 -11
  5. package/dist/client.mjs +6 -0
  6. package/dist/client.mjs.map +1 -1
  7. package/dist/generated/mapi/types-aliased.gen.d.cts +2 -2
  8. package/dist/generated/mapi/types-aliased.gen.d.mts +2 -2
  9. package/dist/generated/mapi/types.gen.d.cts +2 -2
  10. package/dist/generated/mapi/types.gen.d.mts +2 -2
  11. package/dist/generated/types/block.d.cts +6 -0
  12. package/dist/generated/types/block.d.mts +6 -0
  13. package/dist/generated/types/field.d.cts +53 -18
  14. package/dist/generated/types/field.d.mts +53 -18
  15. package/dist/generated/types/mapi-story.d.cts +6 -6
  16. package/dist/generated/types/mapi-story.d.mts +6 -6
  17. package/dist/index.d.cts +4 -1
  18. package/dist/index.d.mts +4 -1
  19. package/dist/resources/assets.cjs +1 -0
  20. package/dist/resources/assets.cjs.map +1 -1
  21. package/dist/resources/assets.mjs +1 -1
  22. package/dist/resources/assets.mjs.map +1 -1
  23. package/dist/resources/datasource-entries.cjs +2 -1
  24. package/dist/resources/datasource-entries.cjs.map +1 -1
  25. package/dist/resources/datasource-entries.mjs +2 -1
  26. package/dist/resources/datasource-entries.mjs.map +1 -1
  27. package/dist/resources/shared-asset-folders.cjs +81 -0
  28. package/dist/resources/shared-asset-folders.cjs.map +1 -0
  29. package/dist/resources/shared-asset-folders.d.cts +41 -0
  30. package/dist/resources/shared-asset-folders.d.mts +41 -0
  31. package/dist/resources/shared-asset-folders.mjs +81 -0
  32. package/dist/resources/shared-asset-folders.mjs.map +1 -0
  33. package/dist/resources/shared-assets.cjs +197 -0
  34. package/dist/resources/shared-assets.cjs.map +1 -0
  35. package/dist/resources/shared-assets.d.cts +29 -0
  36. package/dist/resources/shared-assets.d.mts +28 -0
  37. package/dist/resources/shared-assets.mjs +197 -0
  38. package/dist/resources/shared-assets.mjs.map +1 -0
  39. package/dist/resources/shared-internal-tags.cjs +73 -0
  40. package/dist/resources/shared-internal-tags.cjs.map +1 -0
  41. package/dist/resources/shared-internal-tags.d.cts +32 -0
  42. package/dist/resources/shared-internal-tags.d.mts +32 -0
  43. package/dist/resources/shared-internal-tags.mjs +73 -0
  44. package/dist/resources/shared-internal-tags.mjs.map +1 -0
  45. package/dist/resources/stories.cjs.map +1 -1
  46. package/dist/resources/stories.d.cts +26 -26
  47. package/dist/resources/stories.d.mts +26 -26
  48. package/dist/resources/stories.mjs.map +1 -1
  49. package/package.json +3 -3
  50. package/playground/integration-tests/test/types/stories.test-d.ts +39 -2
@@ -1 +1 @@
1
- {"version":3,"file":"assets.mjs","names":["mapi.listAssets","mapi.createAsset","mapi.finishAssetUpload","mapi.getAsset","mapi.updateAsset","mapi.deleteAsset","mapi.bulkDestroyAssets","mapi.bulkUpdateAssets","mapi.bulkRestoreAssets"],"sources":["../../src/resources/assets.ts"],"sourcesContent":["import * as mapi from '../generated/mapi/sdk.gen';\nimport type {\n BulkDestroyAssetsData,\n BulkDestroyAssetsResponses,\n BulkRestoreAssetsData,\n BulkRestoreAssetsResponses,\n BulkUpdateAssetsData,\n BulkUpdateAssetsResponses,\n CreateAssetData,\n CreateAssetResponses,\n DeleteAssetResponses,\n FinishAssetUploadResponses,\n GetAssetResponses,\n ListAssetsData,\n ListAssetsResponses,\n CreateAsset as SignedResponseObject,\n UpdateAssetData,\n UpdateAssetResponses,\n} from '../generated/mapi/types.gen';\nimport type { Asset } from '../generated/mapi/types-aliased.gen';\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { ClientError } from '../error';\nimport { resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport type AssetListQuery = NonNullable<ListAssetsData['query']>;\n\n/**\n * Return shape of `list()`.\n *\n * The list endpoint serializes rows with MAPI's `IndexAsset` serializer, which\n * is NOT identical to the `ShowAsset` (= `Asset`) shape returned by `get()`:\n * `IndexAsset` omits `file` and `permanently_deleted`. We deliberately surface\n * list rows as `Asset` so consumers work against a single asset type. The lie:\n * `file`/`permanently_deleted` are absent on list rows at runtime — consumers\n * needing those must re-fetch via `get()`.\n */\nexport type ListAssetsResult = Omit<ListAssetsResponses[200], 'assets'> & { assets: Array<Asset> };\n\n/**\n * Fields for initiating an asset upload. Pass this to `upload()` or `create()`\n * alongside a file buffer.\n */\nexport type AssetUploadRequest = {\n /** The desired filename for the asset (e.g. `\"hero.png\"`). */\n short_filename: string;\n} & Partial<Omit<NonNullable<CreateAssetData['query']>, 'filename'>>;\n\n/**\n * Input for `create()`. Combines upload fields with writable metadata.\n */\nexport type AssetCreate = AssetUploadRequest & NonNullable<UpdateAssetData['body']['asset']>;\n\n/** Uploads the file to S3 using the signed fields from step 1. */\nasync function uploadToS3(\n signedResponse: SignedResponseObject,\n file: Blob | ArrayBuffer,\n filename: string,\n): Promise<void> {\n if (!signedResponse.post_url || !signedResponse.fields) {\n throw new ClientError('Invalid signed response: missing post_url or fields', {\n status: 0,\n statusText: 'Invalid signed response',\n data: signedResponse,\n });\n }\n const formData = new FormData();\n for (const [key, value] of Object.entries(signedResponse.fields)) {\n formData.append(key, value as string);\n }\n const contentType = (signedResponse.fields['Content-Type'] as string | undefined) ?? 'application/octet-stream';\n const blob = file instanceof Blob ? file : new Blob([file], { type: contentType });\n formData.append('file', new File([blob], filename, { type: contentType }));\n const response = await fetch(signedResponse.post_url, { method: 'POST', body: formData });\n if (!response.ok) {\n throw new ClientError(`Failed to upload asset to S3: ${response.statusText}`, {\n status: response.status,\n statusText: response.statusText,\n data: undefined,\n });\n }\n}\n\nconst hasDefinedFields = (value: Record<string, unknown> | undefined): boolean =>\n Object.values(value ?? {}).some(v => v !== undefined && v !== null);\n\nexport function createAssetsResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n\n return {\n list<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query?: ListAssetsData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<ListAssetsResult, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n // `listAssets` returns `IndexAsset` rows; we present them as `Asset` (see `ListAssetsResult`).\n return wrapRequest<ListAssetsResult, ThrowOnError>(() =>\n mapi.listAssets({ client, path: { space_id: resolvedSpaceId }, query, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Step 1 of the upload flow: requests a signed S3 upload object from MAPI.\n * Returns the S3 `post_url` and form `fields` needed for the actual upload.\n *\n * In most cases, prefer `upload()` or `create()` which handle all three\n * steps automatically.\n */\n signResponseObject<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query: CreateAssetData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<CreateAssetResponses[200], ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<CreateAssetResponses[200], ThrowOnError>(() =>\n mapi.createAsset({ client, path: { space_id: resolvedSpaceId }, query, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Uploads a file to Storyblok (sign → S3 upload → finish) and returns the\n * resulting `Asset`.\n */\n async upload(options: { body: AssetUploadRequest; file: Blob | ArrayBuffer; signal?: AbortSignal; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<Asset> {\n const { body, file, signal, path, fetchOptions } = options;\n const { short_filename, ...rest } = body;\n const resolvedSpaceId = getSpaceId(path);\n const kyOpts = fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n\n const signResult = await wrapRequest<CreateAssetResponses[200], true>(() =>\n mapi.createAsset({ client, path: { space_id: resolvedSpaceId }, query: { filename: short_filename, ...rest }, signal, throwOnError: true, ...kyOpts }), true);\n\n if (!signResult.data.id) {\n throw new Error('Invalid signed response: missing id');\n }\n\n await uploadToS3(signResult.data, file, short_filename);\n\n await wrapRequest<FinishAssetUploadResponses[200], true>(() =>\n mapi.finishAssetUpload({\n client,\n path: { space_id: resolvedSpaceId, id: Number(signResult.data.id) },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n\n const getResult = await wrapRequest<GetAssetResponses[200], true>(() =>\n mapi.getAsset({ client, path: { space_id: resolvedSpaceId, id: Number(signResult.data.id) }, signal, throwOnError: true, ...kyOpts }), true);\n\n return getResult.data;\n },\n /**\n * Creates a new asset with metadata. Performs the full upload flow then\n * applies any provided metadata in a follow-up update call.\n */\n async create(options: { body: AssetCreate; file: Blob | ArrayBuffer; signal?: AbortSignal; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<Asset> {\n const { body, file, signal, path, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n const kyOpts = fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n\n const { short_filename, asset_folder_id, is_private, size, validate_upload, ext_id, ...metadataOnly } = body;\n const asset = await this.upload({\n body: { short_filename, asset_folder_id, is_private, size, validate_upload, ext_id },\n file,\n signal,\n path: { space_id: resolvedSpaceId },\n fetchOptions,\n });\n\n const hasMetadata = Object.values(metadataOnly).some(v => v !== undefined && v !== null);\n if (hasMetadata) {\n await wrapRequest<UpdateAssetResponses[204], true>(() =>\n mapi.updateAsset({\n client,\n path: { space_id: resolvedSpaceId, id: asset.id! },\n body: { asset: metadataOnly },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n const updatedResult = await wrapRequest<GetAssetResponses[200], true>(() =>\n mapi.getAsset({ client, path: { space_id: resolvedSpaceId, id: asset.id! }, signal, throwOnError: true, ...kyOpts }), true);\n return updatedResult.data;\n }\n\n return asset;\n },\n get<ThrowOnError extends boolean = DefaultThrowOnError>(assetId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<GetAssetResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<GetAssetResponses[200], ThrowOnError>(() =>\n mapi.getAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Updates an asset's metadata. When `file` and `body.short_filename` are\n * provided, the file is replaced first (sign → S3 → finish), then metadata\n * is updated.\n */\n async update(\n assetId: number,\n options: (\n | { body: UpdateAssetData['body']; file?: undefined }\n | { body: UpdateAssetData['body'] & { short_filename: string }; file: Blob | ArrayBuffer }\n ) & { signal?: AbortSignal; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<void> {\n const { body, file, signal, path, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n const kyOpts = fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n\n if (file !== undefined) {\n const { short_filename, ...assetBody } = body;\n const signResult = await wrapRequest<CreateAssetResponses[200], true>(() =>\n mapi.createAsset({\n client,\n path: { space_id: resolvedSpaceId },\n query: { filename: short_filename },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n\n if (!signResult.data.id) {\n throw new Error('Invalid signed response: missing id');\n }\n\n await uploadToS3(signResult.data, file, short_filename);\n\n await wrapRequest<FinishAssetUploadResponses[200], true>(() =>\n mapi.finishAssetUpload({\n client,\n path: { space_id: resolvedSpaceId, id: Number(signResult.data.id) },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n\n if (hasDefinedFields(assetBody.asset)) {\n await wrapRequest<UpdateAssetResponses[204], true>(() =>\n mapi.updateAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, body: assetBody, signal, throwOnError: true, ...kyOpts }), true);\n }\n }\n else {\n await wrapRequest<UpdateAssetResponses[204], true>(() =>\n mapi.updateAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, body, signal, throwOnError: true, ...kyOpts }), true);\n }\n },\n delete<ThrowOnError extends boolean = DefaultThrowOnError>(assetId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<DeleteAssetResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<DeleteAssetResponses[200], ThrowOnError>(() =>\n mapi.deleteAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n finalize<ThrowOnError extends boolean = DefaultThrowOnError>(assetId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<FinishAssetUploadResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<FinishAssetUploadResponses[200], ThrowOnError>(() =>\n mapi.finishAssetUpload({\n client,\n path: { space_id: resolvedSpaceId, id: assetId },\n signal,\n ...(throwOnError === undefined ? {} : { throwOnError }),\n ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}),\n }), throwOnError);\n },\n /** POST /assets/bulk_destroy: hard-delete many assets in one call. */\n deleteMany<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: BulkDestroyAssetsData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<BulkDestroyAssetsResponses[200], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<BulkDestroyAssetsResponses[200], ThrowOnError>(() =>\n mapi.bulkDestroyAssets({ client, path: { space_id: resolvedSpaceId }, body, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /** POST /assets/bulk_update: move many assets between folders in one call. */\n bulkMove<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: BulkUpdateAssetsData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<BulkUpdateAssetsResponses[200], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<BulkUpdateAssetsResponses[200], ThrowOnError>(() =>\n mapi.bulkUpdateAssets({ client, path: { space_id: resolvedSpaceId }, body, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n bulkRestore<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: BulkRestoreAssetsData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<BulkRestoreAssetsResponses[200], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<BulkRestoreAssetsResponses[200], ThrowOnError>(() =>\n mapi.bulkRestoreAssets({ client, path: { space_id: resolvedSpaceId }, body, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Converts a space-local asset into a shared (org-level) asset.\n *\n * Wraps `POST /v1/spaces/{space_id}/assets/{asset_id}/convert`, which takes\n * the destination folder as the required `target_asset_folder_id` query\n * param and no request body. One-way only (space to org).\n *\n * Not part of the generated SDK, so this issues a raw `client.post`.\n * The response is assumed to match `Asset`.\n */\n convertToShared<ThrowOnError extends boolean = false>(\n assetId: number | string,\n options: { query: { target_asset_folder_id: number }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<Asset, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<Asset, ThrowOnError>(() =>\n client.post({\n url: '/v1/spaces/{space_id}/assets/{asset_id}/convert',\n path: { space_id: resolvedSpaceId, asset_id: assetId },\n query,\n signal,\n ...(throwOnError === undefined ? {} : { throwOnError }),\n ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}),\n }), throwOnError);\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"assets.mjs","names":["mapi.listAssets","mapi.createAsset","mapi.finishAssetUpload","mapi.getAsset","mapi.updateAsset","mapi.deleteAsset","mapi.bulkDestroyAssets","mapi.bulkUpdateAssets","mapi.bulkRestoreAssets"],"sources":["../../src/resources/assets.ts"],"sourcesContent":["import * as mapi from '../generated/mapi/sdk.gen';\nimport type {\n BulkDestroyAssetsData,\n BulkDestroyAssetsResponses,\n BulkRestoreAssetsData,\n BulkRestoreAssetsResponses,\n BulkUpdateAssetsData,\n BulkUpdateAssetsResponses,\n CreateAssetData,\n CreateAssetResponses,\n DeleteAssetResponses,\n FinishAssetUploadResponses,\n GetAssetResponses,\n ListAssetsData,\n ListAssetsResponses,\n UpdateAssetData,\n UpdateAssetResponses,\n} from '../generated/mapi/types.gen';\nimport type { Asset } from '../generated/mapi/types-aliased.gen';\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { ClientError } from '../error';\nimport { resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport type AssetListQuery = NonNullable<ListAssetsData['query']>;\n\n/**\n * Return shape of `list()`.\n *\n * The list endpoint serializes rows with MAPI's `IndexAsset` serializer, which\n * is NOT identical to the `ShowAsset` (= `Asset`) shape returned by `get()`:\n * `IndexAsset` omits `file` and `permanently_deleted`. We deliberately surface\n * list rows as `Asset` so consumers work against a single asset type. The lie:\n * `file`/`permanently_deleted` are absent on list rows at runtime — consumers\n * needing those must re-fetch via `get()`.\n */\nexport type ListAssetsResult = Omit<ListAssetsResponses[200], 'assets'> & { assets: Array<Asset> };\n\n/**\n * Fields for initiating an asset upload. Pass this to `upload()` or `create()`\n * alongside a file buffer.\n */\nexport type AssetUploadRequest = {\n /** The desired filename for the asset (e.g. `\"hero.png\"`). */\n short_filename: string;\n} & Partial<Omit<NonNullable<CreateAssetData['query']>, 'filename'>>;\n\n/**\n * Input for `create()`. Combines upload fields with writable metadata.\n */\nexport type AssetCreate = AssetUploadRequest & NonNullable<UpdateAssetData['body']['asset']>;\n\n/** Uploads the file to S3 using the signed fields from step 1. */\nexport async function uploadToS3(\n signedResponse: { post_url?: string; fields?: Record<string, unknown> },\n file: Blob | ArrayBuffer,\n filename: string,\n): Promise<void> {\n if (!signedResponse.post_url || !signedResponse.fields) {\n throw new ClientError('Invalid signed response: missing post_url or fields', {\n status: 0,\n statusText: 'Invalid signed response',\n data: signedResponse,\n });\n }\n const formData = new FormData();\n for (const [key, value] of Object.entries(signedResponse.fields)) {\n formData.append(key, value as string);\n }\n const contentType = (signedResponse.fields['Content-Type'] as string | undefined) ?? 'application/octet-stream';\n const blob = file instanceof Blob ? file : new Blob([file], { type: contentType });\n formData.append('file', new File([blob], filename, { type: contentType }));\n const response = await fetch(signedResponse.post_url, { method: 'POST', body: formData });\n if (!response.ok) {\n throw new ClientError(`Failed to upload asset to S3: ${response.statusText}`, {\n status: response.status,\n statusText: response.statusText,\n data: undefined,\n });\n }\n}\n\nconst hasDefinedFields = (value: Record<string, unknown> | undefined): boolean =>\n Object.values(value ?? {}).some(v => v !== undefined && v !== null);\n\nexport function createAssetsResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n\n return {\n list<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query?: ListAssetsData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<ListAssetsResult, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n // `listAssets` returns `IndexAsset` rows; we present them as `Asset` (see `ListAssetsResult`).\n return wrapRequest<ListAssetsResult, ThrowOnError>(() =>\n mapi.listAssets({ client, path: { space_id: resolvedSpaceId }, query, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Step 1 of the upload flow: requests a signed S3 upload object from MAPI.\n * Returns the S3 `post_url` and form `fields` needed for the actual upload.\n *\n * In most cases, prefer `upload()` or `create()` which handle all three\n * steps automatically.\n */\n signResponseObject<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query: CreateAssetData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<CreateAssetResponses[200], ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<CreateAssetResponses[200], ThrowOnError>(() =>\n mapi.createAsset({ client, path: { space_id: resolvedSpaceId }, query, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Uploads a file to Storyblok (sign → S3 upload → finish) and returns the\n * resulting `Asset`.\n */\n async upload(options: { body: AssetUploadRequest; file: Blob | ArrayBuffer; signal?: AbortSignal; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<Asset> {\n const { body, file, signal, path, fetchOptions } = options;\n const { short_filename, ...rest } = body;\n const resolvedSpaceId = getSpaceId(path);\n const kyOpts = fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n\n const signResult = await wrapRequest<CreateAssetResponses[200], true>(() =>\n mapi.createAsset({ client, path: { space_id: resolvedSpaceId }, query: { filename: short_filename, ...rest }, signal, throwOnError: true, ...kyOpts }), true);\n\n if (!signResult.data.id) {\n throw new Error('Invalid signed response: missing id');\n }\n\n await uploadToS3(signResult.data, file, short_filename);\n\n await wrapRequest<FinishAssetUploadResponses[200], true>(() =>\n mapi.finishAssetUpload({\n client,\n path: { space_id: resolvedSpaceId, id: Number(signResult.data.id) },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n\n const getResult = await wrapRequest<GetAssetResponses[200], true>(() =>\n mapi.getAsset({ client, path: { space_id: resolvedSpaceId, id: Number(signResult.data.id) }, signal, throwOnError: true, ...kyOpts }), true);\n\n return getResult.data;\n },\n /**\n * Creates a new asset with metadata. Performs the full upload flow then\n * applies any provided metadata in a follow-up update call.\n */\n async create(options: { body: AssetCreate; file: Blob | ArrayBuffer; signal?: AbortSignal; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<Asset> {\n const { body, file, signal, path, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n const kyOpts = fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n\n const { short_filename, asset_folder_id, is_private, size, validate_upload, ext_id, ...metadataOnly } = body;\n const asset = await this.upload({\n body: { short_filename, asset_folder_id, is_private, size, validate_upload, ext_id },\n file,\n signal,\n path: { space_id: resolvedSpaceId },\n fetchOptions,\n });\n\n const hasMetadata = Object.values(metadataOnly).some(v => v !== undefined && v !== null);\n if (hasMetadata) {\n await wrapRequest<UpdateAssetResponses[204], true>(() =>\n mapi.updateAsset({\n client,\n path: { space_id: resolvedSpaceId, id: asset.id! },\n body: { asset: metadataOnly },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n const updatedResult = await wrapRequest<GetAssetResponses[200], true>(() =>\n mapi.getAsset({ client, path: { space_id: resolvedSpaceId, id: asset.id! }, signal, throwOnError: true, ...kyOpts }), true);\n return updatedResult.data;\n }\n\n return asset;\n },\n get<ThrowOnError extends boolean = DefaultThrowOnError>(assetId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<GetAssetResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<GetAssetResponses[200], ThrowOnError>(() =>\n mapi.getAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Updates an asset's metadata. When `file` and `body.short_filename` are\n * provided, the file is replaced first (sign → S3 → finish), then metadata\n * is updated.\n */\n async update(\n assetId: number,\n options: (\n | { body: UpdateAssetData['body']; file?: undefined }\n | { body: UpdateAssetData['body'] & { short_filename: string }; file: Blob | ArrayBuffer }\n ) & { signal?: AbortSignal; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<void> {\n const { body, file, signal, path, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n const kyOpts = fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n\n if (file !== undefined) {\n const { short_filename, ...assetBody } = body;\n const signResult = await wrapRequest<CreateAssetResponses[200], true>(() =>\n mapi.createAsset({\n client,\n path: { space_id: resolvedSpaceId },\n query: { filename: short_filename },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n\n if (!signResult.data.id) {\n throw new Error('Invalid signed response: missing id');\n }\n\n await uploadToS3(signResult.data, file, short_filename);\n\n await wrapRequest<FinishAssetUploadResponses[200], true>(() =>\n mapi.finishAssetUpload({\n client,\n path: { space_id: resolvedSpaceId, id: Number(signResult.data.id) },\n signal,\n throwOnError: true,\n ...kyOpts,\n }), true);\n\n if (hasDefinedFields(assetBody.asset)) {\n await wrapRequest<UpdateAssetResponses[204], true>(() =>\n mapi.updateAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, body: assetBody, signal, throwOnError: true, ...kyOpts }), true);\n }\n }\n else {\n await wrapRequest<UpdateAssetResponses[204], true>(() =>\n mapi.updateAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, body, signal, throwOnError: true, ...kyOpts }), true);\n }\n },\n delete<ThrowOnError extends boolean = DefaultThrowOnError>(assetId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<DeleteAssetResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<DeleteAssetResponses[200], ThrowOnError>(() =>\n mapi.deleteAsset({ client, path: { space_id: resolvedSpaceId, id: assetId }, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n finalize<ThrowOnError extends boolean = DefaultThrowOnError>(assetId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<FinishAssetUploadResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<FinishAssetUploadResponses[200], ThrowOnError>(() =>\n mapi.finishAssetUpload({\n client,\n path: { space_id: resolvedSpaceId, id: assetId },\n signal,\n ...(throwOnError === undefined ? {} : { throwOnError }),\n ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}),\n }), throwOnError);\n },\n /** POST /assets/bulk_destroy: hard-delete many assets in one call. */\n deleteMany<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: BulkDestroyAssetsData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<BulkDestroyAssetsResponses[200], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<BulkDestroyAssetsResponses[200], ThrowOnError>(() =>\n mapi.bulkDestroyAssets({ client, path: { space_id: resolvedSpaceId }, body, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /** POST /assets/bulk_update: move many assets between folders in one call. */\n bulkMove<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: BulkUpdateAssetsData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<BulkUpdateAssetsResponses[200], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<BulkUpdateAssetsResponses[200], ThrowOnError>(() =>\n mapi.bulkUpdateAssets({ client, path: { space_id: resolvedSpaceId }, body, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n bulkRestore<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: BulkRestoreAssetsData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<BulkRestoreAssetsResponses[200], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<BulkRestoreAssetsResponses[200], ThrowOnError>(() =>\n mapi.bulkRestoreAssets({ client, path: { space_id: resolvedSpaceId }, body, signal, ...(throwOnError === undefined ? {} : { throwOnError }), ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}) }), throwOnError);\n },\n /**\n * Converts a space-local asset into a shared (org-level) asset.\n *\n * Wraps `POST /v1/spaces/{space_id}/assets/{asset_id}/convert`, which takes\n * the destination folder as the required `target_asset_folder_id` query\n * param and no request body. One-way only (space to org).\n *\n * Not part of the generated SDK, so this issues a raw `client.post`.\n * The response is assumed to match `Asset`.\n */\n convertToShared<ThrowOnError extends boolean = false>(\n assetId: number | string,\n options: { query: { target_asset_folder_id: number }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<Asset, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<Asset, ThrowOnError>(() =>\n client.post({\n url: '/v1/spaces/{space_id}/assets/{asset_id}/convert',\n path: { space_id: resolvedSpaceId, asset_id: assetId },\n query,\n signal,\n ...(throwOnError === undefined ? {} : { throwOnError }),\n ...(fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {}),\n }), throwOnError);\n },\n };\n}\n"],"mappings":"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"}
@@ -42,7 +42,7 @@ function createDatasourceEntriesResource(deps) {
42
42
  }), throwOnError);
43
43
  },
44
44
  update(datasourceEntryId, options) {
45
- const { body, signal, path, throwOnError, fetchOptions } = options;
45
+ const { body, query, signal, path, throwOnError, fetchOptions } = options;
46
46
  const resolvedSpaceId = getSpaceId(path);
47
47
  return wrapRequest(() => require_sdk_gen.partialUpdateDatasourceEntry({
48
48
  client,
@@ -51,6 +51,7 @@ function createDatasourceEntriesResource(deps) {
51
51
  id: datasourceEntryId
52
52
  },
53
53
  body,
54
+ ...query ? { query } : {},
54
55
  signal,
55
56
  ...require_shared.buildCallOptions(client, throwOnError, fetchOptions)
56
57
  }), throwOnError);
@@ -1 +1 @@
1
- {"version":3,"file":"datasource-entries.cjs","names":["resolveSpaceId","buildCallOptions"],"sources":["../../src/resources/datasource-entries.ts"],"sourcesContent":["import * as mapi from '../generated/mapi/sdk.gen';\nimport type {\n CreateDatasourceEntryData,\n CreateDatasourceEntryResponses,\n DatasourceEntriesIndexResponse,\n GetDatasourceEntryResponses,\n ListDatasourceEntriesData,\n PartialUpdateDatasourceEntryData,\n PartialUpdateDatasourceEntryResponses,\n ReplaceDatasourceEntryData,\n ReplaceDatasourceEntryResponses,\n} from '../generated/mapi/types.gen';\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { buildCallOptions, resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport function createDatasourceEntriesResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n\n return {\n list<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query?: ListDatasourceEntriesData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<DatasourceEntriesIndexResponse, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<DatasourceEntriesIndexResponse, ThrowOnError>(() =>\n mapi.listDatasourceEntries({ client, path: { space_id: resolvedSpaceId }, query, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n get<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<GetDatasourceEntryResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<GetDatasourceEntryResponses[200], ThrowOnError>(() =>\n mapi.getDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n\n create<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: CreateDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<CreateDatasourceEntryResponses[201], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<CreateDatasourceEntryResponses[201], ThrowOnError>(() =>\n mapi.createDatasourceEntry({ client, path: { space_id: resolvedSpaceId }, body, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n /**\n * PATCH /datasource_entries/{id}: partial update.\n */\n update<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: PartialUpdateDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.partialUpdateDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n /**\n * PUT /datasource_entries/{id}: full replace.\n */\n replace<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: ReplaceDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<ReplaceDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<ReplaceDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.replaceDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n delete<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<void, ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<void, ThrowOnError>(() =>\n mapi.deleteDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n };\n}\n"],"mappings":";;;;AAeA,SAAgB,gCAA6E,MAA6C;CACxI,MAAM,EAAE,QAAQ,SAAS,gBAAgB;CACzC,MAAM,cAAc,SAAuCA,8BAAe,SAAS,KAAK;AAExF,QAAO;EACL,KAAyD,UAAgK,EAAE,EAAsE;GAC/R,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAC5D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,wDACsB;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAO;IAAQ,GAAGC,gCAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAGtK,IAAwD,mBAA2B,UAAoH,EAAE,EAAwE;GAC/Q,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,qDACmB;IACtB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAGrB,OAA2D,SAAqO;GAC9R,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,wDACsB;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAM;IAAQ,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAMrK,OACE,mBACA,SACgF;GAChF,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,+DAC6B;IAChC;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAKrB,QACE,mBACA,SAC0E;GAC1E,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,yDACuB;IAC1B;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAErB,OAA2D,mBAA2B,UAAoH,EAAE,EAA4C;GACtP,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,wDACsB;IACzB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAEtB"}
1
+ {"version":3,"file":"datasource-entries.cjs","names":["resolveSpaceId","buildCallOptions"],"sources":["../../src/resources/datasource-entries.ts"],"sourcesContent":["import * as mapi from '../generated/mapi/sdk.gen';\nimport type {\n CreateDatasourceEntryData,\n CreateDatasourceEntryResponses,\n DatasourceEntriesIndexResponse,\n GetDatasourceEntryResponses,\n ListDatasourceEntriesData,\n PartialUpdateDatasourceEntryData,\n PartialUpdateDatasourceEntryResponses,\n ReplaceDatasourceEntryData,\n ReplaceDatasourceEntryResponses,\n} from '../generated/mapi/types.gen';\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { buildCallOptions, resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport function createDatasourceEntriesResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n\n return {\n list<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query?: ListDatasourceEntriesData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<DatasourceEntriesIndexResponse, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<DatasourceEntriesIndexResponse, ThrowOnError>(() =>\n mapi.listDatasourceEntries({ client, path: { space_id: resolvedSpaceId }, query, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n get<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<GetDatasourceEntryResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<GetDatasourceEntryResponses[200], ThrowOnError>(() =>\n mapi.getDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n\n create<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: CreateDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<CreateDatasourceEntryResponses[201], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<CreateDatasourceEntryResponses[201], ThrowOnError>(() =>\n mapi.createDatasourceEntry({ client, path: { space_id: resolvedSpaceId }, body, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n /**\n * PATCH /datasource_entries/{id}: partial update.\n */\n update<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: PartialUpdateDatasourceEntryData['body']; query?: { dimension_id?: number }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.partialUpdateDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n // The update endpoint accepts a `dimension_id` query param to write a\n // per-dimension child value, but it is not modeled in the OpenAPI spec\n // yet (generated `PartialUpdateDatasourceEntryData['query']` is\n // `never`). The generated SDK\n // forwards `query` verbatim, so pass it through with a localized cast.\n ...(query ? { query } as { query: never } : {}),\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n /**\n * PUT /datasource_entries/{id}: full replace.\n */\n replace<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: ReplaceDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<ReplaceDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<ReplaceDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.replaceDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n delete<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<void, ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<void, ThrowOnError>(() =>\n mapi.deleteDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n };\n}\n"],"mappings":";;;;AAeA,SAAgB,gCAA6E,MAA6C;CACxI,MAAM,EAAE,QAAQ,SAAS,gBAAgB;CACzC,MAAM,cAAc,SAAuCA,8BAAe,SAAS,KAAK;AAExF,QAAO;EACL,KAAyD,UAAgK,EAAE,EAAsE;GAC/R,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAC5D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,wDACsB;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAO;IAAQ,GAAGC,gCAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAGtK,IAAwD,mBAA2B,UAAoH,EAAE,EAAwE;GAC/Q,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,qDACmB;IACtB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAGrB,OAA2D,SAAqO;GAC9R,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,wDACsB;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAM;IAAQ,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAMrK,OACE,mBACA,SACgF;GAChF,MAAM,EAAE,MAAM,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAClE,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,+DAC6B;IAChC;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IAMA,GAAI,QAAQ,EAAE,OAAO,GAAuB,EAAE;IAC9C;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAKrB,QACE,mBACA,SAC0E;GAC1E,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,yDACuB;IAC1B;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAErB,OAA2D,mBAA2B,UAAoH,EAAE,EAA4C;GACtP,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,wDACsB;IACzB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAGA,gCAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAEtB"}
@@ -42,7 +42,7 @@ function createDatasourceEntriesResource(deps) {
42
42
  }), throwOnError);
43
43
  },
44
44
  update(datasourceEntryId, options) {
45
- const { body, signal, path, throwOnError, fetchOptions } = options;
45
+ const { body, query, signal, path, throwOnError, fetchOptions } = options;
46
46
  const resolvedSpaceId = getSpaceId(path);
47
47
  return wrapRequest(() => partialUpdateDatasourceEntry({
48
48
  client,
@@ -51,6 +51,7 @@ function createDatasourceEntriesResource(deps) {
51
51
  id: datasourceEntryId
52
52
  },
53
53
  body,
54
+ ...query ? { query } : {},
54
55
  signal,
55
56
  ...buildCallOptions(client, throwOnError, fetchOptions)
56
57
  }), throwOnError);
@@ -1 +1 @@
1
- {"version":3,"file":"datasource-entries.mjs","names":["mapi.listDatasourceEntries","mapi.getDatasourceEntry","mapi.createDatasourceEntry","mapi.partialUpdateDatasourceEntry","mapi.replaceDatasourceEntry","mapi.deleteDatasourceEntry"],"sources":["../../src/resources/datasource-entries.ts"],"sourcesContent":["import * as mapi from '../generated/mapi/sdk.gen';\nimport type {\n CreateDatasourceEntryData,\n CreateDatasourceEntryResponses,\n DatasourceEntriesIndexResponse,\n GetDatasourceEntryResponses,\n ListDatasourceEntriesData,\n PartialUpdateDatasourceEntryData,\n PartialUpdateDatasourceEntryResponses,\n ReplaceDatasourceEntryData,\n ReplaceDatasourceEntryResponses,\n} from '../generated/mapi/types.gen';\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { buildCallOptions, resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport function createDatasourceEntriesResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n\n return {\n list<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query?: ListDatasourceEntriesData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<DatasourceEntriesIndexResponse, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<DatasourceEntriesIndexResponse, ThrowOnError>(() =>\n mapi.listDatasourceEntries({ client, path: { space_id: resolvedSpaceId }, query, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n get<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<GetDatasourceEntryResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<GetDatasourceEntryResponses[200], ThrowOnError>(() =>\n mapi.getDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n\n create<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: CreateDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<CreateDatasourceEntryResponses[201], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<CreateDatasourceEntryResponses[201], ThrowOnError>(() =>\n mapi.createDatasourceEntry({ client, path: { space_id: resolvedSpaceId }, body, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n /**\n * PATCH /datasource_entries/{id}: partial update.\n */\n update<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: PartialUpdateDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.partialUpdateDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n /**\n * PUT /datasource_entries/{id}: full replace.\n */\n replace<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: ReplaceDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<ReplaceDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<ReplaceDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.replaceDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n delete<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<void, ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<void, ThrowOnError>(() =>\n mapi.deleteDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n };\n}\n"],"mappings":";;;;AAeA,SAAgB,gCAA6E,MAA6C;CACxI,MAAM,EAAE,QAAQ,SAAS,gBAAgB;CACzC,MAAM,cAAc,SAAuC,eAAe,SAAS,KAAK;AAExF,QAAO;EACL,KAAyD,UAAgK,EAAE,EAAsE;GAC/R,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAC5D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLA,sBAA2B;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAO;IAAQ,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAGtK,IAAwD,mBAA2B,UAAoH,EAAE,EAAwE;GAC/Q,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,mBAAwB;IACtB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAGrB,OAA2D,SAAqO;GAC9R,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,sBAA2B;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAM;IAAQ,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAMrK,OACE,mBACA,SACgF;GAChF,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,6BAAkC;IAChC;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAKrB,QACE,mBACA,SAC0E;GAC1E,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,uBAA4B;IAC1B;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAErB,OAA2D,mBAA2B,UAAoH,EAAE,EAA4C;GACtP,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,sBAA2B;IACzB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAEtB"}
1
+ {"version":3,"file":"datasource-entries.mjs","names":["mapi.listDatasourceEntries","mapi.getDatasourceEntry","mapi.createDatasourceEntry","mapi.partialUpdateDatasourceEntry","mapi.replaceDatasourceEntry","mapi.deleteDatasourceEntry"],"sources":["../../src/resources/datasource-entries.ts"],"sourcesContent":["import * as mapi from '../generated/mapi/sdk.gen';\nimport type {\n CreateDatasourceEntryData,\n CreateDatasourceEntryResponses,\n DatasourceEntriesIndexResponse,\n GetDatasourceEntryResponses,\n ListDatasourceEntriesData,\n PartialUpdateDatasourceEntryData,\n PartialUpdateDatasourceEntryResponses,\n ReplaceDatasourceEntryData,\n ReplaceDatasourceEntryResponses,\n} from '../generated/mapi/types.gen';\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { buildCallOptions, resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport function createDatasourceEntriesResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n\n return {\n list<ThrowOnError extends boolean = DefaultThrowOnError>(options: { query?: ListDatasourceEntriesData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<DatasourceEntriesIndexResponse, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<DatasourceEntriesIndexResponse, ThrowOnError>(() =>\n mapi.listDatasourceEntries({ client, path: { space_id: resolvedSpaceId }, query, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n get<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<GetDatasourceEntryResponses[200], ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<GetDatasourceEntryResponses[200], ThrowOnError>(() =>\n mapi.getDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n\n create<ThrowOnError extends boolean = DefaultThrowOnError>(options: { body: CreateDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<CreateDatasourceEntryResponses[201], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<CreateDatasourceEntryResponses[201], ThrowOnError>(() =>\n mapi.createDatasourceEntry({ client, path: { space_id: resolvedSpaceId }, body, signal, ...buildCallOptions(client, throwOnError, fetchOptions) }), throwOnError);\n },\n\n /**\n * PATCH /datasource_entries/{id}: partial update.\n */\n update<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: PartialUpdateDatasourceEntryData['body']; query?: { dimension_id?: number }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, query, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<PartialUpdateDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.partialUpdateDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n // The update endpoint accepts a `dimension_id` query param to write a\n // per-dimension child value, but it is not modeled in the OpenAPI spec\n // yet (generated `PartialUpdateDatasourceEntryData['query']` is\n // `never`). The generated SDK\n // forwards `query` verbatim, so pass it through with a localized cast.\n ...(query ? { query } as { query: never } : {}),\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n /**\n * PUT /datasource_entries/{id}: full replace.\n */\n replace<ThrowOnError extends boolean = DefaultThrowOnError>(\n datasourceEntryId: number,\n options: { body: ReplaceDatasourceEntryData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride,\n ): Promise<ApiResponse<ReplaceDatasourceEntryResponses[204], ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<ReplaceDatasourceEntryResponses[204], ThrowOnError>(() =>\n mapi.replaceDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n body,\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n delete<ThrowOnError extends boolean = DefaultThrowOnError>(datasourceEntryId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<void, ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n const resolvedSpaceId = getSpaceId(path);\n return wrapRequest<void, ThrowOnError>(() =>\n mapi.deleteDatasourceEntry({\n client,\n path: { space_id: resolvedSpaceId, id: datasourceEntryId },\n signal,\n ...buildCallOptions(client, throwOnError, fetchOptions),\n }), throwOnError);\n },\n };\n}\n"],"mappings":";;;;AAeA,SAAgB,gCAA6E,MAA6C;CACxI,MAAM,EAAE,QAAQ,SAAS,gBAAgB;CACzC,MAAM,cAAc,SAAuC,eAAe,SAAS,KAAK;AAExF,QAAO;EACL,KAAyD,UAAgK,EAAE,EAAsE;GAC/R,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAC5D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLA,sBAA2B;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAO;IAAQ,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAGtK,IAAwD,mBAA2B,UAAoH,EAAE,EAAwE;GAC/Q,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,mBAAwB;IACtB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAGrB,OAA2D,SAAqO;GAC9R,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,sBAA2B;IAAE;IAAQ,MAAM,EAAE,UAAU,iBAAiB;IAAE;IAAM;IAAQ,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IAAE,CAAC,EAAE,aAAa;;EAMrK,OACE,mBACA,SACgF;GAChF,MAAM,EAAE,MAAM,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAClE,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,6BAAkC;IAChC;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IAMA,GAAI,QAAQ,EAAE,OAAO,GAAuB,EAAE;IAC9C;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAKrB,QACE,mBACA,SAC0E;GAC1E,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,uBAA4B;IAC1B;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAErB,OAA2D,mBAA2B,UAAoH,EAAE,EAA4C;GACtP,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,MAAM,kBAAkB,WAAW,KAAK;AACxC,UAAO,kBACLC,sBAA2B;IACzB;IACA,MAAM;KAAE,UAAU;KAAiB,IAAI;KAAmB;IAC1D;IACA,GAAG,iBAAiB,QAAQ,cAAc,aAAa;IACxD,CAAC,EAAE,aAAa;;EAEtB"}
@@ -0,0 +1,81 @@
1
+ const require_shared = require('./shared.cjs');
2
+
3
+ //#region src/resources/shared-asset-folders.ts
4
+ function createSharedAssetFoldersResource(deps) {
5
+ const { client, spaceId, wrapRequest } = deps;
6
+ const getSpaceId = (path) => require_shared.resolveSpaceId(spaceId, path);
7
+ const kyOpts = (fetchOptions) => fetchOptions ? { kyOptions: {
8
+ ...client.getConfig().kyOptions,
9
+ ...fetchOptions
10
+ } } : {};
11
+ const maybeThrow = (throwOnError) => throwOnError === void 0 ? {} : { throwOnError };
12
+ return {
13
+ list(options = {}) {
14
+ const { query, signal, path, throwOnError, fetchOptions } = options;
15
+ return wrapRequest(() => client.get({
16
+ url: "/v1/spaces/{space_id}/shared_asset_folders",
17
+ path: { space_id: getSpaceId(path) },
18
+ query,
19
+ signal,
20
+ ...maybeThrow(throwOnError),
21
+ ...kyOpts(fetchOptions)
22
+ }), throwOnError);
23
+ },
24
+ get(folderId, options = {}) {
25
+ const { signal, path, throwOnError, fetchOptions } = options;
26
+ return wrapRequest(() => client.get({
27
+ url: "/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}",
28
+ path: {
29
+ space_id: getSpaceId(path),
30
+ asset_folder_id: folderId
31
+ },
32
+ signal,
33
+ ...maybeThrow(throwOnError),
34
+ ...kyOpts(fetchOptions)
35
+ }), throwOnError);
36
+ },
37
+ create(options) {
38
+ const { body, signal, path, throwOnError, fetchOptions } = options;
39
+ return wrapRequest(() => client.post({
40
+ url: "/v1/spaces/{space_id}/shared_asset_folders",
41
+ path: { space_id: getSpaceId(path) },
42
+ body,
43
+ signal,
44
+ ...maybeThrow(throwOnError),
45
+ ...kyOpts(fetchOptions)
46
+ }), throwOnError);
47
+ },
48
+ update(folderId, options) {
49
+ const { body, signal, path, throwOnError, fetchOptions } = options;
50
+ return wrapRequest(() => client.put({
51
+ url: "/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}",
52
+ path: {
53
+ space_id: getSpaceId(path),
54
+ asset_folder_id: folderId
55
+ },
56
+ body,
57
+ signal,
58
+ ...maybeThrow(throwOnError),
59
+ ...kyOpts(fetchOptions)
60
+ }), throwOnError);
61
+ },
62
+ delete(folderId, options = {}) {
63
+ const { query, signal, path, throwOnError, fetchOptions } = options;
64
+ return wrapRequest(() => client.delete({
65
+ url: "/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}",
66
+ path: {
67
+ space_id: getSpaceId(path),
68
+ asset_folder_id: folderId
69
+ },
70
+ query,
71
+ signal,
72
+ ...maybeThrow(throwOnError),
73
+ ...kyOpts(fetchOptions)
74
+ }), throwOnError);
75
+ }
76
+ };
77
+ }
78
+
79
+ //#endregion
80
+ exports.createSharedAssetFoldersResource = createSharedAssetFoldersResource;
81
+ //# sourceMappingURL=shared-asset-folders.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-asset-folders.cjs","names":["resolveSpaceId"],"sources":["../../src/resources/shared-asset-folders.ts"],"sourcesContent":["import type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport type AccessLevel = 'read' | 'write';\n\nexport interface AssetFolderAccess {\n space_id: number;\n access_level: AccessLevel;\n}\n\n/**\n * A shared (organization-level) asset folder. Top-level folders\n * (`parent_id === null`) are \"libraries\"; per-space access is exposed via\n * `asset_folder_access`. Not part of the generated SDK — these endpoints are\n * issued as raw `client.*` calls.\n */\nexport interface SharedAssetFolder {\n id: number;\n name: string;\n parent_id: number | null;\n uuid: string;\n parent_uuid: string | null;\n description?: string | null;\n color?: string | null;\n regions?: string[];\n asset_folder_access?: AssetFolderAccess[];\n}\n\nexport interface SharedAssetFolderCreate {\n name: string;\n parent_id?: number | null;\n description?: string | null;\n color?: string | null;\n regions?: string[];\n asset_folder_access?: AssetFolderAccess[];\n}\n\nexport type SharedAssetFolderUpdate = Partial<SharedAssetFolderCreate>;\n\nexport interface SharedAssetFolderListResponse {\n shared_asset_folders: SharedAssetFolder[];\n}\n\nexport interface SharedAssetFolderGetResponse {\n shared_asset_folder: SharedAssetFolder;\n}\n\nexport function createSharedAssetFoldersResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n const kyOpts = (fetchOptions?: FetchOptions) =>\n fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n const maybeThrow = (throwOnError?: boolean) => (throwOnError === undefined ? {} : { throwOnError });\n\n return {\n list<ThrowOnError extends boolean = false>(options: { query?: { search?: string; with_parent?: string; by_ids?: string }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<SharedAssetFolderListResponse, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<SharedAssetFolderListResponse, ThrowOnError>(() =>\n client.get({ url: '/v1/spaces/{space_id}/shared_asset_folders', path: { space_id: getSpaceId(path) }, query, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n get<ThrowOnError extends boolean = false>(folderId: number | string, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<SharedAssetFolderGetResponse, ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<SharedAssetFolderGetResponse, ThrowOnError>(() =>\n client.get({ url: '/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}', path: { space_id: getSpaceId(path), asset_folder_id: folderId }, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n create<ThrowOnError extends boolean = false>(options: { body: { shared_asset_folder: SharedAssetFolderCreate }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<SharedAssetFolderGetResponse, ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<SharedAssetFolderGetResponse, ThrowOnError>(() =>\n client.post({ url: '/v1/spaces/{space_id}/shared_asset_folders', path: { space_id: getSpaceId(path) }, body, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n update<ThrowOnError extends boolean = false>(folderId: number | string, options: { body: { shared_asset_folder: SharedAssetFolderUpdate }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<void, ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<void, ThrowOnError>(() =>\n client.put({ url: '/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}', path: { space_id: getSpaceId(path), asset_folder_id: folderId }, body, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n delete<ThrowOnError extends boolean = false>(folderId: number | string, options: { query?: { recursive?: boolean }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<void, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<void, ThrowOnError>(() =>\n client.delete({ url: '/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}', path: { space_id: getSpaceId(path), asset_folder_id: folderId }, query, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n };\n}\n"],"mappings":";;;AA+CA,SAAgB,iCAA8E,MAA6C;CACzI,MAAM,EAAE,QAAQ,SAAS,gBAAgB;CACzC,MAAM,cAAc,SAAuCA,8BAAe,SAAS,KAAK;CACxF,MAAM,UAAU,iBACd,eAAe,EAAE,WAAW;EAAE,GAAG,OAAO,WAAW,CAAC;EAAW,GAAG;EAAc,EAAE,GAAG,EAAE;CACzF,MAAM,cAAc,iBAA4B,iBAAiB,SAAY,EAAE,GAAG,EAAE,cAAc;AAElG,QAAO;EACL,KAA2C,UAAwL,EAAE,EAAqE;GACxS,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;AAC5D,UAAO,kBACL,OAAO,IAAI;IAAE,KAAK;IAA8C,MAAM,EAAE,UAAU,WAAW,KAAK,EAAE;IAAE;IAAO;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE/L,IAA0C,UAA2B,UAAoH,EAAE,EAAoE;GAC7P,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;AACrD,UAAO,kBACL,OAAO,IAAI;IAAE,KAAK;IAAgE,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,iBAAiB;KAAU;IAAE;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAErO,OAA6C,SAA6O;GACxR,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;AAC3D,UAAO,kBACL,OAAO,KAAK;IAAE,KAAK;IAA8C,MAAM,EAAE,UAAU,WAAW,KAAK,EAAE;IAAE;IAAM;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE/L,OAA6C,UAA2B,SAAqN;GAC3R,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;AAC3D,UAAO,kBACL,OAAO,IAAI;IAAE,KAAK;IAAgE,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,iBAAiB;KAAU;IAAE;IAAM;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE3O,OAA6C,UAA2B,UAAqJ,EAAE,EAA4C;GACzQ,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;AAC5D,UAAO,kBACL,OAAO,OAAO;IAAE,KAAK;IAAgE,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,iBAAiB;KAAU;IAAE;IAAO;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAEhP"}
@@ -0,0 +1,41 @@
1
+ //#region src/resources/shared-asset-folders.d.ts
2
+ type AccessLevel = 'read' | 'write';
3
+ interface AssetFolderAccess {
4
+ space_id: number;
5
+ access_level: AccessLevel;
6
+ }
7
+ /**
8
+ * A shared (organization-level) asset folder. Top-level folders
9
+ * (`parent_id === null`) are "libraries"; per-space access is exposed via
10
+ * `asset_folder_access`. Not part of the generated SDK — these endpoints are
11
+ * issued as raw `client.*` calls.
12
+ */
13
+ interface SharedAssetFolder {
14
+ id: number;
15
+ name: string;
16
+ parent_id: number | null;
17
+ uuid: string;
18
+ parent_uuid: string | null;
19
+ description?: string | null;
20
+ color?: string | null;
21
+ regions?: string[];
22
+ asset_folder_access?: AssetFolderAccess[];
23
+ }
24
+ interface SharedAssetFolderCreate {
25
+ name: string;
26
+ parent_id?: number | null;
27
+ description?: string | null;
28
+ color?: string | null;
29
+ regions?: string[];
30
+ asset_folder_access?: AssetFolderAccess[];
31
+ }
32
+ type SharedAssetFolderUpdate = Partial<SharedAssetFolderCreate>;
33
+ interface SharedAssetFolderListResponse {
34
+ shared_asset_folders: SharedAssetFolder[];
35
+ }
36
+ interface SharedAssetFolderGetResponse {
37
+ shared_asset_folder: SharedAssetFolder;
38
+ }
39
+ //#endregion
40
+ export { AccessLevel, AssetFolderAccess, SharedAssetFolder, SharedAssetFolderCreate, SharedAssetFolderGetResponse, SharedAssetFolderListResponse, SharedAssetFolderUpdate };
41
+ //# sourceMappingURL=shared-asset-folders.d.cts.map
@@ -0,0 +1,41 @@
1
+ //#region src/resources/shared-asset-folders.d.ts
2
+ type AccessLevel = 'read' | 'write';
3
+ interface AssetFolderAccess {
4
+ space_id: number;
5
+ access_level: AccessLevel;
6
+ }
7
+ /**
8
+ * A shared (organization-level) asset folder. Top-level folders
9
+ * (`parent_id === null`) are "libraries"; per-space access is exposed via
10
+ * `asset_folder_access`. Not part of the generated SDK — these endpoints are
11
+ * issued as raw `client.*` calls.
12
+ */
13
+ interface SharedAssetFolder {
14
+ id: number;
15
+ name: string;
16
+ parent_id: number | null;
17
+ uuid: string;
18
+ parent_uuid: string | null;
19
+ description?: string | null;
20
+ color?: string | null;
21
+ regions?: string[];
22
+ asset_folder_access?: AssetFolderAccess[];
23
+ }
24
+ interface SharedAssetFolderCreate {
25
+ name: string;
26
+ parent_id?: number | null;
27
+ description?: string | null;
28
+ color?: string | null;
29
+ regions?: string[];
30
+ asset_folder_access?: AssetFolderAccess[];
31
+ }
32
+ type SharedAssetFolderUpdate = Partial<SharedAssetFolderCreate>;
33
+ interface SharedAssetFolderListResponse {
34
+ shared_asset_folders: SharedAssetFolder[];
35
+ }
36
+ interface SharedAssetFolderGetResponse {
37
+ shared_asset_folder: SharedAssetFolder;
38
+ }
39
+ //#endregion
40
+ export { AccessLevel, AssetFolderAccess, SharedAssetFolder, SharedAssetFolderCreate, SharedAssetFolderGetResponse, SharedAssetFolderListResponse, SharedAssetFolderUpdate };
41
+ //# sourceMappingURL=shared-asset-folders.d.mts.map
@@ -0,0 +1,81 @@
1
+ import { resolveSpaceId } from "./shared.mjs";
2
+
3
+ //#region src/resources/shared-asset-folders.ts
4
+ function createSharedAssetFoldersResource(deps) {
5
+ const { client, spaceId, wrapRequest } = deps;
6
+ const getSpaceId = (path) => resolveSpaceId(spaceId, path);
7
+ const kyOpts = (fetchOptions) => fetchOptions ? { kyOptions: {
8
+ ...client.getConfig().kyOptions,
9
+ ...fetchOptions
10
+ } } : {};
11
+ const maybeThrow = (throwOnError) => throwOnError === void 0 ? {} : { throwOnError };
12
+ return {
13
+ list(options = {}) {
14
+ const { query, signal, path, throwOnError, fetchOptions } = options;
15
+ return wrapRequest(() => client.get({
16
+ url: "/v1/spaces/{space_id}/shared_asset_folders",
17
+ path: { space_id: getSpaceId(path) },
18
+ query,
19
+ signal,
20
+ ...maybeThrow(throwOnError),
21
+ ...kyOpts(fetchOptions)
22
+ }), throwOnError);
23
+ },
24
+ get(folderId, options = {}) {
25
+ const { signal, path, throwOnError, fetchOptions } = options;
26
+ return wrapRequest(() => client.get({
27
+ url: "/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}",
28
+ path: {
29
+ space_id: getSpaceId(path),
30
+ asset_folder_id: folderId
31
+ },
32
+ signal,
33
+ ...maybeThrow(throwOnError),
34
+ ...kyOpts(fetchOptions)
35
+ }), throwOnError);
36
+ },
37
+ create(options) {
38
+ const { body, signal, path, throwOnError, fetchOptions } = options;
39
+ return wrapRequest(() => client.post({
40
+ url: "/v1/spaces/{space_id}/shared_asset_folders",
41
+ path: { space_id: getSpaceId(path) },
42
+ body,
43
+ signal,
44
+ ...maybeThrow(throwOnError),
45
+ ...kyOpts(fetchOptions)
46
+ }), throwOnError);
47
+ },
48
+ update(folderId, options) {
49
+ const { body, signal, path, throwOnError, fetchOptions } = options;
50
+ return wrapRequest(() => client.put({
51
+ url: "/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}",
52
+ path: {
53
+ space_id: getSpaceId(path),
54
+ asset_folder_id: folderId
55
+ },
56
+ body,
57
+ signal,
58
+ ...maybeThrow(throwOnError),
59
+ ...kyOpts(fetchOptions)
60
+ }), throwOnError);
61
+ },
62
+ delete(folderId, options = {}) {
63
+ const { query, signal, path, throwOnError, fetchOptions } = options;
64
+ return wrapRequest(() => client.delete({
65
+ url: "/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}",
66
+ path: {
67
+ space_id: getSpaceId(path),
68
+ asset_folder_id: folderId
69
+ },
70
+ query,
71
+ signal,
72
+ ...maybeThrow(throwOnError),
73
+ ...kyOpts(fetchOptions)
74
+ }), throwOnError);
75
+ }
76
+ };
77
+ }
78
+
79
+ //#endregion
80
+ export { createSharedAssetFoldersResource };
81
+ //# sourceMappingURL=shared-asset-folders.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-asset-folders.mjs","names":[],"sources":["../../src/resources/shared-asset-folders.ts"],"sourcesContent":["import type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\nexport type AccessLevel = 'read' | 'write';\n\nexport interface AssetFolderAccess {\n space_id: number;\n access_level: AccessLevel;\n}\n\n/**\n * A shared (organization-level) asset folder. Top-level folders\n * (`parent_id === null`) are \"libraries\"; per-space access is exposed via\n * `asset_folder_access`. Not part of the generated SDK — these endpoints are\n * issued as raw `client.*` calls.\n */\nexport interface SharedAssetFolder {\n id: number;\n name: string;\n parent_id: number | null;\n uuid: string;\n parent_uuid: string | null;\n description?: string | null;\n color?: string | null;\n regions?: string[];\n asset_folder_access?: AssetFolderAccess[];\n}\n\nexport interface SharedAssetFolderCreate {\n name: string;\n parent_id?: number | null;\n description?: string | null;\n color?: string | null;\n regions?: string[];\n asset_folder_access?: AssetFolderAccess[];\n}\n\nexport type SharedAssetFolderUpdate = Partial<SharedAssetFolderCreate>;\n\nexport interface SharedAssetFolderListResponse {\n shared_asset_folders: SharedAssetFolder[];\n}\n\nexport interface SharedAssetFolderGetResponse {\n shared_asset_folder: SharedAssetFolder;\n}\n\nexport function createSharedAssetFoldersResource<DefaultThrowOnError extends boolean = false>(deps: MapiResourceDeps<DefaultThrowOnError>) {\n const { client, spaceId, wrapRequest } = deps;\n const getSpaceId = (path?: SpaceIdPathOverride['path']) => resolveSpaceId(spaceId, path);\n const kyOpts = (fetchOptions?: FetchOptions) =>\n fetchOptions ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } } : {};\n const maybeThrow = (throwOnError?: boolean) => (throwOnError === undefined ? {} : { throwOnError });\n\n return {\n list<ThrowOnError extends boolean = false>(options: { query?: { search?: string; with_parent?: string; by_ids?: string }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<SharedAssetFolderListResponse, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<SharedAssetFolderListResponse, ThrowOnError>(() =>\n client.get({ url: '/v1/spaces/{space_id}/shared_asset_folders', path: { space_id: getSpaceId(path) }, query, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n get<ThrowOnError extends boolean = false>(folderId: number | string, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<SharedAssetFolderGetResponse, ThrowOnError>> {\n const { signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<SharedAssetFolderGetResponse, ThrowOnError>(() =>\n client.get({ url: '/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}', path: { space_id: getSpaceId(path), asset_folder_id: folderId }, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n create<ThrowOnError extends boolean = false>(options: { body: { shared_asset_folder: SharedAssetFolderCreate }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<SharedAssetFolderGetResponse, ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<SharedAssetFolderGetResponse, ThrowOnError>(() =>\n client.post({ url: '/v1/spaces/{space_id}/shared_asset_folders', path: { space_id: getSpaceId(path) }, body, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n update<ThrowOnError extends boolean = false>(folderId: number | string, options: { body: { shared_asset_folder: SharedAssetFolderUpdate }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<void, ThrowOnError>> {\n const { body, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<void, ThrowOnError>(() =>\n client.put({ url: '/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}', path: { space_id: getSpaceId(path), asset_folder_id: folderId }, body, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n delete<ThrowOnError extends boolean = false>(folderId: number | string, options: { query?: { recursive?: boolean }; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<void, ThrowOnError>> {\n const { query, signal, path, throwOnError, fetchOptions } = options;\n return wrapRequest<void, ThrowOnError>(() =>\n client.delete({ url: '/v1/spaces/{space_id}/shared_asset_folders/{asset_folder_id}', path: { space_id: getSpaceId(path), asset_folder_id: folderId }, query, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n },\n };\n}\n"],"mappings":";;;AA+CA,SAAgB,iCAA8E,MAA6C;CACzI,MAAM,EAAE,QAAQ,SAAS,gBAAgB;CACzC,MAAM,cAAc,SAAuC,eAAe,SAAS,KAAK;CACxF,MAAM,UAAU,iBACd,eAAe,EAAE,WAAW;EAAE,GAAG,OAAO,WAAW,CAAC;EAAW,GAAG;EAAc,EAAE,GAAG,EAAE;CACzF,MAAM,cAAc,iBAA4B,iBAAiB,SAAY,EAAE,GAAG,EAAE,cAAc;AAElG,QAAO;EACL,KAA2C,UAAwL,EAAE,EAAqE;GACxS,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;AAC5D,UAAO,kBACL,OAAO,IAAI;IAAE,KAAK;IAA8C,MAAM,EAAE,UAAU,WAAW,KAAK,EAAE;IAAE;IAAO;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE/L,IAA0C,UAA2B,UAAoH,EAAE,EAAoE;GAC7P,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;AACrD,UAAO,kBACL,OAAO,IAAI;IAAE,KAAK;IAAgE,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,iBAAiB;KAAU;IAAE;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAErO,OAA6C,SAA6O;GACxR,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;AAC3D,UAAO,kBACL,OAAO,KAAK;IAAE,KAAK;IAA8C,MAAM,EAAE,UAAU,WAAW,KAAK,EAAE;IAAE;IAAM;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE/L,OAA6C,UAA2B,SAAqN;GAC3R,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;AAC3D,UAAO,kBACL,OAAO,IAAI;IAAE,KAAK;IAAgE,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,iBAAiB;KAAU;IAAE;IAAM;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE3O,OAA6C,UAA2B,UAAqJ,EAAE,EAA4C;GACzQ,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;AAC5D,UAAO,kBACL,OAAO,OAAO;IAAE,KAAK;IAAgE,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,iBAAiB;KAAU;IAAE;IAAO;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAEhP"}