UNPKG

@commercelayer/sdk

Version:
1 lines 9.74 kB
{"version":3,"sources":["../src/resources/exports.ts"],"names":["ApiResource"],"mappings":"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","file":"chunk-J42WGTN6.cjs","sourcesContent":["import { ApiResource } from '../resource'\nimport type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse, ResourceSort, /* ResourceFilter */ } from '../resource'\nimport type { QueryParamsRetrieve, QueryParamsList } from '../query'\n\nimport type { Event } from './events'\nimport type { Version } from './versions'\nimport type { EventStore } from './event_stores'\n\n\ntype ExportType = 'exports'\ntype ExportRel = ResourceRel & { type: ExportType }\n\n\nexport type ExportSort = Pick<Export, 'id' | 'resource_type' | 'format' | 'status' | 'started_at' | 'completed_at' | 'interrupted_at' | 'records_count' | 'attachment_url'> & ResourceSort\n// export type ExportFilter = Pick<Export, 'id' | 'resource_type' | 'format' | 'status' | 'started_at' | 'completed_at' | 'interrupted_at' | 'records_count' | 'attachment_url' | 'errors_log'> & ResourceFilter\n\n\ninterface Export extends Resource {\n\t\n\treadonly type: ExportType\n\n\t/** \n\t * The type of resource being exported.\n\t * @example ```\"skus\"```\n\t */\n\tresource_type: string\n\t/** \n\t * The format of the export one of 'json' (default) or 'csv'.\n\t * @example ```\"json\"```\n\t */\n\tformat?: string | null\n\t/** \n\t * The export job status. One of 'pending' (default), 'in_progress', 'interrupted', or 'completed'.\n\t * @example ```\"in_progress\"```\n\t */\n\tstatus: 'pending' | 'in_progress' | 'interrupted' | 'completed'\n\t/** \n\t * List of related resources that should be included in the export (redundant when 'fields' are specified).\n\t * @example ```[\"prices.price_tiers\"]```\n\t */\n\tincludes?: string[] | null\n\t/** \n\t * List of fields to export for the main and related resources (automatically included). Pass the asterisk '*' to include all exportable fields for the main and related resources.\n\t * @example ```[\"code\",\"name\",\"prices.*\",\"prices.price_tiers.price_amount_cents\"]```\n\t */\n\tfields?: string[] | null\n\t/** \n\t * The filters used to select the records to be exported.\n\t * @example ```{\"code_eq\":\"AAA\"}```\n\t */\n\tfilters?: Record<string, any> | null\n\t/** \n\t * Send this attribute if you want to skip exporting redundant attributes (IDs, timestamps, blanks, etc.), useful when combining export and import to duplicate your dataset.\n\t */\n\tdry_data?: boolean | null\n\t/** \n\t * Time at which the export was started.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tstarted_at?: string | null\n\t/** \n\t * Time at which the export was completed.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tcompleted_at?: string | null\n\t/** \n\t * Time at which the export was interrupted.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tinterrupted_at?: string | null\n\t/** \n\t * Indicates the number of records to be exported.\n\t * @example ```300```\n\t */\n\trecords_count?: number | null\n\t/** \n\t * The URL to the output file, which will be generated upon export completion.\n\t * @example ```\"http://cl_exports.s3.amazonaws.com/\"```\n\t */\n\tattachment_url?: string | null\n\t/** \n\t * Contains the exports errors, if any.\n\t * @example ```{\"RuntimeError\":\"query timeout\"}```\n\t */\n\terrors_log?: Record<string, any> | null\n\n\tevents?: Event[] | null\n\tversions?: Version[] | null\n\tevent_stores?: EventStore[] | null\n\n}\n\n\ninterface ExportCreate extends ResourceCreate {\n\t\n\t/** \n\t * The type of resource being exported.\n\t * @example ```\"skus\"```\n\t */\n\tresource_type: string\n\t/** \n\t * The format of the export one of 'json' (default) or 'csv'.\n\t * @example ```\"json\"```\n\t */\n\tformat?: string | null\n\t/** \n\t * List of related resources that should be included in the export (redundant when 'fields' are specified).\n\t * @example ```[\"prices.price_tiers\"]```\n\t */\n\tincludes?: string[] | null\n\t/** \n\t * List of fields to export for the main and related resources (automatically included). Pass the asterisk '*' to include all exportable fields for the main and related resources.\n\t * @example ```[\"code\",\"name\",\"prices.*\",\"prices.price_tiers.price_amount_cents\"]```\n\t */\n\tfields?: string[] | null\n\t/** \n\t * The filters used to select the records to be exported.\n\t * @example ```{\"code_eq\":\"AAA\"}```\n\t */\n\tfilters?: Record<string, any> | null\n\t/** \n\t * Send this attribute if you want to skip exporting redundant attributes (IDs, timestamps, blanks, etc.), useful when combining export and import to duplicate your dataset.\n\t */\n\tdry_data?: boolean | null\n\t\n}\n\n\ninterface ExportUpdate extends ResourceUpdate {\n\t\n\t/** \n\t * Send this attribute if you want to mark status as 'interrupted'.\n\t * @example ```true```\n\t */\n\t_interrupt?: boolean | null\n\t\n}\n\n\nclass Exports extends ApiResource<Export> {\n\n\tstatic readonly TYPE: ExportType = 'exports' as const\n\n\tasync create(resource: ExportCreate, params?: QueryParamsRetrieve<Export>, options?: ResourcesConfig): Promise<Export> {\n\t\treturn this.resources.create<ExportCreate, Export>({ ...resource, type: Exports.TYPE }, params, options)\n\t}\n\n\tasync update(resource: ExportUpdate, params?: QueryParamsRetrieve<Export>, options?: ResourcesConfig): Promise<Export> {\n\t\treturn this.resources.update<ExportUpdate, Export>({ ...resource, type: Exports.TYPE }, params, options)\n\t}\n\n\tasync delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void> {\n\t\tawait this.resources.delete((typeof id === 'string')? { id, type: Exports.TYPE } : id, options)\n\t}\n\n\tasync events(exportId: string | Export, params?: QueryParamsList<Event>, options?: ResourcesConfig): Promise<ListResponse<Event>> {\n\t\tconst _exportId = (exportId as Export).id || exportId as string\n\t\treturn this.resources.fetch<Event>({ type: 'events' }, `exports/${_exportId}/events`, params, options) as unknown as ListResponse<Event>\n\t}\n\n\tasync versions(exportId: string | Export, params?: QueryParamsList<Version>, options?: ResourcesConfig): Promise<ListResponse<Version>> {\n\t\tconst _exportId = (exportId as Export).id || exportId as string\n\t\treturn this.resources.fetch<Version>({ type: 'versions' }, `exports/${_exportId}/versions`, params, options) as unknown as ListResponse<Version>\n\t}\n\n\tasync event_stores(exportId: string | Export, params?: QueryParamsList<EventStore>, options?: ResourcesConfig): Promise<ListResponse<EventStore>> {\n\t\tconst _exportId = (exportId as Export).id || exportId as string\n\t\treturn this.resources.fetch<EventStore>({ type: 'event_stores' }, `exports/${_exportId}/event_stores`, params, options) as unknown as ListResponse<EventStore>\n\t}\n\n\tasync _interrupt(id: string | Export, params?: QueryParamsRetrieve<Export>, options?: ResourcesConfig): Promise<Export> {\n\t\treturn this.resources.update<ExportUpdate, Export>({ id: (typeof id === 'string')? id: id.id, type: Exports.TYPE, _interrupt: true }, params, options)\n\t}\n\n\n\tisExport(resource: any): resource is Export {\n\t\treturn resource.type && (resource.type === Exports.TYPE)\n\t}\n\n\n\trelationship(id: string | ResourceId | null): ExportRel {\n\t\treturn super.relationshipOneToOne<ExportRel>(id)\n\t}\n\n\trelationshipToMany(...ids: string[]): ExportRel[] {\n\t\treturn super.relationshipOneToMany<ExportRel>(...ids)\n\t}\n\n\n\ttype(): ExportType {\n\t\treturn Exports.TYPE\n\t}\n\n}\n\n\nconst instance = new Exports()\nexport default instance\n\nexport type { Exports, Export, ExportCreate, ExportUpdate, ExportType }\n"]}