{"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>(\n  deps: MapiResourceDeps<DefaultThrowOnError>,\n) {\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) =>\n    throwOnError === undefined ? {} : { throwOnError };\n\n  return {\n    list<ThrowOnError extends boolean = false>(\n      options: {\n        query?: ListSpaceSharedAssetFoldersData[\"query\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride = {},\n    ): Promise<ApiResponse<ListSpaceSharedAssetFoldersResponses[200], ThrowOnError>> {\n      const { query, signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<ListSpaceSharedAssetFoldersResponses[200], ThrowOnError>(\n        () =>\n          mapi.listSpaceSharedAssetFolders({\n            client,\n            path: { space_id: getSpaceId(path) },\n            query,\n            signal,\n            ...maybeThrow(throwOnError),\n            ...kyOpts(fetchOptions),\n          }),\n        throwOnError,\n      );\n    },\n    get<ThrowOnError extends boolean = false>(\n      folderId: number,\n      options: {\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride = {},\n    ): Promise<ApiResponse<GetSpaceSharedAssetFolderResponses[200], ThrowOnError>> {\n      const { signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<GetSpaceSharedAssetFolderResponses[200], ThrowOnError>(\n        () =>\n          mapi.getSpaceSharedAssetFolder({\n            client,\n            path: { space_id: getSpaceId(path), id: folderId },\n            signal,\n            ...maybeThrow(throwOnError),\n            ...kyOpts(fetchOptions),\n          }),\n        throwOnError,\n      );\n    },\n    create<ThrowOnError extends boolean = false>(\n      options: {\n        body: CreateSpaceSharedAssetFolderData[\"body\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride,\n    ): Promise<ApiResponse<CreateSpaceSharedAssetFolderResponses[201], ThrowOnError>> {\n      const { body, signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<CreateSpaceSharedAssetFolderResponses[201], ThrowOnError>(\n        () =>\n          mapi.createSpaceSharedAssetFolder({\n            client,\n            path: { space_id: getSpaceId(path) },\n            body,\n            signal,\n            ...maybeThrow(throwOnError),\n            ...kyOpts(fetchOptions),\n          }),\n        throwOnError,\n      );\n    },\n    update<ThrowOnError extends boolean = false>(\n      folderId: number,\n      options: {\n        body: UpdateSpaceSharedAssetFolderData[\"body\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride,\n    ): Promise<ApiResponse<void, ThrowOnError>> {\n      const { body, signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<void, ThrowOnError>(\n        () =>\n          mapi.updateSpaceSharedAssetFolder({\n            client,\n            path: { space_id: getSpaceId(path), id: folderId },\n            body,\n            signal,\n            ...maybeThrow(throwOnError),\n            ...kyOpts(fetchOptions),\n          }),\n        throwOnError,\n      );\n    },\n    delete<ThrowOnError extends boolean = false>(\n      folderId: number,\n      options: {\n        query?: DeleteSpaceSharedAssetFolderData[\"query\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride = {},\n    ): Promise<ApiResponse<void, ThrowOnError>> {\n      const { query, signal, path, throwOnError, fetchOptions } = options;\n      return wrapRequest<void, ThrowOnError>(\n        () =>\n          mapi.deleteSpaceSharedAssetFolder({\n            client,\n            path: { space_id: getSpaceId(path), id: folderId },\n            query,\n            signal,\n            ...maybeThrow(throwOnError),\n            ...kyOpts(fetchOptions),\n          }),\n        throwOnError,\n      );\n    },\n  };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAyBA,SAAgB,iCACd,MACA;CACA,MAAM,EAAE,QAAQ,SAAS,gBAAgB;CACzC,MAAM,cAAc,SAAuCA,eAAAA,eAAe,SAAS,IAAI;CACvF,MAAM,UAAU,iBACd,eAAe,EAAE,WAAW;EAAE,GAAG,OAAO,UAAU,CAAC,CAAC;EAAW,GAAG;CAAa,EAAE,IAAI,CAAC;CACxF,MAAM,cAAc,iBAClB,iBAAiB,KAAA,IAAY,CAAC,IAAI,EAAE,aAAa;CAEnD,OAAO;EACL,KACE,UAK0B,CAAC,GACoD;GAC/E,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAC5D,OAAO,kBAAA,gBAAA,4BAE8B;IAC/B;IACA,MAAM,EAAE,UAAU,WAAW,IAAI,EAAE;IACnC;IACA;IACA,GAAG,WAAW,YAAY;IAC1B,GAAG,OAAO,YAAY;GACxB,CAAC,GACH,YACF;EACF;EACA,IACE,UACA,UAI0B,CAAC,GACkD;GAC7E,MAAM,EAAE,QAAQ,MAAM,cAAc,iBAAiB;GACrD,OAAO,kBAAA,gBAAA,0BAE4B;IAC7B;IACA,MAAM;KAAE,UAAU,WAAW,IAAI;KAAG,IAAI;IAAS;IACjD;IACA,GAAG,WAAW,YAAY;IAC1B,GAAG,OAAO,YAAY;GACxB,CAAC,GACH,YACF;EACF;EACA,OACE,SAMgF;GAChF,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,OAAO,kBAAA,gBAAA,6BAE+B;IAChC;IACA,MAAM,EAAE,UAAU,WAAW,IAAI,EAAE;IACnC;IACA;IACA,GAAG,WAAW,YAAY;IAC1B,GAAG,OAAO,YAAY;GACxB,CAAC,GACH,YACF;EACF;EACA,OACE,UACA,SAM0C;GAC1C,MAAM,EAAE,MAAM,QAAQ,MAAM,cAAc,iBAAiB;GAC3D,OAAO,kBAAA,gBAAA,6BAE+B;IAChC;IACA,MAAM;KAAE,UAAU,WAAW,IAAI;KAAG,IAAI;IAAS;IACjD;IACA;IACA,GAAG,WAAW,YAAY;IAC1B,GAAG,OAAO,YAAY;GACxB,CAAC,GACH,YACF;EACF;EACA,OACE,UACA,UAK0B,CAAC,GACe;GAC1C,MAAM,EAAE,OAAO,QAAQ,MAAM,cAAc,iBAAiB;GAC5D,OAAO,kBAAA,gBAAA,6BAE+B;IAChC;IACA,MAAM;KAAE,UAAU,WAAW,IAAI;KAAG,IAAI;IAAS;IACjD;IACA;IACA,GAAG,WAAW,YAAY;IAC1B,GAAG,OAAO,YAAY;GACxB,CAAC,GACH,YACF;EACF;CACF;AACF"}