UNPKG

@commercelayer/sdk

Version:
1 lines 12.4 kB
{"version":3,"sources":["../src/resources/coupons.ts"],"names":["ApiResource"],"mappings":"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","file":"chunk-PBE4XAIR.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 { CouponCodesPromotionRule, CouponCodesPromotionRuleType } from './coupon_codes_promotion_rules'\nimport type { CouponRecipient, CouponRecipientType } from './coupon_recipients'\nimport type { Event } from './events'\nimport type { Tag, TagType } from './tags'\nimport type { Version } from './versions'\nimport type { EventStore } from './event_stores'\n\n\ntype CouponType = 'coupons'\ntype CouponRel = ResourceRel & { type: CouponType }\ntype CouponCodesPromotionRuleRel = ResourceRel & { type: CouponCodesPromotionRuleType }\ntype CouponRecipientRel = ResourceRel & { type: CouponRecipientType }\ntype TagRel = ResourceRel & { type: TagType }\n\n\nexport type CouponSort = Pick<Coupon, 'id' | 'code' | 'customer_single_use' | 'usage_limit' | 'usage_count' | 'expires_at'> & ResourceSort\n// export type CouponFilter = Pick<Coupon, 'id' | 'code' | 'customer_single_use' | 'usage_limit' | 'usage_count' | 'expires_at'> & ResourceFilter\n\n\ninterface Coupon extends Resource {\n\t\n\treadonly type: CouponType\n\n\t/** \n\t * The coupon code, that uniquely identifies the coupon within the promotion rule.\n\t * @example ```\"04371af2-70b3-48d7-8f4e-316b374224c3\"```\n\t */\n\tcode: string\n\t/** \n\t * Indicates if the coupon can be used just once per customer.\n\t */\n\tcustomer_single_use?: boolean | null\n\t/** \n\t * The total number of times this coupon can be used.\n\t * @example ```50```\n\t */\n\tusage_limit?: number | null\n\t/** \n\t * The number of times this coupon has been used.\n\t * @example ```20```\n\t */\n\tusage_count?: number | null\n\t/** \n\t * The email address of the associated recipient. When creating or updating a coupon, this is a shortcut to find or create the associated recipient by email.\n\t * @example ```\"john@example.com\"```\n\t */\n\trecipient_email?: string | null\n\t/** \n\t * Time at which the coupon will expire.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\texpires_at?: string | null\n\n\tpromotion_rule?: CouponCodesPromotionRule | null\n\tcoupon_recipient?: CouponRecipient | null\n\tevents?: Event[] | null\n\ttags?: Tag[] | null\n\tversions?: Version[] | null\n\tevent_stores?: EventStore[] | null\n\n}\n\n\ninterface CouponCreate extends ResourceCreate {\n\t\n\t/** \n\t * The coupon code, that uniquely identifies the coupon within the promotion rule.\n\t * @example ```\"04371af2-70b3-48d7-8f4e-316b374224c3\"```\n\t */\n\tcode: string\n\t/** \n\t * Indicates if the coupon can be used just once per customer.\n\t */\n\tcustomer_single_use?: boolean | null\n\t/** \n\t * The total number of times this coupon can be used.\n\t * @example ```50```\n\t */\n\tusage_limit?: number | null\n\t/** \n\t * The email address of the associated recipient. When creating or updating a coupon, this is a shortcut to find or create the associated recipient by email.\n\t * @example ```\"john@example.com\"```\n\t */\n\trecipient_email?: string | null\n\t/** \n\t * Time at which the coupon will expire.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\texpires_at?: string | null\n\n\tpromotion_rule: CouponCodesPromotionRuleRel\n\tcoupon_recipient?: CouponRecipientRel | null\n\ttags?: TagRel[] | null\n\n}\n\n\ninterface CouponUpdate extends ResourceUpdate {\n\t\n\t/** \n\t * The coupon code, that uniquely identifies the coupon within the promotion rule.\n\t * @example ```\"04371af2-70b3-48d7-8f4e-316b374224c3\"```\n\t */\n\tcode?: string | null\n\t/** \n\t * Indicates if the coupon can be used just once per customer.\n\t */\n\tcustomer_single_use?: boolean | null\n\t/** \n\t * The total number of times this coupon can be used.\n\t * @example ```50```\n\t */\n\tusage_limit?: number | null\n\t/** \n\t * The email address of the associated recipient. When creating or updating a coupon, this is a shortcut to find or create the associated recipient by email.\n\t * @example ```\"john@example.com\"```\n\t */\n\trecipient_email?: string | null\n\t/** \n\t * Time at which the coupon will expire.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\texpires_at?: string | null\n\t/** \n\t * Comma separated list of tags to be added. Duplicates, invalid and non existing ones are discarded. Cannot be passed by sales channels.\n\t */\n\t_add_tags?: string | null\n\t/** \n\t * Comma separated list of tags to be removed. Duplicates, invalid and non existing ones are discarded. Cannot be passed by sales channels.\n\t */\n\t_remove_tags?: string | null\n\n\tpromotion_rule?: CouponCodesPromotionRuleRel | null\n\tcoupon_recipient?: CouponRecipientRel | null\n\ttags?: TagRel[] | null\n\n}\n\n\nclass Coupons extends ApiResource<Coupon> {\n\n\tstatic readonly TYPE: CouponType = 'coupons' as const\n\n\tasync create(resource: CouponCreate, params?: QueryParamsRetrieve<Coupon>, options?: ResourcesConfig): Promise<Coupon> {\n\t\treturn this.resources.create<CouponCreate, Coupon>({ ...resource, type: Coupons.TYPE }, params, options)\n\t}\n\n\tasync update(resource: CouponUpdate, params?: QueryParamsRetrieve<Coupon>, options?: ResourcesConfig): Promise<Coupon> {\n\t\treturn this.resources.update<CouponUpdate, Coupon>({ ...resource, type: Coupons.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: Coupons.TYPE } : id, options)\n\t}\n\n\tasync promotion_rule(couponId: string | Coupon, params?: QueryParamsRetrieve<CouponCodesPromotionRule>, options?: ResourcesConfig): Promise<CouponCodesPromotionRule> {\n\t\tconst _couponId = (couponId as Coupon).id || couponId as string\n\t\treturn this.resources.fetch<CouponCodesPromotionRule>({ type: 'coupon_codes_promotion_rules' }, `coupons/${_couponId}/promotion_rule`, params, options) as unknown as CouponCodesPromotionRule\n\t}\n\n\tasync coupon_recipient(couponId: string | Coupon, params?: QueryParamsRetrieve<CouponRecipient>, options?: ResourcesConfig): Promise<CouponRecipient> {\n\t\tconst _couponId = (couponId as Coupon).id || couponId as string\n\t\treturn this.resources.fetch<CouponRecipient>({ type: 'coupon_recipients' }, `coupons/${_couponId}/coupon_recipient`, params, options) as unknown as CouponRecipient\n\t}\n\n\tasync events(couponId: string | Coupon, params?: QueryParamsList<Event>, options?: ResourcesConfig): Promise<ListResponse<Event>> {\n\t\tconst _couponId = (couponId as Coupon).id || couponId as string\n\t\treturn this.resources.fetch<Event>({ type: 'events' }, `coupons/${_couponId}/events`, params, options) as unknown as ListResponse<Event>\n\t}\n\n\tasync tags(couponId: string | Coupon, params?: QueryParamsList<Tag>, options?: ResourcesConfig): Promise<ListResponse<Tag>> {\n\t\tconst _couponId = (couponId as Coupon).id || couponId as string\n\t\treturn this.resources.fetch<Tag>({ type: 'tags' }, `coupons/${_couponId}/tags`, params, options) as unknown as ListResponse<Tag>\n\t}\n\n\tasync versions(couponId: string | Coupon, params?: QueryParamsList<Version>, options?: ResourcesConfig): Promise<ListResponse<Version>> {\n\t\tconst _couponId = (couponId as Coupon).id || couponId as string\n\t\treturn this.resources.fetch<Version>({ type: 'versions' }, `coupons/${_couponId}/versions`, params, options) as unknown as ListResponse<Version>\n\t}\n\n\tasync event_stores(couponId: string | Coupon, params?: QueryParamsList<EventStore>, options?: ResourcesConfig): Promise<ListResponse<EventStore>> {\n\t\tconst _couponId = (couponId as Coupon).id || couponId as string\n\t\treturn this.resources.fetch<EventStore>({ type: 'event_stores' }, `coupons/${_couponId}/event_stores`, params, options) as unknown as ListResponse<EventStore>\n\t}\n\n\tasync _add_tags(id: string | Coupon, triggerValue: string, params?: QueryParamsRetrieve<Coupon>, options?: ResourcesConfig): Promise<Coupon> {\n\t\treturn this.resources.update<CouponUpdate, Coupon>({ id: (typeof id === 'string')? id: id.id, type: Coupons.TYPE, _add_tags: triggerValue }, params, options)\n\t}\n\n\tasync _remove_tags(id: string | Coupon, triggerValue: string, params?: QueryParamsRetrieve<Coupon>, options?: ResourcesConfig): Promise<Coupon> {\n\t\treturn this.resources.update<CouponUpdate, Coupon>({ id: (typeof id === 'string')? id: id.id, type: Coupons.TYPE, _remove_tags: triggerValue }, params, options)\n\t}\n\n\n\tisCoupon(resource: any): resource is Coupon {\n\t\treturn resource.type && (resource.type === Coupons.TYPE)\n\t}\n\n\n\trelationship(id: string | ResourceId | null): CouponRel {\n\t\treturn super.relationshipOneToOne<CouponRel>(id)\n\t}\n\n\trelationshipToMany(...ids: string[]): CouponRel[] {\n\t\treturn super.relationshipOneToMany<CouponRel>(...ids)\n\t}\n\n\n\ttype(): CouponType {\n\t\treturn Coupons.TYPE\n\t}\n\n}\n\n\nconst instance = new Coupons()\nexport default instance\n\nexport type { Coupons, Coupon, CouponCreate, CouponUpdate, CouponType }\n"]}