@commercelayer/sdk
Version:
Commerce Layer Javascript SDK
1 lines • 10.6 kB
Source Map (JSON)
{"version":3,"sources":["../src/resources/subscription_models.ts"],"names":["ApiResource"],"mappings":"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","file":"chunk-K2E4PX3F.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 { Market } from './markets'\nimport type { OrderSubscription } from './order_subscriptions'\nimport type { Attachment } from './attachments'\nimport type { EventStore } from './event_stores'\n\n\ntype SubscriptionModelType = 'subscription_models'\ntype SubscriptionModelRel = ResourceRel & { type: SubscriptionModelType }\n\n\nexport type SubscriptionModelSort = Pick<SubscriptionModel, 'id' | 'name' | 'strategy'> & ResourceSort\n// export type SubscriptionModelFilter = Pick<SubscriptionModel, 'id' | 'name' | 'strategy' | 'auto_activate' | 'auto_cancel'> & ResourceFilter\n\n\ninterface SubscriptionModel extends Resource {\n\t\n\treadonly type: SubscriptionModelType\n\n\t/** \n\t * The subscription model's internal name.\n\t * @example ```\"EU Subscription Model\"```\n\t */\n\tname: string\n\t/** \n\t * The subscription model's strategy used to generate order subscriptions: one between 'by_frequency' (default) and 'by_line_items'.\n\t * @example ```\"by_frequency\"```\n\t */\n\tstrategy?: string | null\n\t/** \n\t * An object that contains the frequencies available for this subscription model. Supported ones are 'hourly', 'daily', 'weekly', 'monthly', 'two-month', 'three-month', 'four-month', 'six-month', 'yearly', or your custom crontab expression (min unit is hour).\n\t * @example ```[\"hourly\",\"10 * * * *\",\"weekly\",\"monthly\",\"two-month\"]```\n\t */\n\tfrequencies: string[]\n\t/** \n\t * Indicates if the created subscriptions will be activated considering the placed source order as its first run, default to true.\n\t * @example ```true```\n\t */\n\tauto_activate?: boolean | null\n\t/** \n\t * Indicates if the created subscriptions will be cancelled in case the source order is cancelled, default to false.\n\t */\n\tauto_cancel?: boolean | null\n\n\tmarkets?: Market[] | null\n\torder_subscriptions?: OrderSubscription[] | null\n\tattachments?: Attachment[] | null\n\tevent_stores?: EventStore[] | null\n\n}\n\n\ninterface SubscriptionModelCreate extends ResourceCreate {\n\t\n\t/** \n\t * The subscription model's internal name.\n\t * @example ```\"EU Subscription Model\"```\n\t */\n\tname: string\n\t/** \n\t * The subscription model's strategy used to generate order subscriptions: one between 'by_frequency' (default) and 'by_line_items'.\n\t * @example ```\"by_frequency\"```\n\t */\n\tstrategy?: string | null\n\t/** \n\t * An object that contains the frequencies available for this subscription model. Supported ones are 'hourly', 'daily', 'weekly', 'monthly', 'two-month', 'three-month', 'four-month', 'six-month', 'yearly', or your custom crontab expression (min unit is hour).\n\t * @example ```[\"hourly\",\"10 * * * *\",\"weekly\",\"monthly\",\"two-month\"]```\n\t */\n\tfrequencies: string[]\n\t/** \n\t * Indicates if the created subscriptions will be activated considering the placed source order as its first run, default to true.\n\t * @example ```true```\n\t */\n\tauto_activate?: boolean | null\n\t/** \n\t * Indicates if the created subscriptions will be cancelled in case the source order is cancelled, default to false.\n\t */\n\tauto_cancel?: boolean | null\n\t\n}\n\n\ninterface SubscriptionModelUpdate extends ResourceUpdate {\n\t\n\t/** \n\t * The subscription model's internal name.\n\t * @example ```\"EU Subscription Model\"```\n\t */\n\tname?: string | null\n\t/** \n\t * The subscription model's strategy used to generate order subscriptions: one between 'by_frequency' (default) and 'by_line_items'.\n\t * @example ```\"by_frequency\"```\n\t */\n\tstrategy?: string | null\n\t/** \n\t * An object that contains the frequencies available for this subscription model. Supported ones are 'hourly', 'daily', 'weekly', 'monthly', 'two-month', 'three-month', 'four-month', 'six-month', 'yearly', or your custom crontab expression (min unit is hour).\n\t * @example ```[\"hourly\",\"10 * * * *\",\"weekly\",\"monthly\",\"two-month\"]```\n\t */\n\tfrequencies?: string[] | null\n\t/** \n\t * Indicates if the created subscriptions will be activated considering the placed source order as its first run, default to true.\n\t * @example ```true```\n\t */\n\tauto_activate?: boolean | null\n\t/** \n\t * Indicates if the created subscriptions will be cancelled in case the source order is cancelled, default to false.\n\t */\n\tauto_cancel?: boolean | null\n\t\n}\n\n\nclass SubscriptionModels extends ApiResource<SubscriptionModel> {\n\n\tstatic readonly TYPE: SubscriptionModelType = 'subscription_models' as const\n\n\tasync create(resource: SubscriptionModelCreate, params?: QueryParamsRetrieve<SubscriptionModel>, options?: ResourcesConfig): Promise<SubscriptionModel> {\n\t\treturn this.resources.create<SubscriptionModelCreate, SubscriptionModel>({ ...resource, type: SubscriptionModels.TYPE }, params, options)\n\t}\n\n\tasync update(resource: SubscriptionModelUpdate, params?: QueryParamsRetrieve<SubscriptionModel>, options?: ResourcesConfig): Promise<SubscriptionModel> {\n\t\treturn this.resources.update<SubscriptionModelUpdate, SubscriptionModel>({ ...resource, type: SubscriptionModels.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: SubscriptionModels.TYPE } : id, options)\n\t}\n\n\tasync markets(subscriptionModelId: string | SubscriptionModel, params?: QueryParamsList<Market>, options?: ResourcesConfig): Promise<ListResponse<Market>> {\n\t\tconst _subscriptionModelId = (subscriptionModelId as SubscriptionModel).id || subscriptionModelId as string\n\t\treturn this.resources.fetch<Market>({ type: 'markets' }, `subscription_models/${_subscriptionModelId}/markets`, params, options) as unknown as ListResponse<Market>\n\t}\n\n\tasync order_subscriptions(subscriptionModelId: string | SubscriptionModel, params?: QueryParamsList<OrderSubscription>, options?: ResourcesConfig): Promise<ListResponse<OrderSubscription>> {\n\t\tconst _subscriptionModelId = (subscriptionModelId as SubscriptionModel).id || subscriptionModelId as string\n\t\treturn this.resources.fetch<OrderSubscription>({ type: 'order_subscriptions' }, `subscription_models/${_subscriptionModelId}/order_subscriptions`, params, options) as unknown as ListResponse<OrderSubscription>\n\t}\n\n\tasync attachments(subscriptionModelId: string | SubscriptionModel, params?: QueryParamsList<Attachment>, options?: ResourcesConfig): Promise<ListResponse<Attachment>> {\n\t\tconst _subscriptionModelId = (subscriptionModelId as SubscriptionModel).id || subscriptionModelId as string\n\t\treturn this.resources.fetch<Attachment>({ type: 'attachments' }, `subscription_models/${_subscriptionModelId}/attachments`, params, options) as unknown as ListResponse<Attachment>\n\t}\n\n\tasync event_stores(subscriptionModelId: string | SubscriptionModel, params?: QueryParamsList<EventStore>, options?: ResourcesConfig): Promise<ListResponse<EventStore>> {\n\t\tconst _subscriptionModelId = (subscriptionModelId as SubscriptionModel).id || subscriptionModelId as string\n\t\treturn this.resources.fetch<EventStore>({ type: 'event_stores' }, `subscription_models/${_subscriptionModelId}/event_stores`, params, options) as unknown as ListResponse<EventStore>\n\t}\n\n\n\tisSubscriptionModel(resource: any): resource is SubscriptionModel {\n\t\treturn resource.type && (resource.type === SubscriptionModels.TYPE)\n\t}\n\n\n\trelationship(id: string | ResourceId | null): SubscriptionModelRel {\n\t\treturn super.relationshipOneToOne<SubscriptionModelRel>(id)\n\t}\n\n\trelationshipToMany(...ids: string[]): SubscriptionModelRel[] {\n\t\treturn super.relationshipOneToMany<SubscriptionModelRel>(...ids)\n\t}\n\n\n\ttype(): SubscriptionModelType {\n\t\treturn SubscriptionModels.TYPE\n\t}\n\n}\n\n\nconst instance = new SubscriptionModels()\nexport default instance\n\nexport type { SubscriptionModels, SubscriptionModel, SubscriptionModelCreate, SubscriptionModelUpdate, SubscriptionModelType }\n"]}