@commercelayer/sdk
Version:
Commerce Layer Javascript SDK
1 lines • 13.4 kB
Source Map (JSON)
{"version":3,"sources":["../src/resources/promotions.ts"],"names":["ApiResource"],"mappings":"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","file":"chunk-EW5ZFLK6.cjs","sourcesContent":["import { ApiResource } from '../resource'\nimport type { Resource, ResourceId, ResourcesConfig, ResourceRel, ListResponse, ResourceSort, /* ResourceFilter */ } from '../resource'\nimport type { QueryParamsRetrieve, QueryParamsList } from '../query'\n\nimport type { Market } from './markets'\nimport type { OrderAmountPromotionRule } from './order_amount_promotion_rules'\nimport type { SkuListPromotionRule } from './sku_list_promotion_rules'\nimport type { CouponCodesPromotionRule } from './coupon_codes_promotion_rules'\nimport type { CustomPromotionRule } from './custom_promotion_rules'\nimport type { SkuList } from './sku_lists'\nimport type { Coupon } from './coupons'\nimport type { Attachment } from './attachments'\nimport type { Event } from './events'\nimport type { Tag } from './tags'\nimport type { Version } from './versions'\nimport type { EventStore } from './event_stores'\nimport type { PromotionRule } from './promotion_rules'\n\n\ntype PromotionType = 'promotions'\ntype PromotionRel = ResourceRel & { type: PromotionType }\n\n\nexport type PromotionSort = Pick<Promotion, 'id' | 'name' | 'currency_code' | 'exclusive' | 'priority' | 'starts_at' | 'expires_at' | 'total_usage_limit' | 'total_usage_count' | 'disabled_at'> & ResourceSort\n// export type PromotionFilter = Pick<Promotion, 'id' | 'name' | 'currency_code' | 'exclusive' | 'priority' | 'starts_at' | 'expires_at' | 'total_usage_limit' | 'total_usage_count' | 'disabled_at'> & ResourceFilter\n\n\ninterface Promotion extends Resource {\n\t\n\treadonly type: PromotionType\n\n\t/** \n\t * The promotion's internal name.\n\t * @example ```\"Personal promotion\"```\n\t */\n\tname: string\n\t/** \n\t * The international 3-letter currency code as defined by the ISO 4217 standard.\n\t * @example ```\"EUR\"```\n\t */\n\tcurrency_code?: string | null\n\t/** \n\t * Indicates if the promotion will be applied exclusively, based on its priority score.\n\t * @example ```true```\n\t */\n\texclusive?: boolean | null\n\t/** \n\t * The priority assigned to the promotion (lower means higher priority).\n\t * @example ```2```\n\t */\n\tpriority?: number | null\n\t/** \n\t * The activation date/time of this promotion.\n\t * @example ```\"2018-01-01T12:00:00.000Z\"```\n\t */\n\tstarts_at: string\n\t/** \n\t * The expiration date/time of this promotion (must be after starts_at).\n\t * @example ```\"2018-01-02T12:00:00.000Z\"```\n\t */\n\texpires_at: string\n\t/** \n\t * The total number of times this promotion can be applied. When 'null' it means promotion can be applied infinite times.\n\t * @example ```5```\n\t */\n\ttotal_usage_limit?: number | null\n\t/** \n\t * The number of times this promotion has been applied.\n\t * @example ```2```\n\t */\n\ttotal_usage_count?: number | null\n\t/** \n\t * Indicates if the promotion is active (enabled and not expired).\n\t * @example ```true```\n\t */\n\tactive?: boolean | null\n\t/** \n\t * The promotion status. One of 'disabled', 'expired', 'pending', 'active', or 'inactive'.\n\t * @example ```\"pending\"```\n\t */\n\tstatus?: 'disabled' | 'expired' | 'pending' | 'active' | 'inactive' | null\n\t/** \n\t * The weight of the promotion, computed by exclusivity, priority, type and start time. Determines the order of application, higher weight apply first.\n\t * @example ```112```\n\t */\n\tweight?: number | 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\tmarket?: Market | null\n\tpromotion_rules?: PromotionRule[] | null\n\torder_amount_promotion_rule?: OrderAmountPromotionRule | null\n\tsku_list_promotion_rule?: SkuListPromotionRule | null\n\tcoupon_codes_promotion_rule?: CouponCodesPromotionRule | null\n\tcustom_promotion_rule?: CustomPromotionRule | null\n\tsku_list?: SkuList | null\n\tcoupons?: Coupon[] | null\n\tattachments?: Attachment[] | null\n\tevents?: Event[] | null\n\ttags?: Tag[] | null\n\tversions?: Version[] | null\n\tevent_stores?: EventStore[] | null\n\n}\n\n\nclass Promotions extends ApiResource<Promotion> {\n\n\tstatic readonly TYPE: PromotionType = 'promotions' as const\n\n\tasync market(promotionId: string | Promotion, params?: QueryParamsRetrieve<Market>, options?: ResourcesConfig): Promise<Market> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<Market>({ type: 'markets' }, `promotions/${_promotionId}/market`, params, options) as unknown as Market\n\t}\n\n\tasync order_amount_promotion_rule(promotionId: string | Promotion, params?: QueryParamsRetrieve<OrderAmountPromotionRule>, options?: ResourcesConfig): Promise<OrderAmountPromotionRule> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<OrderAmountPromotionRule>({ type: 'order_amount_promotion_rules' }, `promotions/${_promotionId}/order_amount_promotion_rule`, params, options) as unknown as OrderAmountPromotionRule\n\t}\n\n\tasync sku_list_promotion_rule(promotionId: string | Promotion, params?: QueryParamsRetrieve<SkuListPromotionRule>, options?: ResourcesConfig): Promise<SkuListPromotionRule> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<SkuListPromotionRule>({ type: 'sku_list_promotion_rules' }, `promotions/${_promotionId}/sku_list_promotion_rule`, params, options) as unknown as SkuListPromotionRule\n\t}\n\n\tasync coupon_codes_promotion_rule(promotionId: string | Promotion, params?: QueryParamsRetrieve<CouponCodesPromotionRule>, options?: ResourcesConfig): Promise<CouponCodesPromotionRule> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<CouponCodesPromotionRule>({ type: 'coupon_codes_promotion_rules' }, `promotions/${_promotionId}/coupon_codes_promotion_rule`, params, options) as unknown as CouponCodesPromotionRule\n\t}\n\n\tasync custom_promotion_rule(promotionId: string | Promotion, params?: QueryParamsRetrieve<CustomPromotionRule>, options?: ResourcesConfig): Promise<CustomPromotionRule> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<CustomPromotionRule>({ type: 'custom_promotion_rules' }, `promotions/${_promotionId}/custom_promotion_rule`, params, options) as unknown as CustomPromotionRule\n\t}\n\n\tasync sku_list(promotionId: string | Promotion, params?: QueryParamsRetrieve<SkuList>, options?: ResourcesConfig): Promise<SkuList> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<SkuList>({ type: 'sku_lists' }, `promotions/${_promotionId}/sku_list`, params, options) as unknown as SkuList\n\t}\n\n\tasync coupons(promotionId: string | Promotion, params?: QueryParamsList<Coupon>, options?: ResourcesConfig): Promise<ListResponse<Coupon>> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<Coupon>({ type: 'coupons' }, `promotions/${_promotionId}/coupons`, params, options) as unknown as ListResponse<Coupon>\n\t}\n\n\tasync attachments(promotionId: string | Promotion, params?: QueryParamsList<Attachment>, options?: ResourcesConfig): Promise<ListResponse<Attachment>> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<Attachment>({ type: 'attachments' }, `promotions/${_promotionId}/attachments`, params, options) as unknown as ListResponse<Attachment>\n\t}\n\n\tasync events(promotionId: string | Promotion, params?: QueryParamsList<Event>, options?: ResourcesConfig): Promise<ListResponse<Event>> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<Event>({ type: 'events' }, `promotions/${_promotionId}/events`, params, options) as unknown as ListResponse<Event>\n\t}\n\n\tasync tags(promotionId: string | Promotion, params?: QueryParamsList<Tag>, options?: ResourcesConfig): Promise<ListResponse<Tag>> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<Tag>({ type: 'tags' }, `promotions/${_promotionId}/tags`, params, options) as unknown as ListResponse<Tag>\n\t}\n\n\tasync versions(promotionId: string | Promotion, params?: QueryParamsList<Version>, options?: ResourcesConfig): Promise<ListResponse<Version>> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<Version>({ type: 'versions' }, `promotions/${_promotionId}/versions`, params, options) as unknown as ListResponse<Version>\n\t}\n\n\tasync event_stores(promotionId: string | Promotion, params?: QueryParamsList<EventStore>, options?: ResourcesConfig): Promise<ListResponse<EventStore>> {\n\t\tconst _promotionId = (promotionId as Promotion).id || promotionId as string\n\t\treturn this.resources.fetch<EventStore>({ type: 'event_stores' }, `promotions/${_promotionId}/event_stores`, params, options) as unknown as ListResponse<EventStore>\n\t}\n\n\n\tisPromotion(resource: any): resource is Promotion {\n\t\treturn resource.type && (resource.type === Promotions.TYPE)\n\t}\n\n\n\trelationship(id: string | ResourceId | null): PromotionRel {\n\t\treturn super.relationshipOneToOne<PromotionRel>(id)\n\t}\n\n\trelationshipToMany(...ids: string[]): PromotionRel[] {\n\t\treturn super.relationshipOneToMany<PromotionRel>(...ids)\n\t}\n\n\n\ttype(): PromotionType {\n\t\treturn Promotions.TYPE\n\t}\n\n}\n\n\nconst instance = new Promotions()\nexport default instance\n\nexport type { Promotions, Promotion, PromotionType }\n"]}