UNPKG

@commercelayer/sdk

Version:
1 lines 10.7 kB
{"version":3,"sources":["../src/resources/links.ts"],"names":["ApiResource"],"mappings":"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","file":"chunk-T5AO4445.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 { EventStore } from './event_stores'\nimport type { Order, OrderType } from './orders'\nimport type { Sku, SkuType } from './skus'\nimport type { SkuList, SkuListType } from './sku_lists'\n\n\ntype LinkType = 'links'\ntype LinkRel = ResourceRel & { type: LinkType }\ntype OrderRel = ResourceRel & { type: OrderType }\ntype SkuRel = ResourceRel & { type: SkuType }\ntype SkuListRel = ResourceRel & { type: SkuListType }\n\n\nexport type LinkSort = Pick<Link, 'id' | 'name' | 'starts_at' | 'expires_at' | 'item_type' | 'disabled_at'> & ResourceSort\n// export type LinkFilter = Pick<Link, 'id' | 'name' | 'client_id' | 'scope' | 'starts_at' | 'expires_at' | 'item_type' | 'params' | 'disabled_at'> & ResourceFilter\n\n\ninterface Link extends Resource {\n\t\n\treadonly type: LinkType\n\n\t/** \n\t * The link internal name.\n\t * @example ```\"FW SALE 2023\"```\n\t */\n\tname: string\n\t/** \n\t * The link application client id, used to fetch JWT.\n\t * @example ```\"xxxx-yyyy-zzzz\"```\n\t */\n\tclient_id: string\n\t/** \n\t * The link application scope, used to fetch JWT.\n\t * @example ```\"market:id:GhvCxsElAQ,market:id:kJhgVcxZDr\"```\n\t */\n\tscope: string\n\t/** \n\t * The activation date/time of this link.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tstarts_at?: string | null\n\t/** \n\t * The expiration date/time of this link (must be after starts_at).\n\t * @example ```\"2018-01-02T12:00:00.000Z\"```\n\t */\n\texpires_at?: string | null\n\t/** \n\t * Indicates if the link is active (enabled and not expired).\n\t * @example ```true```\n\t */\n\tactive?: boolean | null\n\t/** \n\t * The link status. One of 'disabled', 'expired', 'pending', or 'active'.\n\t * @example ```\"pending\"```\n\t */\n\tstatus?: 'disabled' | 'expired' | 'pending' | 'active' | null\n\t/** \n\t * The link URL second level domain.\n\t * @example ```\"commercelayer.link\"```\n\t */\n\tdomain?: string | null\n\t/** \n\t * The link URL.\n\t * @example ```\"https://commercelayer.link/ZXUtd2VzdC0xLzE5ZjBlMGVlLTg4OGMtNDQ1Yi1iYTA0LTg3MTUxY2FjZjFmYQ\"```\n\t */\n\turl?: string | null\n\t/** \n\t * The type of the associated item. One of 'orders', 'skus', or 'sku_lists'.\n\t * @example ```\"orders\"```\n\t */\n\titem_type?: 'orders' | 'skus' | 'sku_lists' | null\n\t/** \n\t * The link params to be passed in URL the query string.\n\t * @example ```{\"param1\":\"ABC\",\"param2\":\"XYZ\"}```\n\t */\n\tparams?: Record<string, any> | null\n\t/** \n\t * Time at which this resource was disabled.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tdisabled_at?: string | null\n\n\titem?: Order | Sku | SkuList | null\n\tevents?: Event[] | null\n\tevent_stores?: EventStore[] | null\n\n}\n\n\ninterface LinkCreate extends ResourceCreate {\n\t\n\t/** \n\t * The link internal name.\n\t * @example ```\"FW SALE 2023\"```\n\t */\n\tname: string\n\t/** \n\t * The link application client id, used to fetch JWT.\n\t * @example ```\"xxxx-yyyy-zzzz\"```\n\t */\n\tclient_id: string\n\t/** \n\t * The link application scope, used to fetch JWT.\n\t * @example ```\"market:id:GhvCxsElAQ,market:id:kJhgVcxZDr\"```\n\t */\n\tscope: string\n\t/** \n\t * The activation date/time of this link.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tstarts_at?: string | null\n\t/** \n\t * The expiration date/time of this link (must be after starts_at).\n\t * @example ```\"2018-01-02T12:00:00.000Z\"```\n\t */\n\texpires_at?: string | null\n\t/** \n\t * The link URL second level domain.\n\t * @example ```\"commercelayer.link\"```\n\t */\n\tdomain?: string | null\n\t/** \n\t * The type of the associated item. One of 'orders', 'skus', or 'sku_lists'.\n\t * @example ```\"orders\"```\n\t */\n\titem_type?: 'orders' | 'skus' | 'sku_lists' | null\n\t/** \n\t * The link params to be passed in URL the query string.\n\t * @example ```{\"param1\":\"ABC\",\"param2\":\"XYZ\"}```\n\t */\n\tparams?: Record<string, any> | null\n\t/** \n\t * Send this attribute if you want to mark this resource as disabled.\n\t * @example ```true```\n\t */\n\t_disable?: boolean | null\n\t/** \n\t * Send this attribute if you want to mark this resource as enabled.\n\t * @example ```true```\n\t */\n\t_enable?: boolean | null\n\n\titem: OrderRel | SkuRel | SkuListRel\n\n}\n\n\ninterface LinkUpdate extends ResourceUpdate {\n\t\n\t/** \n\t * The link internal name.\n\t * @example ```\"FW SALE 2023\"```\n\t */\n\tname?: string | null\n\t/** \n\t * The link application client id, used to fetch JWT.\n\t * @example ```\"xxxx-yyyy-zzzz\"```\n\t */\n\tclient_id?: string | null\n\t/** \n\t * The link application scope, used to fetch JWT.\n\t * @example ```\"market:id:GhvCxsElAQ,market:id:kJhgVcxZDr\"```\n\t */\n\tscope?: string | null\n\t/** \n\t * The activation date/time of this link.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tstarts_at?: string | null\n\t/** \n\t * The expiration date/time of this link (must be after starts_at).\n\t * @example ```\"2018-01-02T12:00:00.000Z\"```\n\t */\n\texpires_at?: string | null\n\t/** \n\t * The link URL second level domain.\n\t * @example ```\"commercelayer.link\"```\n\t */\n\tdomain?: string | null\n\t/** \n\t * The link params to be passed in URL the query string.\n\t * @example ```{\"param1\":\"ABC\",\"param2\":\"XYZ\"}```\n\t */\n\tparams?: Record<string, any> | null\n\t/** \n\t * Send this attribute if you want to mark this resource as disabled.\n\t * @example ```true```\n\t */\n\t_disable?: boolean | null\n\t/** \n\t * Send this attribute if you want to mark this resource as enabled.\n\t * @example ```true```\n\t */\n\t_enable?: boolean | null\n\n\titem?: OrderRel | SkuRel | SkuListRel | null\n\n}\n\n\nclass Links extends ApiResource<Link> {\n\n\tstatic readonly TYPE: LinkType = 'links' as const\n\n\tasync create(resource: LinkCreate, params?: QueryParamsRetrieve<Link>, options?: ResourcesConfig): Promise<Link> {\n\t\treturn this.resources.create<LinkCreate, Link>({ ...resource, type: Links.TYPE }, params, options)\n\t}\n\n\tasync update(resource: LinkUpdate, params?: QueryParamsRetrieve<Link>, options?: ResourcesConfig): Promise<Link> {\n\t\treturn this.resources.update<LinkUpdate, Link>({ ...resource, type: Links.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: Links.TYPE } : id, options)\n\t}\n\n\tasync events(linkId: string | Link, params?: QueryParamsList<Event>, options?: ResourcesConfig): Promise<ListResponse<Event>> {\n\t\tconst _linkId = (linkId as Link).id || linkId as string\n\t\treturn this.resources.fetch<Event>({ type: 'events' }, `links/${_linkId}/events`, params, options) as unknown as ListResponse<Event>\n\t}\n\n\tasync event_stores(linkId: string | Link, params?: QueryParamsList<EventStore>, options?: ResourcesConfig): Promise<ListResponse<EventStore>> {\n\t\tconst _linkId = (linkId as Link).id || linkId as string\n\t\treturn this.resources.fetch<EventStore>({ type: 'event_stores' }, `links/${_linkId}/event_stores`, params, options) as unknown as ListResponse<EventStore>\n\t}\n\n\tasync _disable(id: string | Link, params?: QueryParamsRetrieve<Link>, options?: ResourcesConfig): Promise<Link> {\n\t\treturn this.resources.update<LinkUpdate, Link>({ id: (typeof id === 'string')? id: id.id, type: Links.TYPE, _disable: true }, params, options)\n\t}\n\n\tasync _enable(id: string | Link, params?: QueryParamsRetrieve<Link>, options?: ResourcesConfig): Promise<Link> {\n\t\treturn this.resources.update<LinkUpdate, Link>({ id: (typeof id === 'string')? id: id.id, type: Links.TYPE, _enable: true }, params, options)\n\t}\n\n\n\tisLink(resource: any): resource is Link {\n\t\treturn resource.type && (resource.type === Links.TYPE)\n\t}\n\n\n\trelationship(id: string | ResourceId | null): LinkRel {\n\t\treturn super.relationshipOneToOne<LinkRel>(id)\n\t}\n\n\trelationshipToMany(...ids: string[]): LinkRel[] {\n\t\treturn super.relationshipOneToMany<LinkRel>(...ids)\n\t}\n\n\n\ttype(): LinkType {\n\t\treturn Links.TYPE\n\t}\n\n}\n\n\nconst instance = new Links()\nexport default instance\n\nexport type { Links, Link, LinkCreate, LinkUpdate, LinkType }\n"]}