{"version":3,"file":"datasources.cjs","names":["resolveSpaceId"],"sources":["../../src/resources/datasources.ts"],"sourcesContent":["import * as mapi from \"../generated/mapi/sdk.gen\";\nimport type {\n  CreateDatasourceData,\n  CreateDatasourceResponses,\n  GetDatasourceResponses,\n  ListDatasourcesData,\n  ListDatasourcesResponses,\n  PartialUpdateDatasourceData,\n  PartialUpdateDatasourceResponses,\n  ReplaceDatasourceData,\n  ReplaceDatasourceResponses,\n} from \"../generated/mapi/types.gen\";\nimport type { ApiResponse, FetchOptions, MapiResourceDeps } from \"../client\";\nimport { resolveSpaceId, type SpaceIdPathOverride } from \"./shared\";\n\nexport function createDatasourcesResource<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\n  return {\n    list<ThrowOnError extends boolean = DefaultThrowOnError>(\n      options: {\n        query?: ListDatasourcesData[\"query\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride = {},\n    ): Promise<ApiResponse<ListDatasourcesResponses[200], ThrowOnError>> {\n      const { query, signal, path, throwOnError, fetchOptions } = options;\n      const resolvedSpaceId = getSpaceId(path);\n      return wrapRequest<ListDatasourcesResponses[200], ThrowOnError>(\n        () =>\n          mapi.listDatasources({\n            client,\n            path: { space_id: resolvedSpaceId },\n            query,\n            signal,\n            ...(throwOnError === undefined ? {} : { throwOnError }),\n            ...(fetchOptions\n              ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } }\n              : {}),\n          }),\n        throwOnError,\n      );\n    },\n    get<ThrowOnError extends boolean = DefaultThrowOnError>(\n      datasourceId: number | string,\n      options: {\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride = {},\n    ): Promise<ApiResponse<GetDatasourceResponses[200], ThrowOnError>> {\n      const { signal, path, throwOnError, fetchOptions } = options;\n      const resolvedSpaceId = getSpaceId(path);\n      return wrapRequest<GetDatasourceResponses[200], ThrowOnError>(\n        () =>\n          mapi.getDatasource({\n            client,\n            path: { space_id: resolvedSpaceId, id: String(datasourceId) },\n            signal,\n            ...(throwOnError === undefined ? {} : { throwOnError }),\n            ...(fetchOptions\n              ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } }\n              : {}),\n          }),\n        throwOnError,\n      );\n    },\n    create<ThrowOnError extends boolean = DefaultThrowOnError>(\n      options: {\n        body: CreateDatasourceData[\"body\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride,\n    ): Promise<ApiResponse<CreateDatasourceResponses[201], ThrowOnError>> {\n      const { body, signal, path, throwOnError, fetchOptions } = options;\n      const resolvedSpaceId = getSpaceId(path);\n      return wrapRequest<CreateDatasourceResponses[201], ThrowOnError>(\n        () =>\n          mapi.createDatasource({\n            client,\n            path: { space_id: resolvedSpaceId },\n            body,\n            signal,\n            ...(throwOnError === undefined ? {} : { throwOnError }),\n            ...(fetchOptions\n              ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } }\n              : {}),\n          }),\n        throwOnError,\n      );\n    },\n    /**\n     * PATCH /datasources/{id}: partial update. Only fields present in the body are changed.\n     */\n    update<ThrowOnError extends boolean = DefaultThrowOnError>(\n      datasourceId: number | string,\n      options: {\n        body: PartialUpdateDatasourceData[\"body\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride,\n    ): Promise<ApiResponse<PartialUpdateDatasourceResponses[200], ThrowOnError>> {\n      const { body, signal, path, throwOnError, fetchOptions } = options;\n      const resolvedSpaceId = getSpaceId(path);\n      return wrapRequest<PartialUpdateDatasourceResponses[200], ThrowOnError>(\n        () =>\n          mapi.partialUpdateDatasource({\n            client,\n            path: { space_id: resolvedSpaceId, id: String(datasourceId) },\n            body,\n            signal,\n            ...(throwOnError === undefined ? {} : { throwOnError }),\n            ...(fetchOptions\n              ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } }\n              : {}),\n          }),\n        throwOnError,\n      );\n    },\n    /**\n     * PUT /datasources/{id}: full replace. All updatable fields are replaced.\n     */\n    replace<ThrowOnError extends boolean = DefaultThrowOnError>(\n      datasourceId: number | string,\n      options: {\n        body: ReplaceDatasourceData[\"body\"];\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride,\n    ): Promise<ApiResponse<ReplaceDatasourceResponses[200], ThrowOnError>> {\n      const { body, signal, path, throwOnError, fetchOptions } = options;\n      const resolvedSpaceId = getSpaceId(path);\n      return wrapRequest<ReplaceDatasourceResponses[200], ThrowOnError>(\n        () =>\n          mapi.replaceDatasource({\n            client,\n            path: { space_id: resolvedSpaceId, id: String(datasourceId) },\n            body,\n            signal,\n            ...(throwOnError === undefined ? {} : { throwOnError }),\n            ...(fetchOptions\n              ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } }\n              : {}),\n          }),\n        throwOnError,\n      );\n    },\n    delete<ThrowOnError extends boolean = DefaultThrowOnError>(\n      datasourceId: number | string,\n      options: {\n        signal?: AbortSignal;\n        throwOnError?: ThrowOnError;\n        fetchOptions?: FetchOptions;\n      } & SpaceIdPathOverride = {},\n    ): Promise<ApiResponse<void, ThrowOnError>> {\n      const { signal, path, throwOnError, fetchOptions } = options;\n      const resolvedSpaceId = getSpaceId(path);\n      return wrapRequest<void, ThrowOnError>(\n        () =>\n          mapi.deleteDatasource({\n            client,\n            path: { space_id: resolvedSpaceId, id: String(datasourceId) },\n            signal,\n            ...(throwOnError === undefined ? {} : { throwOnError }),\n            ...(fetchOptions\n              ? { kyOptions: { ...client.getConfig().kyOptions, ...fetchOptions } }\n              : {}),\n          }),\n        throwOnError,\n      );\n    },\n  };\n}\n"],"mappings":"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"}