{"version":3,"file":"shared-asset-folders.cjs","names":["resolveSpaceId"],"sources":["../../src/resources/shared-asset-folders.ts"],"sourcesContent":["import * as mapi from '../generated/mapi/sdk.gen';\nimport type {\n  CreateSpaceSharedAssetFolderData,\n  CreateSpaceSharedAssetFolderResponses,\n  DeleteSpaceSharedAssetFolderData,\n  GetSpaceSharedAssetFolderResponses,\n  ListSpaceSharedAssetFoldersData,\n  ListSpaceSharedAssetFoldersResponses,\n  UpdateSpaceSharedAssetFolderData,\n} from '../generated/mapi/types.gen';\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from '../client';\nimport { resolveSpaceId, type SpaceIdPathOverride } from './shared';\n\n/**\n * Shared (organization-level) asset folders. A folder the server returns with\n * `parent_id: null` is a \"library\" root; per-space access is exposed via\n * `asset_folder_access`. The active space must have read (list/get) or write\n * (create/update/delete) access to the library.\n *\n * Library roots cannot be created from a space — only in org context, via\n * `POST /v1/orgs/{org_id}/shared_asset_folders`. `create()` here therefore\n * always makes a child folder: `parent_id` is a plain `number` (no `null` to\n * pass), and omitting it fails with 400 \"Cannot create shared root asset folder\n * in space context.\" `update()` does accept `parent_id: null`.\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?: ListSpaceSharedAssetFoldersData['query']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<ListSpaceSharedAssetFoldersResponses[200], ThrowOnError>> {\n      const { query, signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<ListSpaceSharedAssetFoldersResponses[200], ThrowOnError>(() =>\n        mapi.listSpaceSharedAssetFolders({ client, path: { space_id: getSpaceId(path) }, query, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n    },\n    get<ThrowOnError extends boolean = false>(folderId: number, options: { signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride = {}): Promise<ApiResponse<GetSpaceSharedAssetFolderResponses[200], ThrowOnError>> {\n      const { signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<GetSpaceSharedAssetFolderResponses[200], ThrowOnError>(() =>\n        mapi.getSpaceSharedAssetFolder({ client, path: { space_id: getSpaceId(path), id: folderId }, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n    },\n    create<ThrowOnError extends boolean = false>(options: { body: CreateSpaceSharedAssetFolderData['body']; signal?: AbortSignal; throwOnError?: ThrowOnError; fetchOptions?: FetchOptions } & SpaceIdPathOverride): Promise<ApiResponse<CreateSpaceSharedAssetFolderResponses[201], ThrowOnError>> {\n      const { body, signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<CreateSpaceSharedAssetFolderResponses[201], ThrowOnError>(() =>\n        mapi.createSpaceSharedAssetFolder({ client, path: { space_id: getSpaceId(path) }, body, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n    },\n    update<ThrowOnError extends boolean = false>(folderId: number, options: { body: UpdateSpaceSharedAssetFolderData['body']; 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        mapi.updateSpaceSharedAssetFolder({ client, path: { space_id: getSpaceId(path), id: folderId }, body, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n    },\n    delete<ThrowOnError extends boolean = false>(folderId: number, options: { query?: DeleteSpaceSharedAssetFolderData['query']; 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        mapi.deleteSpaceSharedAssetFolder({ client, path: { space_id: getSpaceId(path), id: folderId }, query, signal, ...maybeThrow(throwOnError), ...kyOpts(fetchOptions) }), throwOnError);\n    },\n  };\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAyBA,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,UAAsK,EAAE,EAAiF;GAClS,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;AAC5D,UAAO,8DAC4B;IAAE;IAAQ,MAAM,EAAE,UAAU,WAAW,KAAK,EAAE;IAAE;IAAO;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE1K,IAA0C,UAAkB,UAAoH,EAAE,EAA+E;GAC/P,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;AACrD,UAAO,4DAC0B;IAAE;IAAQ,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,IAAI;KAAU;IAAE;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE/K,OAA6C,SAAmP;GAC9R,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;AAC3D,UAAO,+DAC6B;IAAE;IAAQ,MAAM,EAAE,UAAU,WAAW,KAAK,EAAE;IAAE;IAAM;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE1K,OAA6C,UAAkB,SAA6M;GAC1Q,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;AAC3D,UAAO,+DAC6B;IAAE;IAAQ,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,IAAI;KAAU;IAAE;IAAM;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAExL,OAA6C,UAAkB,UAAuK,EAAE,EAA4C;GAClR,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;AAC5D,UAAO,+DAC6B;IAAE;IAAQ,MAAM;KAAE,UAAU,WAAW,KAAK;KAAE,IAAI;KAAU;IAAE;IAAO;IAAQ,GAAG,WAAW,aAAa;IAAE,GAAG,OAAO,aAAa;IAAE,CAAC,EAAE,aAAa;;EAE1L"}