@fas-core/shared-types 1.0.76 → 1.0.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -52,6 +52,10 @@ interface ISEOMetaData {
52
52
  headerTag: string;
53
53
  canonicalUrl: string;
54
54
  }
55
+ interface IBanner {
56
+ desktop: string;
57
+ mobile: string;
58
+ }
55
59
  interface IMediaAsset {
56
60
  url: string;
57
61
  sortOrder: number;
@@ -69,12 +73,14 @@ interface ILinePricing {
69
73
  currencyCode: string;
70
74
  }
71
75
  interface IAppliedFee {
76
+ key?: string;
72
77
  name: string;
73
78
  amount: number;
74
79
  description?: string;
75
80
  pricingType?: "PERCENTAGE" | "FIXED";
76
81
  value?: number;
77
82
  appliesTo?: "SUBTOTAL" | "TOTAL";
83
+ optional?: boolean;
78
84
  }
79
85
  interface ISummaryPricing {
80
86
  subTotalAmount: number;
@@ -131,15 +137,28 @@ interface ICurrency extends BaseEntity {
131
137
  live_exchange_rates: boolean;
132
138
  }
133
139
 
134
- interface IInvoiceSettings {
135
- logo?: string;
136
- companyName?: string;
137
- companyAddress?: string;
138
- taxId?: string;
139
- footer?: string;
140
- accentColor?: string;
141
- showAddons?: boolean;
140
+ interface IShipFromAddress {
141
+ name?: string;
142
+ phone?: string;
143
+ addressLine1: string;
144
+ addressLine2?: string;
145
+ city: string;
146
+ stateProvince: string;
147
+ postalCode: string;
148
+ countryCode: string;
149
+ }
150
+ interface IShippingRate {
151
+ rateId: string;
152
+ carrierId: string;
153
+ carrier: string;
154
+ serviceCode: string;
155
+ service: string;
156
+ amount: number;
157
+ currency: string;
158
+ deliveryDays: number | null;
159
+ estimatedDelivery: string | null;
142
160
  }
161
+
143
162
  interface IStoreSettings {
144
163
  logo: string;
145
164
  theme: 'light' | 'dark';
@@ -147,7 +166,6 @@ interface IStoreSettings {
147
166
  timezone: string;
148
167
  requireCustomerLogin: boolean;
149
168
  seoMetaData: ISEOMetaData;
150
- invoice?: IInvoiceSettings;
151
169
  }
152
170
  interface IStore extends BaseEntity {
153
171
  name: string;
@@ -156,6 +174,7 @@ interface IStore extends BaseEntity {
156
174
  domain: string;
157
175
  isPrimarySite: boolean;
158
176
  parent?: IStore | string | null;
177
+ shipFrom?: IShipFromAddress;
159
178
  currencies: ICurrency[];
160
179
  defaultCurrency: ICurrency;
161
180
  settings: IStoreSettings;
@@ -189,6 +208,7 @@ interface IBrand extends BaseEntity {
189
208
  slug: string;
190
209
  description: string;
191
210
  logo: string;
211
+ banner: IBanner;
192
212
  stores: IStore[];
193
213
  sortOrder: number;
194
214
  status: boolean;
@@ -204,6 +224,7 @@ interface ICategory extends BaseEntity {
204
224
  stores: (IStore | string)[];
205
225
  childOnly?: boolean;
206
226
  image: string;
227
+ banner: IBanner;
207
228
  sortOrder: number;
208
229
  status: boolean;
209
230
  metaData: Metadata;
@@ -623,9 +644,22 @@ interface IStoreFee extends BaseEntity {
623
644
  appliesTo: FeeAppliesToEnum;
624
645
  enabled: boolean;
625
646
  isVisible: boolean;
647
+ optional: boolean;
648
+ defaultSelected: boolean;
626
649
  sortOrder: number;
627
650
  status: boolean;
628
651
  }
652
+ interface ISelectableFee {
653
+ key: string;
654
+ name: string;
655
+ description?: string;
656
+ pricingType: PricingType;
657
+ value: number;
658
+ appliesTo: FeeAppliesToEnum;
659
+ optional: boolean;
660
+ selected: boolean;
661
+ amount: number;
662
+ }
629
663
 
630
664
  declare const EmailTemplateEventEnum: {
631
665
  readonly ORDER_RECEIVED: "ORDER_RECEIVED";
@@ -769,7 +803,9 @@ interface ICart extends BaseEntity {
769
803
  coupon?: ICoupon;
770
804
  store: IStore;
771
805
  metaData: Metadata;
806
+ optionalFees?: Record<string, boolean>;
772
807
  pricing: ISummaryPricing;
808
+ selectedShippingRate?: IShippingRate;
773
809
  status: CartStatusEnum;
774
810
  order?: IOrder | string;
775
811
  convertedAt?: Date;
@@ -944,4 +980,4 @@ interface INotification extends BaseEntity {
944
980
  meta?: Metadata;
945
981
  }
946
982
 
947
- export { ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ROLES, type AddonAmountInput, type ApiResponse, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CampaignRecipientStatusEnum, CampaignStatusEnum, CartStatusEnum, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, DEFAULT_SUBSCRIPTION_TOPICS, DiscountTypeEnum, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EmailTemplateEventEnum, FEE_APPLIES_TO_VALUES, FeeAppliesToEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminCreate, type IAdminRoleType, type IAdminSafe, type IAdminUpdate, type IAppliedFee, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICategory, type ICompliance, type IContact, type IContent, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IDocumentation, type IEmailTemplate, type IInvoiceSettings, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INotification, type IOrder, type IOrderItem, type IOrderLog, type IOrderTracking, type IOrderTransaction, type IPaymentLink, type IPrice, type IProduct, type IProductDailyStat, type IProductOptionGroup, type IProductOptionValue, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type ISEOMetaData, type IShipping, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ITechSpec, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type Id, type InventoryPolicy, InventoryPolicyEnum, type Metadata, NOTIFICATION_TYPE_VALUES, NotificationTypeEnum, ORDER_LOG_TYPE_VALUES, ORDER_STATUS_VALUES, OrderLogTypeEnum, OrderStatusEnum, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_VALUES, PRICING_TYPE_VALUES, PRODUCT_EVENT_TYPE_VALUES, type Paginated, PaymentGatewayEnum, PaymentLinkStatusEnum, PaymentMethodEnum, PaymentStatusEnum, type PricingType, PricingTypeEnum, ProductEventTypeEnum, type ProductVariantType, RETIRED_CART_STATUSES, type RedirectTargetType, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SoftDeleteFilter, type StockStatus, SubscriptionChannelEnum, SubscriptionTopicEnum, TRANSACTION_TYPE_VALUES, TransactionTypeEnum, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, addonUnitAmount, addonsUnitAmount, formatMoney, normalizeLineQuantity, normalizePath, notificationTypeColorMap, orderLogTypeColorMap, paymentGatewayColorMap, paymentLinkStatusColorMap, paymentMethodColorMap, paymentStatusColorMap, roundMoney, statusColors, typeColorMap };
983
+ export { ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ROLES, type AddonAmountInput, type ApiResponse, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CampaignRecipientStatusEnum, CampaignStatusEnum, CartStatusEnum, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, DEFAULT_SUBSCRIPTION_TOPICS, DiscountTypeEnum, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EmailTemplateEventEnum, FEE_APPLIES_TO_VALUES, FeeAppliesToEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminCreate, type IAdminRoleType, type IAdminSafe, type IAdminUpdate, type IAppliedFee, type IBanner, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICategory, type ICompliance, type IContact, type IContent, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IDocumentation, type IEmailTemplate, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INotification, type IOrder, type IOrderItem, type IOrderLog, type IOrderTracking, type IOrderTransaction, type IPaymentLink, type IPrice, type IProduct, type IProductDailyStat, type IProductOptionGroup, type IProductOptionValue, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type ISEOMetaData, type ISelectableFee, type IShipFromAddress, type IShipping, type IShippingRate, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ITechSpec, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type Id, type InventoryPolicy, InventoryPolicyEnum, type Metadata, NOTIFICATION_TYPE_VALUES, NotificationTypeEnum, ORDER_LOG_TYPE_VALUES, ORDER_STATUS_VALUES, OrderLogTypeEnum, OrderStatusEnum, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_VALUES, PRICING_TYPE_VALUES, PRODUCT_EVENT_TYPE_VALUES, type Paginated, PaymentGatewayEnum, PaymentLinkStatusEnum, PaymentMethodEnum, PaymentStatusEnum, type PricingType, PricingTypeEnum, ProductEventTypeEnum, type ProductVariantType, RETIRED_CART_STATUSES, type RedirectTargetType, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SoftDeleteFilter, type StockStatus, SubscriptionChannelEnum, SubscriptionTopicEnum, TRANSACTION_TYPE_VALUES, TransactionTypeEnum, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, addonUnitAmount, addonsUnitAmount, formatMoney, normalizeLineQuantity, normalizePath, notificationTypeColorMap, orderLogTypeColorMap, paymentGatewayColorMap, paymentLinkStatusColorMap, paymentMethodColorMap, paymentStatusColorMap, roundMoney, statusColors, typeColorMap };
package/dist/index.d.ts CHANGED
@@ -52,6 +52,10 @@ interface ISEOMetaData {
52
52
  headerTag: string;
53
53
  canonicalUrl: string;
54
54
  }
55
+ interface IBanner {
56
+ desktop: string;
57
+ mobile: string;
58
+ }
55
59
  interface IMediaAsset {
56
60
  url: string;
57
61
  sortOrder: number;
@@ -69,12 +73,14 @@ interface ILinePricing {
69
73
  currencyCode: string;
70
74
  }
71
75
  interface IAppliedFee {
76
+ key?: string;
72
77
  name: string;
73
78
  amount: number;
74
79
  description?: string;
75
80
  pricingType?: "PERCENTAGE" | "FIXED";
76
81
  value?: number;
77
82
  appliesTo?: "SUBTOTAL" | "TOTAL";
83
+ optional?: boolean;
78
84
  }
79
85
  interface ISummaryPricing {
80
86
  subTotalAmount: number;
@@ -131,15 +137,28 @@ interface ICurrency extends BaseEntity {
131
137
  live_exchange_rates: boolean;
132
138
  }
133
139
 
134
- interface IInvoiceSettings {
135
- logo?: string;
136
- companyName?: string;
137
- companyAddress?: string;
138
- taxId?: string;
139
- footer?: string;
140
- accentColor?: string;
141
- showAddons?: boolean;
140
+ interface IShipFromAddress {
141
+ name?: string;
142
+ phone?: string;
143
+ addressLine1: string;
144
+ addressLine2?: string;
145
+ city: string;
146
+ stateProvince: string;
147
+ postalCode: string;
148
+ countryCode: string;
149
+ }
150
+ interface IShippingRate {
151
+ rateId: string;
152
+ carrierId: string;
153
+ carrier: string;
154
+ serviceCode: string;
155
+ service: string;
156
+ amount: number;
157
+ currency: string;
158
+ deliveryDays: number | null;
159
+ estimatedDelivery: string | null;
142
160
  }
161
+
143
162
  interface IStoreSettings {
144
163
  logo: string;
145
164
  theme: 'light' | 'dark';
@@ -147,7 +166,6 @@ interface IStoreSettings {
147
166
  timezone: string;
148
167
  requireCustomerLogin: boolean;
149
168
  seoMetaData: ISEOMetaData;
150
- invoice?: IInvoiceSettings;
151
169
  }
152
170
  interface IStore extends BaseEntity {
153
171
  name: string;
@@ -156,6 +174,7 @@ interface IStore extends BaseEntity {
156
174
  domain: string;
157
175
  isPrimarySite: boolean;
158
176
  parent?: IStore | string | null;
177
+ shipFrom?: IShipFromAddress;
159
178
  currencies: ICurrency[];
160
179
  defaultCurrency: ICurrency;
161
180
  settings: IStoreSettings;
@@ -189,6 +208,7 @@ interface IBrand extends BaseEntity {
189
208
  slug: string;
190
209
  description: string;
191
210
  logo: string;
211
+ banner: IBanner;
192
212
  stores: IStore[];
193
213
  sortOrder: number;
194
214
  status: boolean;
@@ -204,6 +224,7 @@ interface ICategory extends BaseEntity {
204
224
  stores: (IStore | string)[];
205
225
  childOnly?: boolean;
206
226
  image: string;
227
+ banner: IBanner;
207
228
  sortOrder: number;
208
229
  status: boolean;
209
230
  metaData: Metadata;
@@ -623,9 +644,22 @@ interface IStoreFee extends BaseEntity {
623
644
  appliesTo: FeeAppliesToEnum;
624
645
  enabled: boolean;
625
646
  isVisible: boolean;
647
+ optional: boolean;
648
+ defaultSelected: boolean;
626
649
  sortOrder: number;
627
650
  status: boolean;
628
651
  }
652
+ interface ISelectableFee {
653
+ key: string;
654
+ name: string;
655
+ description?: string;
656
+ pricingType: PricingType;
657
+ value: number;
658
+ appliesTo: FeeAppliesToEnum;
659
+ optional: boolean;
660
+ selected: boolean;
661
+ amount: number;
662
+ }
629
663
 
630
664
  declare const EmailTemplateEventEnum: {
631
665
  readonly ORDER_RECEIVED: "ORDER_RECEIVED";
@@ -769,7 +803,9 @@ interface ICart extends BaseEntity {
769
803
  coupon?: ICoupon;
770
804
  store: IStore;
771
805
  metaData: Metadata;
806
+ optionalFees?: Record<string, boolean>;
772
807
  pricing: ISummaryPricing;
808
+ selectedShippingRate?: IShippingRate;
773
809
  status: CartStatusEnum;
774
810
  order?: IOrder | string;
775
811
  convertedAt?: Date;
@@ -944,4 +980,4 @@ interface INotification extends BaseEntity {
944
980
  meta?: Metadata;
945
981
  }
946
982
 
947
- export { ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ROLES, type AddonAmountInput, type ApiResponse, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CampaignRecipientStatusEnum, CampaignStatusEnum, CartStatusEnum, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, DEFAULT_SUBSCRIPTION_TOPICS, DiscountTypeEnum, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EmailTemplateEventEnum, FEE_APPLIES_TO_VALUES, FeeAppliesToEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminCreate, type IAdminRoleType, type IAdminSafe, type IAdminUpdate, type IAppliedFee, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICategory, type ICompliance, type IContact, type IContent, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IDocumentation, type IEmailTemplate, type IInvoiceSettings, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INotification, type IOrder, type IOrderItem, type IOrderLog, type IOrderTracking, type IOrderTransaction, type IPaymentLink, type IPrice, type IProduct, type IProductDailyStat, type IProductOptionGroup, type IProductOptionValue, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type ISEOMetaData, type IShipping, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ITechSpec, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type Id, type InventoryPolicy, InventoryPolicyEnum, type Metadata, NOTIFICATION_TYPE_VALUES, NotificationTypeEnum, ORDER_LOG_TYPE_VALUES, ORDER_STATUS_VALUES, OrderLogTypeEnum, OrderStatusEnum, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_VALUES, PRICING_TYPE_VALUES, PRODUCT_EVENT_TYPE_VALUES, type Paginated, PaymentGatewayEnum, PaymentLinkStatusEnum, PaymentMethodEnum, PaymentStatusEnum, type PricingType, PricingTypeEnum, ProductEventTypeEnum, type ProductVariantType, RETIRED_CART_STATUSES, type RedirectTargetType, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SoftDeleteFilter, type StockStatus, SubscriptionChannelEnum, SubscriptionTopicEnum, TRANSACTION_TYPE_VALUES, TransactionTypeEnum, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, addonUnitAmount, addonsUnitAmount, formatMoney, normalizeLineQuantity, normalizePath, notificationTypeColorMap, orderLogTypeColorMap, paymentGatewayColorMap, paymentLinkStatusColorMap, paymentMethodColorMap, paymentStatusColorMap, roundMoney, statusColors, typeColorMap };
983
+ export { ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ROLES, type AddonAmountInput, type ApiResponse, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CampaignRecipientStatusEnum, CampaignStatusEnum, CartStatusEnum, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, DEFAULT_SUBSCRIPTION_TOPICS, DiscountTypeEnum, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EmailTemplateEventEnum, FEE_APPLIES_TO_VALUES, FeeAppliesToEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminCreate, type IAdminRoleType, type IAdminSafe, type IAdminUpdate, type IAppliedFee, type IBanner, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICategory, type ICompliance, type IContact, type IContent, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IDocumentation, type IEmailTemplate, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INotification, type IOrder, type IOrderItem, type IOrderLog, type IOrderTracking, type IOrderTransaction, type IPaymentLink, type IPrice, type IProduct, type IProductDailyStat, type IProductOptionGroup, type IProductOptionValue, type IProductRelationGroup, type IProductTechnicalSpec, type IProductTechnicalSpecTable, type IProductVariantFields, type IProductVariantOptionGroup, type IProductVariantOptionMatrix, type IProductVariantOptionValue, type IRedirect, type IRedirectSuggestion, type IRefundTransaction, type IRelationGroup, type ISEOMetaData, type ISelectableFee, type IShipFromAddress, type IShipping, type IShippingRate, type IState, type IStock, type IStore, type IStoreFee, type IStoreSettings, type ISubscriber, type ISubscriberConsent, type ISubscription, type ISummaryPricing, type ITechSpec, type ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type Id, type InventoryPolicy, InventoryPolicyEnum, type Metadata, NOTIFICATION_TYPE_VALUES, NotificationTypeEnum, ORDER_LOG_TYPE_VALUES, ORDER_STATUS_VALUES, OrderLogTypeEnum, OrderStatusEnum, PAYMENT_GATEWAY_VALUES, PAYMENT_LINK_STATUS_VALUES, PAYMENT_METHOD_VALUES, PAYMENT_STATUS_VALUES, PRICING_TYPE_VALUES, PRODUCT_EVENT_TYPE_VALUES, type Paginated, PaymentGatewayEnum, PaymentLinkStatusEnum, PaymentMethodEnum, PaymentStatusEnum, type PricingType, PricingTypeEnum, ProductEventTypeEnum, type ProductVariantType, RETIRED_CART_STATUSES, type RedirectTargetType, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SoftDeleteFilter, type StockStatus, SubscriptionChannelEnum, SubscriptionTopicEnum, TRANSACTION_TYPE_VALUES, TransactionTypeEnum, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, addonUnitAmount, addonsUnitAmount, formatMoney, normalizeLineQuantity, normalizePath, notificationTypeColorMap, orderLogTypeColorMap, paymentGatewayColorMap, paymentLinkStatusColorMap, paymentMethodColorMap, paymentStatusColorMap, roundMoney, statusColors, typeColorMap };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/admin/interface.ts","../src/coupon/interface.ts","../src/addonConfig/interface.ts","../src/storeFee/interface.ts","../src/emailTemplate/interface.ts","../src/inventory/interface.ts","../src/path/index.ts","../src/pricing/index.ts","../src/order/interface.ts","../src/orderLog/interface.ts","../src/paymentLink/interface.ts","../src/cart/interface.ts","../src/subscriber/interface.ts","../src/campaign/interface.ts","../src/transaction/interface.ts","../src/analytics/interface.ts","../src/notification/interface.ts"],"sourcesContent":["export * from './address';\nexport * from './admin';\nexport * from './base';\nexport * from './common';\nexport * from './country';\nexport * from './customer';\nexport * from './state';\nexport * from './store';\nexport * from './currency';\nexport * from './contact';\nexport * from './coupon';\nexport * from './product';\nexport * from './productVariantOptions';\nexport * from './productTechnicalSpec';\nexport * from './addonConfig';\nexport * from './storeFee';\nexport * from './emailTemplate';\nexport * from './relationGroup';\nexport * from './inventory';\nexport * from './redirect';\nexport * from './path';\nexport * from './pricing';\nexport * from './variant';\nexport * from './productVariant';\nexport * from './order';\nexport * from './orderItem';\nexport * from './orderLog';\nexport * from './paymentLink';\nexport * from './cart';\nexport * from './cartItem';\nexport * from './subscriber';\nexport * from './campaign';\nexport * from './category';\nexport * from './brand';\nexport * from './stock';\nexport * from './transaction';\nexport * from './checkout';\nexport * from './analytics';\nexport * from './notification';\n","import type { BaseEntity } from '../base/interface';\n\nexport type IAdminRoleType =\n | 'Admin'\n | 'Super Admin'\n | 'Cashier'\n | 'Manager'\n | 'CEO'\n | 'Driver'\n | 'Security Guard'\n | 'Accountant';\n\nexport const ADMIN_ROLES: IAdminRoleType[] = [\n 'Admin',\n 'Super Admin',\n 'Cashier',\n 'Manager',\n 'CEO',\n 'Driver',\n 'Security Guard',\n 'Accountant',\n];\n\nexport interface IAdmin extends BaseEntity {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n status: boolean;\n password: string;\n role: IAdminRoleType;\n access_list: string[];\n joiningDate: Date;\n profileImage: string;\n lastLogin: Date;\n}\n\nexport type IAdminCreate = Omit<IAdmin, keyof BaseEntity>;\nexport type IAdminUpdate = Partial<IAdminCreate>;\nexport type IAdminSafe = Omit<IAdmin, 'password'>;\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const DiscountTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type DiscountTypeEnum = (typeof DiscountTypeEnum)[keyof typeof DiscountTypeEnum];\n\nexport interface IDiscountType {\n type: DiscountTypeEnum;\n value: number;\n}\n\nexport interface ICoupon extends BaseEntity {\n title: string;\n couponCode: string;\n startTime: Date;\n endTime: Date;\n discountType: IDiscountType;\n minimumAmount: number;\n isPromotional: boolean;\n status: boolean;\n stores: IStore[];\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const PricingTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type PricingType = (typeof PricingTypeEnum)[keyof typeof PricingTypeEnum];\nexport const PRICING_TYPE_VALUES = Object.values(PricingTypeEnum);\n\nexport interface IAddonConfig extends BaseEntity {\n name: string;\n key: string;\n description: string;\n stores: (IStore | string)[];\n price: number;\n pricingType: PricingType;\n quantity: number;\n sortOrder: number;\n isDefault: boolean;\n isVisible: boolean;\n status: boolean;\n}\n\nexport interface IAddonGroup extends BaseEntity {\n name: string;\n key: string;\n description: string;\n addons: IAddonConfig[];\n sortOrder: number;\n isVisible: boolean;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { PricingType } from \"../addonConfig\";\nimport type { IStore } from \"../store\";\n\nexport const FeeAppliesToEnum = {\n SUBTOTAL: \"SUBTOTAL\",\n TOTAL: \"TOTAL\",\n} as const;\n\nexport type FeeAppliesToEnum = (typeof FeeAppliesToEnum)[keyof typeof FeeAppliesToEnum];\nexport const FEE_APPLIES_TO_VALUES = Object.values(FeeAppliesToEnum);\n\nexport interface IStoreFee extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n description?: string;\n pricingType: PricingType;\n value: number;\n appliesTo: FeeAppliesToEnum;\n enabled: boolean;\n isVisible: boolean;\n sortOrder: number;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const EmailTemplateEventEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n WELCOME: \"WELCOME\",\n PASSWORD_RESET: \"PASSWORD_RESET\",\n QUOTE: \"QUOTE\",\n INVOICE: \"INVOICE\",\n PROMOTIONAL: \"PROMOTIONAL\",\n CONTACT_US: \"CONTACT_US\",\n NOTIFICATION: \"NOTIFICATION\",\n} as const;\n\nexport type EmailTemplateEventEnum = (typeof EmailTemplateEventEnum)[keyof typeof EmailTemplateEventEnum];\nexport const EMAIL_TEMPLATE_EVENT_VALUES = Object.values(EmailTemplateEventEnum);\n\nexport const WIRED_EMAIL_TEMPLATE_EVENTS: EmailTemplateEventEnum[] = [\n EmailTemplateEventEnum.ORDER_RECEIVED,\n EmailTemplateEventEnum.ORDER_CANCELLED,\n EmailTemplateEventEnum.QUOTE,\n EmailTemplateEventEnum.INVOICE,\n EmailTemplateEventEnum.WELCOME,\n EmailTemplateEventEnum.PASSWORD_RESET,\n EmailTemplateEventEnum.CONTACT_US,\n EmailTemplateEventEnum.NOTIFICATION,\n EmailTemplateEventEnum.PROMOTIONAL,\n];\n\nexport const EMAIL_TEMPLATE_VARIABLES_BY_EVENT: Partial<Record<EmailTemplateEventEnum, string[]>> = {\n [EmailTemplateEventEnum.ORDER_RECEIVED]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"shippingAddress\", \"billingAddress\", \"shippingMethod\",\n \"paymentMethod\", \"trackingUrl\",\n ],\n [EmailTemplateEventEnum.ORDER_CANCELLED]: [\"customerName\", \"orderId\", \"reason\", \"refundAmount\"],\n [EmailTemplateEventEnum.QUOTE]: [\"customerName\", \"itemsHtml\", \"subtotal\", \"discount\", \"grandTotal\", \"quoteLink\"],\n [EmailTemplateEventEnum.WELCOME]: [\"name\", \"appName\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PASSWORD_RESET]: [\"name\", \"resetUrl\", \"expiryLabel\"],\n [EmailTemplateEventEnum.CONTACT_US]: [\"customerName\", \"caseNumber\", \"department\", \"subjectSummary\"],\n [EmailTemplateEventEnum.INVOICE]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"amountDue\", \"shippingAddress\", \"billingAddress\", \"paymentLink\",\n ],\n [EmailTemplateEventEnum.NOTIFICATION]: [\"recipientName\", \"title\", \"message\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PROMOTIONAL]: [\"recipientName\", \"headline\", \"body\", \"ctaLabel\", \"ctaUrl\", \"unsubscribeUrl\"],\n};\n\nexport interface IEmailTemplate extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n event: EmailTemplateEventEnum;\n subject: string;\n headerHtml: string;\n bodyHtml: string;\n footerHtml: string;\n variables: string[];\n isVisible: boolean;\n status: boolean;\n}\n","export const InventoryPolicyEnum = {\n DENY: \"deny\",\n CONTINUE: \"continue\",\n} as const;\n\nexport type InventoryPolicy = (typeof InventoryPolicyEnum)[keyof typeof InventoryPolicyEnum];\n\nexport const INVENTORY_POLICY_VALUES: InventoryPolicy[] = Object.values(InventoryPolicyEnum);\n","export const normalizePath = (input: string): string => {\n if (!input || typeof input !== \"string\") return \"/\";\n\n let path = input.trim();\n\n if (/^https?:\\/\\//i.test(path)) {\n try {\n path = new URL(path).pathname;\n } catch {\n }\n }\n\n path = path.split(\"?\")[0].split(\"#\")[0];\n\n try {\n path = decodeURIComponent(path);\n } catch {\n }\n\n if (!path.startsWith(\"/\")) path = `/${path}`;\n path = path.replace(/\\/{2,}/g, \"/\").toLowerCase();\n\n if (path.length > 1) path = path.replace(/\\/+$/, \"\");\n\n return path || \"/\";\n};\n","import type { PricingType } from \"../addonConfig\";\n\nexport const roundMoney = (amount: number): number => {\n if (!Number.isFinite(amount)) return 0;\n return Math.round((amount + Number.EPSILON) * 100) / 100;\n};\n\nexport const formatMoney = (value: number, currencyCode: string = \"USD\"): string =>\n new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency: currencyCode }).format(value ?? 0);\n\nexport const normalizeLineQuantity = (quantity: number): number =>\n Math.max(1, Math.floor(Number(quantity)) || 1);\n\nexport interface AddonAmountInput {\n price: number;\n pricingType: PricingType;\n quantity: number;\n}\n\nexport const addonUnitAmount = (addon: AddonAmountInput, baseUnitPrice: number): number => {\n const value = Number.isFinite(addon.price) ? addon.price : 0;\n const quantity = Number.isFinite(addon.quantity) ? addon.quantity : 1;\n const amount = addon.pricingType === \"PERCENTAGE\" ? baseUnitPrice * (value / 100) : value;\n return roundMoney(amount * quantity);\n};\n\nexport const addonsUnitAmount = (addons: AddonAmountInput[], baseUnitPrice: number): number =>\n roundMoney(addons.reduce((sum, addon) => sum + addonUnitAmount(addon, baseUnitPrice), 0));\n","import type { BaseEntity } from \"../base\";\nimport type { IAddress } from \"../address\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IOrderItem } from \"../orderItem\";\nimport type { IStore } from \"../store\";\nimport type { IOrderTransaction, IRefundTransaction } from \"../transaction\";\nimport type { PaymentGatewayEnum, PaymentMethodEnum, PaymentStatusEnum } from \"../transaction\";\n\nexport const OrderStatusEnum = {\n CREATED: \"CREATED\",\n RECEIVED: \"RECEIVED\",\n PENDING: \"PENDING\",\n CONFIRMED: \"CONFIRMED\",\n PROCESSING: \"PROCESSING\",\n SHIPPED: \"SHIPPED\",\n DELIVERED: \"DELIVERED\",\n CANCELED: \"CANCELED\",\n FAILED: \"FAILED\",\n REFUNDED: \"REFUNDED\",\n PARTIALLY_REFUNDED: \"PARTIALLY_REFUNDED\",\n ARCHIVED: \"ARCHIVED\",\n RETURNED: \"RETURNED\",\n} as const;\n\nexport type OrderStatusEnum = (typeof OrderStatusEnum)[keyof typeof OrderStatusEnum];\nexport const ORDER_STATUS_VALUES = Object.values(OrderStatusEnum);\n\nexport const statusColors: Record<OrderStatusEnum, string> = {\n [OrderStatusEnum.CREATED]: \"default\",\n [OrderStatusEnum.RECEIVED]: \"cyan\",\n [OrderStatusEnum.PENDING]: \"gold\",\n [OrderStatusEnum.CONFIRMED]: \"blue\",\n [OrderStatusEnum.PROCESSING]: \"cyan\",\n [OrderStatusEnum.SHIPPED]: \"purple\",\n [OrderStatusEnum.DELIVERED]: \"green\",\n [OrderStatusEnum.CANCELED]: \"volcano\",\n [OrderStatusEnum.FAILED]: \"red\",\n [OrderStatusEnum.REFUNDED]: \"orange\",\n [OrderStatusEnum.PARTIALLY_REFUNDED]: \"magenta\",\n [OrderStatusEnum.ARCHIVED]: \"gray\",\n [OrderStatusEnum.RETURNED]: \"purple\",\n};\n\nexport interface IOrderTracking {\n number: string;\n url: string;\n carrier: string;\n}\n\nexport interface IOrder extends BaseEntity {\n orderId: string;\n orderItems: IOrderItem[];\n customer: ICustomer;\n coupon: ICoupon;\n store: IStore;\n status: OrderStatusEnum;\n paymentStatus: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n paymentGateway: PaymentGatewayEnum;\n shippingAddress: IAddress;\n billingAddress: IAddress;\n shippingMethod: string;\n tracking: IOrderTracking;\n acceptedTermsAt: Date;\n customerNote: string;\n metaData: Metadata;\n orderTransactions: IOrderTransaction[];\n refundTransactions: IRefundTransaction[];\n pricing: ISummaryPricing;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\n\nexport const OrderLogTypeEnum = {\n ORDER_PLACED: \"ORDER_PLACED\",\n PAYMENT_PENDING: \"PAYMENT_PENDING\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n PAYMENT_CANCELLED: \"PAYMENT_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n REFUND: \"REFUND\",\n EMAIL: \"EMAIL\",\n NOTE: \"NOTE\",\n} as const;\n\nexport type OrderLogTypeEnum = (typeof OrderLogTypeEnum)[keyof typeof OrderLogTypeEnum];\nexport const ORDER_LOG_TYPE_VALUES = Object.values(OrderLogTypeEnum);\n\nexport const orderLogTypeColorMap: Record<OrderLogTypeEnum, string> = {\n [OrderLogTypeEnum.ORDER_PLACED]: \"blue\",\n [OrderLogTypeEnum.PAYMENT_PENDING]: \"gold\",\n [OrderLogTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [OrderLogTypeEnum.PAYMENT_FAILED]: \"red\",\n [OrderLogTypeEnum.PAYMENT_CANCELLED]: \"volcano\",\n [OrderLogTypeEnum.ORDER_STATUS]: \"cyan\",\n [OrderLogTypeEnum.REFUND]: \"purple\",\n [OrderLogTypeEnum.EMAIL]: \"geekblue\",\n [OrderLogTypeEnum.NOTE]: \"default\",\n};\n\nexport interface IOrderLog extends BaseEntity {\n order: IOrder | string;\n type: OrderLogTypeEnum;\n message: string;\n actor?: string;\n meta?: Metadata;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IOrder } from \"../order\";\nimport type { PaymentGatewayEnum } from \"../transaction\";\n\nexport const PaymentLinkStatusEnum = {\n PENDING: \"PENDING\",\n PAID: \"PAID\",\n EXPIRED: \"EXPIRED\",\n CANCELLED: \"CANCELLED\",\n} as const;\n\nexport type PaymentLinkStatusEnum = (typeof PaymentLinkStatusEnum)[keyof typeof PaymentLinkStatusEnum];\nexport const PAYMENT_LINK_STATUS_VALUES = Object.values(PaymentLinkStatusEnum);\n\nexport const paymentLinkStatusColorMap: Record<PaymentLinkStatusEnum, string> = {\n [PaymentLinkStatusEnum.PENDING]: \"gold\",\n [PaymentLinkStatusEnum.PAID]: \"green\",\n [PaymentLinkStatusEnum.EXPIRED]: \"default\",\n [PaymentLinkStatusEnum.CANCELLED]: \"volcano\",\n};\n\nexport interface IPaymentLink extends BaseEntity {\n order: IOrder | string;\n token: string;\n amount: number;\n currencyCode: string;\n gateway: PaymentGatewayEnum;\n status: PaymentLinkStatusEnum;\n expiresAt?: string | Date;\n paidAt?: string | Date;\n transaction?: string;\n createdBy?: string;\n baseUrl: string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\nimport type { ICartItem } from \"../cartItem\";\nimport type { IOrder } from \"../order\";\n\n\nexport const CartStatusEnum = {\n ACTIVE: \"ACTIVE\",\n CONVERTED: \"CONVERTED\",\n QUOTED: \"QUOTED\",\n ABANDONED: \"ABANDONED\",\n} as const;\n\nexport type CartStatusEnum = (typeof CartStatusEnum)[keyof typeof CartStatusEnum];\nexport const CART_STATUS_VALUES = Object.values(CartStatusEnum);\nexport const RETIRED_CART_STATUSES: CartStatusEnum[] = [\n CartStatusEnum.CONVERTED,\n CartStatusEnum.QUOTED,\n CartStatusEnum.ABANDONED,\n];\n\n\nexport interface ICart extends BaseEntity {\n cartId: string;\n cartItems: ICartItem[];\n user?: ICustomer;\n coupon?: ICoupon;\n store: IStore;\n metaData: Metadata;\n pricing: ISummaryPricing;\n status: CartStatusEnum;\n order?: IOrder | string;\n convertedAt?: Date;\n quoteToken?: string;\n quotedAt?: Date;\n quoteEmail?: string;\n sourceCart?: ICart | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\n\nexport const SubscriptionChannelEnum = {\n EMAIL: \"EMAIL\",\n SMS: \"SMS\",\n PUSH: \"PUSH\",\n} as const;\n\nexport type SubscriptionChannelEnum = (typeof SubscriptionChannelEnum)[keyof typeof SubscriptionChannelEnum];\nexport const SUBSCRIPTION_CHANNEL_VALUES = Object.values(SubscriptionChannelEnum);\n\nexport const ACTIVE_SUBSCRIPTION_CHANNELS: SubscriptionChannelEnum[] = [SubscriptionChannelEnum.EMAIL];\n\nexport const SubscriptionTopicEnum = {\n PROMOTIONAL: \"PROMOTIONAL\",\n NEWSLETTER: \"NEWSLETTER\",\n BACK_IN_STOCK: \"BACK_IN_STOCK\",\n PRICE_DROP: \"PRICE_DROP\",\n} as const;\n\nexport type SubscriptionTopicEnum = (typeof SubscriptionTopicEnum)[keyof typeof SubscriptionTopicEnum];\nexport const SUBSCRIPTION_TOPIC_VALUES = Object.values(SubscriptionTopicEnum);\n\nexport const SUBSCRIPTION_TOPIC_LABELS: Record<SubscriptionTopicEnum, string> = {\n [SubscriptionTopicEnum.PROMOTIONAL]: \"Promotional\",\n [SubscriptionTopicEnum.NEWSLETTER]: \"Newsletter\",\n [SubscriptionTopicEnum.BACK_IN_STOCK]: \"Back in stock\",\n [SubscriptionTopicEnum.PRICE_DROP]: \"Price drop\",\n};\n\nexport const DEFAULT_SUBSCRIPTION_TOPICS: SubscriptionTopicEnum[] = [\n SubscriptionTopicEnum.PROMOTIONAL,\n SubscriptionTopicEnum.NEWSLETTER,\n];\n\nexport interface ISubscription {\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n subscribed: boolean;\n source?: string;\n updatedAt?: Date | string;\n}\n\nexport interface ISubscriberConsent {\n source?: string;\n ip?: string;\n at?: Date | string;\n}\n\nexport interface ISubscriber extends BaseEntity {\n email: string;\n phone?: string;\n customer?: ICustomer | string;\n firstName?: string;\n lastName?: string;\n stores?: (IStore | string)[];\n subscriptions: ISubscription[];\n consent?: ISubscriberConsent;\n unsubscribeToken?: string;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\nimport type { ISubscriber } from \"../subscriber\";\nimport type { SubscriptionChannelEnum, SubscriptionTopicEnum } from \"../subscriber\";\n\nexport const CampaignStatusEnum = {\n SENDING: \"SENDING\",\n SENT: \"SENT\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignStatusEnum = (typeof CampaignStatusEnum)[keyof typeof CampaignStatusEnum];\nexport const CAMPAIGN_STATUS_VALUES = Object.values(CampaignStatusEnum);\n\nexport const CampaignRecipientStatusEnum = {\n QUEUED: \"QUEUED\",\n SENT: \"SENT\",\n DELIVERED: \"DELIVERED\",\n OPENED: \"OPENED\",\n CLICKED: \"CLICKED\",\n BOUNCED: \"BOUNCED\",\n COMPLAINED: \"COMPLAINED\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignRecipientStatusEnum = (typeof CampaignRecipientStatusEnum)[keyof typeof CampaignRecipientStatusEnum];\nexport const CAMPAIGN_RECIPIENT_STATUS_VALUES = Object.values(CampaignRecipientStatusEnum);\n\nexport interface ICampaignStats {\n sent: number;\n delivered: number;\n opened: number;\n clicked: number;\n bounced: number;\n complained: number;\n failed: number;\n}\n\nexport interface ICampaign extends BaseEntity {\n headline: string;\n body: string;\n ctaLabel?: string;\n ctaUrl?: string;\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n store?: IStore | string;\n status: CampaignStatusEnum;\n recipientCount: number;\n stats: ICampaignStats;\n createdBy?: string;\n sentAt?: Date | string;\n}\n\nexport interface ICampaignRecipient extends BaseEntity {\n campaign: ICampaign | string;\n subscriber?: ISubscriber | string;\n email: string;\n resendEmailId?: string;\n status: CampaignRecipientStatusEnum;\n openedAt?: Date | string;\n clickedAt?: Date | string;\n lastEventAt?: Date | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { ICurrency } from \"../currency\";\n\nexport const PaymentStatusEnum = {\n INITIATED: 'INITIATED',\n PENDING: 'PENDING',\n PROCESSING: 'PROCESSING',\n FAILED: 'FAILED',\n CANCELLED: 'CANCELLED',\n PENDING_CAPTURE: 'PENDING_CAPTURE',\n COMPLETED: 'COMPLETED',\n VOIDED: 'VOIDED',\n REDIRECTED_TO_GATEWAY: 'REDIRECTED_TO_GATEWAY',\n UNKNOWN: 'UNKNOWN',\n REFUNDED: 'REFUNDED',\n PARTIALLY_REFUNDED: 'PARTIALLY_REFUNDED',\n} as const;\n\nexport type PaymentStatusEnum = (typeof PaymentStatusEnum)[keyof typeof PaymentStatusEnum];\nexport const PAYMENT_STATUS_VALUES = Object.values(PaymentStatusEnum);\n\nexport const paymentStatusColorMap: Record<PaymentStatusEnum, string> = {\n [PaymentStatusEnum.INITIATED]: 'default',\n [PaymentStatusEnum.PENDING]: 'gold',\n [PaymentStatusEnum.PROCESSING]: 'cyan',\n [PaymentStatusEnum.FAILED]: 'red',\n [PaymentStatusEnum.CANCELLED]: 'volcano',\n [PaymentStatusEnum.PENDING_CAPTURE]: 'blue',\n [PaymentStatusEnum.COMPLETED]: 'green',\n [PaymentStatusEnum.VOIDED]: 'magenta',\n [PaymentStatusEnum.REDIRECTED_TO_GATEWAY]: 'purple',\n [PaymentStatusEnum.UNKNOWN]: 'gray',\n [PaymentStatusEnum.REFUNDED]: 'orange',\n [PaymentStatusEnum.PARTIALLY_REFUNDED]: 'magenta',\n};\n\nexport const PaymentMethodEnum = {\n CREDIT_CARD: 'CREDIT_CARD',\n PAYPAL: 'PAYPAL',\n STRIPE: 'STRIPE',\n CHECK: 'CHECK',\n APPLE_PAY: 'APPLE_PAY',\n PURCHASE_ORDER: 'PURCHASE_ORDER',\n} as const;\n\nexport type PaymentMethodEnum = (typeof PaymentMethodEnum)[keyof typeof PaymentMethodEnum];\nexport const PAYMENT_METHOD_VALUES = Object.values(PaymentMethodEnum);\n\nexport const paymentMethodColorMap: Record<PaymentMethodEnum, string> = {\n [PaymentMethodEnum.CREDIT_CARD]: 'blue',\n [PaymentMethodEnum.PAYPAL]: 'geekblue',\n [PaymentMethodEnum.STRIPE]: 'purple',\n [PaymentMethodEnum.CHECK]: 'orange',\n [PaymentMethodEnum.APPLE_PAY]: 'black',\n [PaymentMethodEnum.PURCHASE_ORDER]: 'gold',\n};\n\nexport const PaymentGatewayEnum = {\n STRIPE: 'STRIPE',\n PAYPAL: 'PAYPAL',\n BRAINTREE: 'BRAINTREE',\n MANUAL: 'MANUAL',\n} as const;\n\nexport type PaymentGatewayEnum = (typeof PaymentGatewayEnum)[keyof typeof PaymentGatewayEnum];\nexport const PAYMENT_GATEWAY_VALUES = Object.values(PaymentGatewayEnum);\n\nexport const paymentGatewayColorMap: Record<PaymentGatewayEnum, string> = {\n [PaymentGatewayEnum.STRIPE]: 'purple',\n [PaymentGatewayEnum.PAYPAL]: 'geekblue',\n [PaymentGatewayEnum.BRAINTREE]: 'cyan',\n [PaymentGatewayEnum.MANUAL]: 'gold',\n};\n\nexport const TransactionTypeEnum = {\n ORDER: \"ORDER\",\n REFUND: \"REFUND\",\n} as const;\n\nexport type TransactionTypeEnum = (typeof TransactionTypeEnum)[keyof typeof TransactionTypeEnum];\n\nexport const TRANSACTION_TYPE_VALUES = Object.values(TransactionTypeEnum);\n\nexport const typeColorMap: Record<TransactionTypeEnum, string> = {\n [TransactionTypeEnum.ORDER]: \"blue\",\n [TransactionTypeEnum.REFUND]: \"purple\",\n};\n\nexport interface ITransactionBase extends BaseEntity {\n order: IOrder;\n currency: ICurrency;\n transactionId: string;\n amount: number;\n status: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n gateway?: PaymentGatewayEnum;\n gatewayId?: string;\n metaData?: Metadata;\n comment?: string;\n isPaymentLink?: boolean;\n refundedAmount?: number;\n proofFileId?: string;\n}\n\nexport interface IOrderTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.ORDER;\n}\n\nexport interface IRefundTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.REFUND;\n originalTransaction?: ITransactionBase;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IProduct } from \"../product\";\nimport type { IStore } from \"../store\";\n\nexport const ProductEventTypeEnum = {\n VIEW: \"view\",\n ADD_TO_CART: \"add_to_cart\",\n PURCHASE: \"purchase\",\n} as const;\n\nexport type ProductEventTypeEnum = (typeof ProductEventTypeEnum)[keyof typeof ProductEventTypeEnum];\nexport const PRODUCT_EVENT_TYPE_VALUES = Object.values(ProductEventTypeEnum);\n\nexport interface IProductDailyStat extends BaseEntity {\n product: IProduct | string;\n store?: IStore | string | null;\n date: string;\n views: number;\n addToCarts: number;\n purchases: number;\n revenue: number;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { IStore } from \"../store\";\n\nexport const NotificationTypeEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n REFUND: \"REFUND\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n} as const;\n\nexport type NotificationTypeEnum = (typeof NotificationTypeEnum)[keyof typeof NotificationTypeEnum];\nexport const NOTIFICATION_TYPE_VALUES = Object.values(NotificationTypeEnum);\n\nexport const notificationTypeColorMap: Record<NotificationTypeEnum, string> = {\n [NotificationTypeEnum.ORDER_RECEIVED]: \"blue\",\n [NotificationTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [NotificationTypeEnum.PAYMENT_FAILED]: \"red\",\n [NotificationTypeEnum.REFUND]: \"purple\",\n [NotificationTypeEnum.ORDER_CANCELLED]: \"volcano\",\n [NotificationTypeEnum.ORDER_STATUS]: \"cyan\",\n};\n\nexport interface INotification extends BaseEntity {\n type: NotificationTypeEnum;\n title: string;\n message: string;\n order?: IOrder | string | null;\n store?: IStore | string | null;\n read: boolean;\n readAt?: Date | null;\n meta?: Metadata;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/admin/interface.ts","../src/coupon/interface.ts","../src/addonConfig/interface.ts","../src/storeFee/interface.ts","../src/emailTemplate/interface.ts","../src/inventory/interface.ts","../src/path/index.ts","../src/pricing/index.ts","../src/order/interface.ts","../src/orderLog/interface.ts","../src/paymentLink/interface.ts","../src/cart/interface.ts","../src/subscriber/interface.ts","../src/campaign/interface.ts","../src/transaction/interface.ts","../src/analytics/interface.ts","../src/notification/interface.ts"],"sourcesContent":["export * from './address';\nexport * from './admin';\nexport * from './base';\nexport * from './common';\nexport * from './country';\nexport * from './customer';\nexport * from './state';\nexport * from './store';\nexport * from './currency';\nexport * from './contact';\nexport * from './coupon';\nexport * from './product';\nexport * from './productVariantOptions';\nexport * from './productTechnicalSpec';\nexport * from './addonConfig';\nexport * from './storeFee';\nexport * from './emailTemplate';\nexport * from './relationGroup';\nexport * from './inventory';\nexport * from './redirect';\nexport * from './path';\nexport * from './pricing';\nexport * from './variant';\nexport * from './productVariant';\nexport * from './order';\nexport * from './orderItem';\nexport * from './orderLog';\nexport * from './paymentLink';\nexport * from './cart';\nexport * from './cartItem';\nexport * from './subscriber';\nexport * from './campaign';\nexport * from './category';\nexport * from './brand';\nexport * from './stock';\nexport * from './transaction';\nexport * from './checkout';\nexport * from './analytics';\nexport * from './notification';\nexport * from './shipping';\n","import type { BaseEntity } from '../base/interface';\n\nexport type IAdminRoleType =\n | 'Admin'\n | 'Super Admin'\n | 'Cashier'\n | 'Manager'\n | 'CEO'\n | 'Driver'\n | 'Security Guard'\n | 'Accountant';\n\nexport const ADMIN_ROLES: IAdminRoleType[] = [\n 'Admin',\n 'Super Admin',\n 'Cashier',\n 'Manager',\n 'CEO',\n 'Driver',\n 'Security Guard',\n 'Accountant',\n];\n\nexport interface IAdmin extends BaseEntity {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n status: boolean;\n password: string;\n role: IAdminRoleType;\n access_list: string[];\n joiningDate: Date;\n profileImage: string;\n lastLogin: Date;\n}\n\nexport type IAdminCreate = Omit<IAdmin, keyof BaseEntity>;\nexport type IAdminUpdate = Partial<IAdminCreate>;\nexport type IAdminSafe = Omit<IAdmin, 'password'>;\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const DiscountTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type DiscountTypeEnum = (typeof DiscountTypeEnum)[keyof typeof DiscountTypeEnum];\n\nexport interface IDiscountType {\n type: DiscountTypeEnum;\n value: number;\n}\n\nexport interface ICoupon extends BaseEntity {\n title: string;\n couponCode: string;\n startTime: Date;\n endTime: Date;\n discountType: IDiscountType;\n minimumAmount: number;\n isPromotional: boolean;\n status: boolean;\n stores: IStore[];\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const PricingTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type PricingType = (typeof PricingTypeEnum)[keyof typeof PricingTypeEnum];\nexport const PRICING_TYPE_VALUES = Object.values(PricingTypeEnum);\n\nexport interface IAddonConfig extends BaseEntity {\n name: string;\n key: string;\n description: string;\n stores: (IStore | string)[];\n price: number;\n pricingType: PricingType;\n quantity: number;\n sortOrder: number;\n isDefault: boolean;\n isVisible: boolean;\n status: boolean;\n}\n\nexport interface IAddonGroup extends BaseEntity {\n name: string;\n key: string;\n description: string;\n addons: IAddonConfig[];\n sortOrder: number;\n isVisible: boolean;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { PricingType } from \"../addonConfig\";\nimport type { IStore } from \"../store\";\n\nexport const FeeAppliesToEnum = {\n SUBTOTAL: \"SUBTOTAL\",\n TOTAL: \"TOTAL\",\n} as const;\n\nexport type FeeAppliesToEnum = (typeof FeeAppliesToEnum)[keyof typeof FeeAppliesToEnum];\nexport const FEE_APPLIES_TO_VALUES = Object.values(FeeAppliesToEnum);\n\nexport interface IStoreFee extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n description?: string;\n pricingType: PricingType;\n value: number;\n appliesTo: FeeAppliesToEnum;\n enabled: boolean;\n isVisible: boolean;\n optional: boolean;\n defaultSelected: boolean;\n sortOrder: number;\n status: boolean;\n}\n\nexport interface ISelectableFee {\n key: string;\n name: string;\n description?: string;\n pricingType: PricingType;\n value: number;\n appliesTo: FeeAppliesToEnum;\n optional: boolean;\n selected: boolean;\n amount: number;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const EmailTemplateEventEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n WELCOME: \"WELCOME\",\n PASSWORD_RESET: \"PASSWORD_RESET\",\n QUOTE: \"QUOTE\",\n INVOICE: \"INVOICE\",\n PROMOTIONAL: \"PROMOTIONAL\",\n CONTACT_US: \"CONTACT_US\",\n NOTIFICATION: \"NOTIFICATION\",\n} as const;\n\nexport type EmailTemplateEventEnum = (typeof EmailTemplateEventEnum)[keyof typeof EmailTemplateEventEnum];\nexport const EMAIL_TEMPLATE_EVENT_VALUES = Object.values(EmailTemplateEventEnum);\n\nexport const WIRED_EMAIL_TEMPLATE_EVENTS: EmailTemplateEventEnum[] = [\n EmailTemplateEventEnum.ORDER_RECEIVED,\n EmailTemplateEventEnum.ORDER_CANCELLED,\n EmailTemplateEventEnum.QUOTE,\n EmailTemplateEventEnum.INVOICE,\n EmailTemplateEventEnum.WELCOME,\n EmailTemplateEventEnum.PASSWORD_RESET,\n EmailTemplateEventEnum.CONTACT_US,\n EmailTemplateEventEnum.NOTIFICATION,\n EmailTemplateEventEnum.PROMOTIONAL,\n];\n\nexport const EMAIL_TEMPLATE_VARIABLES_BY_EVENT: Partial<Record<EmailTemplateEventEnum, string[]>> = {\n [EmailTemplateEventEnum.ORDER_RECEIVED]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"shippingAddress\", \"billingAddress\", \"shippingMethod\",\n \"paymentMethod\", \"trackingUrl\",\n ],\n [EmailTemplateEventEnum.ORDER_CANCELLED]: [\"customerName\", \"orderId\", \"reason\", \"refundAmount\"],\n [EmailTemplateEventEnum.QUOTE]: [\"customerName\", \"itemsHtml\", \"subtotal\", \"discount\", \"grandTotal\", \"quoteLink\"],\n [EmailTemplateEventEnum.WELCOME]: [\"name\", \"appName\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PASSWORD_RESET]: [\"name\", \"resetUrl\", \"expiryLabel\"],\n [EmailTemplateEventEnum.CONTACT_US]: [\"customerName\", \"caseNumber\", \"department\", \"subjectSummary\"],\n [EmailTemplateEventEnum.INVOICE]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"amountDue\", \"shippingAddress\", \"billingAddress\", \"paymentLink\",\n ],\n [EmailTemplateEventEnum.NOTIFICATION]: [\"recipientName\", \"title\", \"message\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PROMOTIONAL]: [\"recipientName\", \"headline\", \"body\", \"ctaLabel\", \"ctaUrl\", \"unsubscribeUrl\"],\n};\n\nexport interface IEmailTemplate extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n event: EmailTemplateEventEnum;\n subject: string;\n headerHtml: string;\n bodyHtml: string;\n footerHtml: string;\n variables: string[];\n isVisible: boolean;\n status: boolean;\n}\n","export const InventoryPolicyEnum = {\n DENY: \"deny\",\n CONTINUE: \"continue\",\n} as const;\n\nexport type InventoryPolicy = (typeof InventoryPolicyEnum)[keyof typeof InventoryPolicyEnum];\n\nexport const INVENTORY_POLICY_VALUES: InventoryPolicy[] = Object.values(InventoryPolicyEnum);\n","export const normalizePath = (input: string): string => {\n if (!input || typeof input !== \"string\") return \"/\";\n\n let path = input.trim();\n\n if (/^https?:\\/\\//i.test(path)) {\n try {\n path = new URL(path).pathname;\n } catch {\n }\n }\n\n path = path.split(\"?\")[0].split(\"#\")[0];\n\n try {\n path = decodeURIComponent(path);\n } catch {\n }\n\n if (!path.startsWith(\"/\")) path = `/${path}`;\n path = path.replace(/\\/{2,}/g, \"/\").toLowerCase();\n\n if (path.length > 1) path = path.replace(/\\/+$/, \"\");\n\n return path || \"/\";\n};\n","import type { PricingType } from \"../addonConfig\";\n\nexport const roundMoney = (amount: number): number => {\n if (!Number.isFinite(amount)) return 0;\n return Math.round((amount + Number.EPSILON) * 100) / 100;\n};\n\nexport const formatMoney = (value: number, currencyCode: string = \"USD\"): string =>\n new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency: currencyCode }).format(value ?? 0);\n\nexport const normalizeLineQuantity = (quantity: number): number =>\n Math.max(1, Math.floor(Number(quantity)) || 1);\n\nexport interface AddonAmountInput {\n price: number;\n pricingType: PricingType;\n quantity: number;\n}\n\nexport const addonUnitAmount = (addon: AddonAmountInput, baseUnitPrice: number): number => {\n const value = Number.isFinite(addon.price) ? addon.price : 0;\n const quantity = Number.isFinite(addon.quantity) ? addon.quantity : 1;\n const amount = addon.pricingType === \"PERCENTAGE\" ? baseUnitPrice * (value / 100) : value;\n return roundMoney(amount * quantity);\n};\n\nexport const addonsUnitAmount = (addons: AddonAmountInput[], baseUnitPrice: number): number =>\n roundMoney(addons.reduce((sum, addon) => sum + addonUnitAmount(addon, baseUnitPrice), 0));\n","import type { BaseEntity } from \"../base\";\nimport type { IAddress } from \"../address\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IOrderItem } from \"../orderItem\";\nimport type { IStore } from \"../store\";\nimport type { IOrderTransaction, IRefundTransaction } from \"../transaction\";\nimport type { PaymentGatewayEnum, PaymentMethodEnum, PaymentStatusEnum } from \"../transaction\";\n\nexport const OrderStatusEnum = {\n CREATED: \"CREATED\",\n RECEIVED: \"RECEIVED\",\n PENDING: \"PENDING\",\n CONFIRMED: \"CONFIRMED\",\n PROCESSING: \"PROCESSING\",\n SHIPPED: \"SHIPPED\",\n DELIVERED: \"DELIVERED\",\n CANCELED: \"CANCELED\",\n FAILED: \"FAILED\",\n REFUNDED: \"REFUNDED\",\n PARTIALLY_REFUNDED: \"PARTIALLY_REFUNDED\",\n ARCHIVED: \"ARCHIVED\",\n RETURNED: \"RETURNED\",\n} as const;\n\nexport type OrderStatusEnum = (typeof OrderStatusEnum)[keyof typeof OrderStatusEnum];\nexport const ORDER_STATUS_VALUES = Object.values(OrderStatusEnum);\n\nexport const statusColors: Record<OrderStatusEnum, string> = {\n [OrderStatusEnum.CREATED]: \"default\",\n [OrderStatusEnum.RECEIVED]: \"cyan\",\n [OrderStatusEnum.PENDING]: \"gold\",\n [OrderStatusEnum.CONFIRMED]: \"blue\",\n [OrderStatusEnum.PROCESSING]: \"cyan\",\n [OrderStatusEnum.SHIPPED]: \"purple\",\n [OrderStatusEnum.DELIVERED]: \"green\",\n [OrderStatusEnum.CANCELED]: \"volcano\",\n [OrderStatusEnum.FAILED]: \"red\",\n [OrderStatusEnum.REFUNDED]: \"orange\",\n [OrderStatusEnum.PARTIALLY_REFUNDED]: \"magenta\",\n [OrderStatusEnum.ARCHIVED]: \"gray\",\n [OrderStatusEnum.RETURNED]: \"purple\",\n};\n\nexport interface IOrderTracking {\n number: string;\n url: string;\n carrier: string;\n}\n\nexport interface IOrder extends BaseEntity {\n orderId: string;\n orderItems: IOrderItem[];\n customer: ICustomer;\n coupon: ICoupon;\n store: IStore;\n status: OrderStatusEnum;\n paymentStatus: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n paymentGateway: PaymentGatewayEnum;\n shippingAddress: IAddress;\n billingAddress: IAddress;\n shippingMethod: string;\n tracking: IOrderTracking;\n acceptedTermsAt: Date;\n customerNote: string;\n metaData: Metadata;\n orderTransactions: IOrderTransaction[];\n refundTransactions: IRefundTransaction[];\n pricing: ISummaryPricing;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\n\nexport const OrderLogTypeEnum = {\n ORDER_PLACED: \"ORDER_PLACED\",\n PAYMENT_PENDING: \"PAYMENT_PENDING\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n PAYMENT_CANCELLED: \"PAYMENT_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n REFUND: \"REFUND\",\n EMAIL: \"EMAIL\",\n NOTE: \"NOTE\",\n} as const;\n\nexport type OrderLogTypeEnum = (typeof OrderLogTypeEnum)[keyof typeof OrderLogTypeEnum];\nexport const ORDER_LOG_TYPE_VALUES = Object.values(OrderLogTypeEnum);\n\nexport const orderLogTypeColorMap: Record<OrderLogTypeEnum, string> = {\n [OrderLogTypeEnum.ORDER_PLACED]: \"blue\",\n [OrderLogTypeEnum.PAYMENT_PENDING]: \"gold\",\n [OrderLogTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [OrderLogTypeEnum.PAYMENT_FAILED]: \"red\",\n [OrderLogTypeEnum.PAYMENT_CANCELLED]: \"volcano\",\n [OrderLogTypeEnum.ORDER_STATUS]: \"cyan\",\n [OrderLogTypeEnum.REFUND]: \"purple\",\n [OrderLogTypeEnum.EMAIL]: \"geekblue\",\n [OrderLogTypeEnum.NOTE]: \"default\",\n};\n\nexport interface IOrderLog extends BaseEntity {\n order: IOrder | string;\n type: OrderLogTypeEnum;\n message: string;\n actor?: string;\n meta?: Metadata;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IOrder } from \"../order\";\nimport type { PaymentGatewayEnum } from \"../transaction\";\n\nexport const PaymentLinkStatusEnum = {\n PENDING: \"PENDING\",\n PAID: \"PAID\",\n EXPIRED: \"EXPIRED\",\n CANCELLED: \"CANCELLED\",\n} as const;\n\nexport type PaymentLinkStatusEnum = (typeof PaymentLinkStatusEnum)[keyof typeof PaymentLinkStatusEnum];\nexport const PAYMENT_LINK_STATUS_VALUES = Object.values(PaymentLinkStatusEnum);\n\nexport const paymentLinkStatusColorMap: Record<PaymentLinkStatusEnum, string> = {\n [PaymentLinkStatusEnum.PENDING]: \"gold\",\n [PaymentLinkStatusEnum.PAID]: \"green\",\n [PaymentLinkStatusEnum.EXPIRED]: \"default\",\n [PaymentLinkStatusEnum.CANCELLED]: \"volcano\",\n};\n\nexport interface IPaymentLink extends BaseEntity {\n order: IOrder | string;\n token: string;\n amount: number;\n currencyCode: string;\n gateway: PaymentGatewayEnum;\n status: PaymentLinkStatusEnum;\n expiresAt?: string | Date;\n paidAt?: string | Date;\n transaction?: string;\n createdBy?: string;\n baseUrl: string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\nimport type { ICartItem } from \"../cartItem\";\nimport type { IOrder } from \"../order\";\nimport type { IShippingRate } from \"../shipping\";\n\n\nexport const CartStatusEnum = {\n ACTIVE: \"ACTIVE\",\n CONVERTED: \"CONVERTED\",\n QUOTED: \"QUOTED\",\n ABANDONED: \"ABANDONED\",\n} as const;\n\nexport type CartStatusEnum = (typeof CartStatusEnum)[keyof typeof CartStatusEnum];\nexport const CART_STATUS_VALUES = Object.values(CartStatusEnum);\nexport const RETIRED_CART_STATUSES: CartStatusEnum[] = [\n CartStatusEnum.CONVERTED,\n CartStatusEnum.QUOTED,\n CartStatusEnum.ABANDONED,\n];\n\n\nexport interface ICart extends BaseEntity {\n cartId: string;\n cartItems: ICartItem[];\n user?: ICustomer;\n coupon?: ICoupon;\n store: IStore;\n metaData: Metadata;\n optionalFees?: Record<string, boolean>;\n pricing: ISummaryPricing;\n selectedShippingRate?: IShippingRate;\n status: CartStatusEnum;\n order?: IOrder | string;\n convertedAt?: Date;\n quoteToken?: string;\n quotedAt?: Date;\n quoteEmail?: string;\n sourceCart?: ICart | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\n\nexport const SubscriptionChannelEnum = {\n EMAIL: \"EMAIL\",\n SMS: \"SMS\",\n PUSH: \"PUSH\",\n} as const;\n\nexport type SubscriptionChannelEnum = (typeof SubscriptionChannelEnum)[keyof typeof SubscriptionChannelEnum];\nexport const SUBSCRIPTION_CHANNEL_VALUES = Object.values(SubscriptionChannelEnum);\n\nexport const ACTIVE_SUBSCRIPTION_CHANNELS: SubscriptionChannelEnum[] = [SubscriptionChannelEnum.EMAIL];\n\nexport const SubscriptionTopicEnum = {\n PROMOTIONAL: \"PROMOTIONAL\",\n NEWSLETTER: \"NEWSLETTER\",\n BACK_IN_STOCK: \"BACK_IN_STOCK\",\n PRICE_DROP: \"PRICE_DROP\",\n} as const;\n\nexport type SubscriptionTopicEnum = (typeof SubscriptionTopicEnum)[keyof typeof SubscriptionTopicEnum];\nexport const SUBSCRIPTION_TOPIC_VALUES = Object.values(SubscriptionTopicEnum);\n\nexport const SUBSCRIPTION_TOPIC_LABELS: Record<SubscriptionTopicEnum, string> = {\n [SubscriptionTopicEnum.PROMOTIONAL]: \"Promotional\",\n [SubscriptionTopicEnum.NEWSLETTER]: \"Newsletter\",\n [SubscriptionTopicEnum.BACK_IN_STOCK]: \"Back in stock\",\n [SubscriptionTopicEnum.PRICE_DROP]: \"Price drop\",\n};\n\nexport const DEFAULT_SUBSCRIPTION_TOPICS: SubscriptionTopicEnum[] = [\n SubscriptionTopicEnum.PROMOTIONAL,\n SubscriptionTopicEnum.NEWSLETTER,\n];\n\nexport interface ISubscription {\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n subscribed: boolean;\n source?: string;\n updatedAt?: Date | string;\n}\n\nexport interface ISubscriberConsent {\n source?: string;\n ip?: string;\n at?: Date | string;\n}\n\nexport interface ISubscriber extends BaseEntity {\n email: string;\n phone?: string;\n customer?: ICustomer | string;\n firstName?: string;\n lastName?: string;\n stores?: (IStore | string)[];\n subscriptions: ISubscription[];\n consent?: ISubscriberConsent;\n unsubscribeToken?: string;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\nimport type { ISubscriber } from \"../subscriber\";\nimport type { SubscriptionChannelEnum, SubscriptionTopicEnum } from \"../subscriber\";\n\nexport const CampaignStatusEnum = {\n SENDING: \"SENDING\",\n SENT: \"SENT\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignStatusEnum = (typeof CampaignStatusEnum)[keyof typeof CampaignStatusEnum];\nexport const CAMPAIGN_STATUS_VALUES = Object.values(CampaignStatusEnum);\n\nexport const CampaignRecipientStatusEnum = {\n QUEUED: \"QUEUED\",\n SENT: \"SENT\",\n DELIVERED: \"DELIVERED\",\n OPENED: \"OPENED\",\n CLICKED: \"CLICKED\",\n BOUNCED: \"BOUNCED\",\n COMPLAINED: \"COMPLAINED\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignRecipientStatusEnum = (typeof CampaignRecipientStatusEnum)[keyof typeof CampaignRecipientStatusEnum];\nexport const CAMPAIGN_RECIPIENT_STATUS_VALUES = Object.values(CampaignRecipientStatusEnum);\n\nexport interface ICampaignStats {\n sent: number;\n delivered: number;\n opened: number;\n clicked: number;\n bounced: number;\n complained: number;\n failed: number;\n}\n\nexport interface ICampaign extends BaseEntity {\n headline: string;\n body: string;\n ctaLabel?: string;\n ctaUrl?: string;\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n store?: IStore | string;\n status: CampaignStatusEnum;\n recipientCount: number;\n stats: ICampaignStats;\n createdBy?: string;\n sentAt?: Date | string;\n}\n\nexport interface ICampaignRecipient extends BaseEntity {\n campaign: ICampaign | string;\n subscriber?: ISubscriber | string;\n email: string;\n resendEmailId?: string;\n status: CampaignRecipientStatusEnum;\n openedAt?: Date | string;\n clickedAt?: Date | string;\n lastEventAt?: Date | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { ICurrency } from \"../currency\";\n\nexport const PaymentStatusEnum = {\n INITIATED: 'INITIATED',\n PENDING: 'PENDING',\n PROCESSING: 'PROCESSING',\n FAILED: 'FAILED',\n CANCELLED: 'CANCELLED',\n PENDING_CAPTURE: 'PENDING_CAPTURE',\n COMPLETED: 'COMPLETED',\n VOIDED: 'VOIDED',\n REDIRECTED_TO_GATEWAY: 'REDIRECTED_TO_GATEWAY',\n UNKNOWN: 'UNKNOWN',\n REFUNDED: 'REFUNDED',\n PARTIALLY_REFUNDED: 'PARTIALLY_REFUNDED',\n} as const;\n\nexport type PaymentStatusEnum = (typeof PaymentStatusEnum)[keyof typeof PaymentStatusEnum];\nexport const PAYMENT_STATUS_VALUES = Object.values(PaymentStatusEnum);\n\nexport const paymentStatusColorMap: Record<PaymentStatusEnum, string> = {\n [PaymentStatusEnum.INITIATED]: 'default',\n [PaymentStatusEnum.PENDING]: 'gold',\n [PaymentStatusEnum.PROCESSING]: 'cyan',\n [PaymentStatusEnum.FAILED]: 'red',\n [PaymentStatusEnum.CANCELLED]: 'volcano',\n [PaymentStatusEnum.PENDING_CAPTURE]: 'blue',\n [PaymentStatusEnum.COMPLETED]: 'green',\n [PaymentStatusEnum.VOIDED]: 'magenta',\n [PaymentStatusEnum.REDIRECTED_TO_GATEWAY]: 'purple',\n [PaymentStatusEnum.UNKNOWN]: 'gray',\n [PaymentStatusEnum.REFUNDED]: 'orange',\n [PaymentStatusEnum.PARTIALLY_REFUNDED]: 'magenta',\n};\n\nexport const PaymentMethodEnum = {\n CREDIT_CARD: 'CREDIT_CARD',\n PAYPAL: 'PAYPAL',\n STRIPE: 'STRIPE',\n CHECK: 'CHECK',\n APPLE_PAY: 'APPLE_PAY',\n PURCHASE_ORDER: 'PURCHASE_ORDER',\n} as const;\n\nexport type PaymentMethodEnum = (typeof PaymentMethodEnum)[keyof typeof PaymentMethodEnum];\nexport const PAYMENT_METHOD_VALUES = Object.values(PaymentMethodEnum);\n\nexport const paymentMethodColorMap: Record<PaymentMethodEnum, string> = {\n [PaymentMethodEnum.CREDIT_CARD]: 'blue',\n [PaymentMethodEnum.PAYPAL]: 'geekblue',\n [PaymentMethodEnum.STRIPE]: 'purple',\n [PaymentMethodEnum.CHECK]: 'orange',\n [PaymentMethodEnum.APPLE_PAY]: 'black',\n [PaymentMethodEnum.PURCHASE_ORDER]: 'gold',\n};\n\nexport const PaymentGatewayEnum = {\n STRIPE: 'STRIPE',\n PAYPAL: 'PAYPAL',\n BRAINTREE: 'BRAINTREE',\n MANUAL: 'MANUAL',\n} as const;\n\nexport type PaymentGatewayEnum = (typeof PaymentGatewayEnum)[keyof typeof PaymentGatewayEnum];\nexport const PAYMENT_GATEWAY_VALUES = Object.values(PaymentGatewayEnum);\n\nexport const paymentGatewayColorMap: Record<PaymentGatewayEnum, string> = {\n [PaymentGatewayEnum.STRIPE]: 'purple',\n [PaymentGatewayEnum.PAYPAL]: 'geekblue',\n [PaymentGatewayEnum.BRAINTREE]: 'cyan',\n [PaymentGatewayEnum.MANUAL]: 'gold',\n};\n\nexport const TransactionTypeEnum = {\n ORDER: \"ORDER\",\n REFUND: \"REFUND\",\n} as const;\n\nexport type TransactionTypeEnum = (typeof TransactionTypeEnum)[keyof typeof TransactionTypeEnum];\n\nexport const TRANSACTION_TYPE_VALUES = Object.values(TransactionTypeEnum);\n\nexport const typeColorMap: Record<TransactionTypeEnum, string> = {\n [TransactionTypeEnum.ORDER]: \"blue\",\n [TransactionTypeEnum.REFUND]: \"purple\",\n};\n\nexport interface ITransactionBase extends BaseEntity {\n order: IOrder;\n currency: ICurrency;\n transactionId: string;\n amount: number;\n status: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n gateway?: PaymentGatewayEnum;\n gatewayId?: string;\n metaData?: Metadata;\n comment?: string;\n isPaymentLink?: boolean;\n refundedAmount?: number;\n proofFileId?: string;\n}\n\nexport interface IOrderTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.ORDER;\n}\n\nexport interface IRefundTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.REFUND;\n originalTransaction?: ITransactionBase;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IProduct } from \"../product\";\nimport type { IStore } from \"../store\";\n\nexport const ProductEventTypeEnum = {\n VIEW: \"view\",\n ADD_TO_CART: \"add_to_cart\",\n PURCHASE: \"purchase\",\n} as const;\n\nexport type ProductEventTypeEnum = (typeof ProductEventTypeEnum)[keyof typeof ProductEventTypeEnum];\nexport const PRODUCT_EVENT_TYPE_VALUES = Object.values(ProductEventTypeEnum);\n\nexport interface IProductDailyStat extends BaseEntity {\n product: IProduct | string;\n store?: IStore | string | null;\n date: string;\n views: number;\n addToCarts: number;\n purchases: number;\n revenue: number;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { IStore } from \"../store\";\n\nexport const NotificationTypeEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n REFUND: \"REFUND\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n} as const;\n\nexport type NotificationTypeEnum = (typeof NotificationTypeEnum)[keyof typeof NotificationTypeEnum];\nexport const NOTIFICATION_TYPE_VALUES = Object.values(NotificationTypeEnum);\n\nexport const notificationTypeColorMap: Record<NotificationTypeEnum, string> = {\n [NotificationTypeEnum.ORDER_RECEIVED]: \"blue\",\n [NotificationTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [NotificationTypeEnum.PAYMENT_FAILED]: \"red\",\n [NotificationTypeEnum.REFUND]: \"purple\",\n [NotificationTypeEnum.ORDER_CANCELLED]: \"volcano\",\n [NotificationTypeEnum.ORDER_STATUS]: \"cyan\",\n};\n\nexport interface INotification extends BaseEntity {\n type: NotificationTypeEnum;\n title: string;\n message: string;\n order?: IOrder | string | null;\n store?: IStore | string | null;\n read: boolean;\n readAt?: Date | null;\n meta?: Metadata;\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/admin/interface.ts","../src/coupon/interface.ts","../src/addonConfig/interface.ts","../src/storeFee/interface.ts","../src/emailTemplate/interface.ts","../src/inventory/interface.ts","../src/path/index.ts","../src/pricing/index.ts","../src/order/interface.ts","../src/orderLog/interface.ts","../src/paymentLink/interface.ts","../src/cart/interface.ts","../src/subscriber/interface.ts","../src/campaign/interface.ts","../src/transaction/interface.ts","../src/analytics/interface.ts","../src/notification/interface.ts"],"sourcesContent":["import type { BaseEntity } from '../base/interface';\n\nexport type IAdminRoleType =\n | 'Admin'\n | 'Super Admin'\n | 'Cashier'\n | 'Manager'\n | 'CEO'\n | 'Driver'\n | 'Security Guard'\n | 'Accountant';\n\nexport const ADMIN_ROLES: IAdminRoleType[] = [\n 'Admin',\n 'Super Admin',\n 'Cashier',\n 'Manager',\n 'CEO',\n 'Driver',\n 'Security Guard',\n 'Accountant',\n];\n\nexport interface IAdmin extends BaseEntity {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n status: boolean;\n password: string;\n role: IAdminRoleType;\n access_list: string[];\n joiningDate: Date;\n profileImage: string;\n lastLogin: Date;\n}\n\nexport type IAdminCreate = Omit<IAdmin, keyof BaseEntity>;\nexport type IAdminUpdate = Partial<IAdminCreate>;\nexport type IAdminSafe = Omit<IAdmin, 'password'>;\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const DiscountTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type DiscountTypeEnum = (typeof DiscountTypeEnum)[keyof typeof DiscountTypeEnum];\n\nexport interface IDiscountType {\n type: DiscountTypeEnum;\n value: number;\n}\n\nexport interface ICoupon extends BaseEntity {\n title: string;\n couponCode: string;\n startTime: Date;\n endTime: Date;\n discountType: IDiscountType;\n minimumAmount: number;\n isPromotional: boolean;\n status: boolean;\n stores: IStore[];\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const PricingTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type PricingType = (typeof PricingTypeEnum)[keyof typeof PricingTypeEnum];\nexport const PRICING_TYPE_VALUES = Object.values(PricingTypeEnum);\n\nexport interface IAddonConfig extends BaseEntity {\n name: string;\n key: string;\n description: string;\n stores: (IStore | string)[];\n price: number;\n pricingType: PricingType;\n quantity: number;\n sortOrder: number;\n isDefault: boolean;\n isVisible: boolean;\n status: boolean;\n}\n\nexport interface IAddonGroup extends BaseEntity {\n name: string;\n key: string;\n description: string;\n addons: IAddonConfig[];\n sortOrder: number;\n isVisible: boolean;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { PricingType } from \"../addonConfig\";\nimport type { IStore } from \"../store\";\n\nexport const FeeAppliesToEnum = {\n SUBTOTAL: \"SUBTOTAL\",\n TOTAL: \"TOTAL\",\n} as const;\n\nexport type FeeAppliesToEnum = (typeof FeeAppliesToEnum)[keyof typeof FeeAppliesToEnum];\nexport const FEE_APPLIES_TO_VALUES = Object.values(FeeAppliesToEnum);\n\nexport interface IStoreFee extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n description?: string;\n pricingType: PricingType;\n value: number;\n appliesTo: FeeAppliesToEnum;\n enabled: boolean;\n isVisible: boolean;\n sortOrder: number;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const EmailTemplateEventEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n WELCOME: \"WELCOME\",\n PASSWORD_RESET: \"PASSWORD_RESET\",\n QUOTE: \"QUOTE\",\n INVOICE: \"INVOICE\",\n PROMOTIONAL: \"PROMOTIONAL\",\n CONTACT_US: \"CONTACT_US\",\n NOTIFICATION: \"NOTIFICATION\",\n} as const;\n\nexport type EmailTemplateEventEnum = (typeof EmailTemplateEventEnum)[keyof typeof EmailTemplateEventEnum];\nexport const EMAIL_TEMPLATE_EVENT_VALUES = Object.values(EmailTemplateEventEnum);\n\nexport const WIRED_EMAIL_TEMPLATE_EVENTS: EmailTemplateEventEnum[] = [\n EmailTemplateEventEnum.ORDER_RECEIVED,\n EmailTemplateEventEnum.ORDER_CANCELLED,\n EmailTemplateEventEnum.QUOTE,\n EmailTemplateEventEnum.INVOICE,\n EmailTemplateEventEnum.WELCOME,\n EmailTemplateEventEnum.PASSWORD_RESET,\n EmailTemplateEventEnum.CONTACT_US,\n EmailTemplateEventEnum.NOTIFICATION,\n EmailTemplateEventEnum.PROMOTIONAL,\n];\n\nexport const EMAIL_TEMPLATE_VARIABLES_BY_EVENT: Partial<Record<EmailTemplateEventEnum, string[]>> = {\n [EmailTemplateEventEnum.ORDER_RECEIVED]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"shippingAddress\", \"billingAddress\", \"shippingMethod\",\n \"paymentMethod\", \"trackingUrl\",\n ],\n [EmailTemplateEventEnum.ORDER_CANCELLED]: [\"customerName\", \"orderId\", \"reason\", \"refundAmount\"],\n [EmailTemplateEventEnum.QUOTE]: [\"customerName\", \"itemsHtml\", \"subtotal\", \"discount\", \"grandTotal\", \"quoteLink\"],\n [EmailTemplateEventEnum.WELCOME]: [\"name\", \"appName\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PASSWORD_RESET]: [\"name\", \"resetUrl\", \"expiryLabel\"],\n [EmailTemplateEventEnum.CONTACT_US]: [\"customerName\", \"caseNumber\", \"department\", \"subjectSummary\"],\n [EmailTemplateEventEnum.INVOICE]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"amountDue\", \"shippingAddress\", \"billingAddress\", \"paymentLink\",\n ],\n [EmailTemplateEventEnum.NOTIFICATION]: [\"recipientName\", \"title\", \"message\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PROMOTIONAL]: [\"recipientName\", \"headline\", \"body\", \"ctaLabel\", \"ctaUrl\", \"unsubscribeUrl\"],\n};\n\nexport interface IEmailTemplate extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n event: EmailTemplateEventEnum;\n subject: string;\n headerHtml: string;\n bodyHtml: string;\n footerHtml: string;\n variables: string[];\n isVisible: boolean;\n status: boolean;\n}\n","export const InventoryPolicyEnum = {\n DENY: \"deny\",\n CONTINUE: \"continue\",\n} as const;\n\nexport type InventoryPolicy = (typeof InventoryPolicyEnum)[keyof typeof InventoryPolicyEnum];\n\nexport const INVENTORY_POLICY_VALUES: InventoryPolicy[] = Object.values(InventoryPolicyEnum);\n","export const normalizePath = (input: string): string => {\n if (!input || typeof input !== \"string\") return \"/\";\n\n let path = input.trim();\n\n if (/^https?:\\/\\//i.test(path)) {\n try {\n path = new URL(path).pathname;\n } catch {\n }\n }\n\n path = path.split(\"?\")[0].split(\"#\")[0];\n\n try {\n path = decodeURIComponent(path);\n } catch {\n }\n\n if (!path.startsWith(\"/\")) path = `/${path}`;\n path = path.replace(/\\/{2,}/g, \"/\").toLowerCase();\n\n if (path.length > 1) path = path.replace(/\\/+$/, \"\");\n\n return path || \"/\";\n};\n","import type { PricingType } from \"../addonConfig\";\n\nexport const roundMoney = (amount: number): number => {\n if (!Number.isFinite(amount)) return 0;\n return Math.round((amount + Number.EPSILON) * 100) / 100;\n};\n\nexport const formatMoney = (value: number, currencyCode: string = \"USD\"): string =>\n new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency: currencyCode }).format(value ?? 0);\n\nexport const normalizeLineQuantity = (quantity: number): number =>\n Math.max(1, Math.floor(Number(quantity)) || 1);\n\nexport interface AddonAmountInput {\n price: number;\n pricingType: PricingType;\n quantity: number;\n}\n\nexport const addonUnitAmount = (addon: AddonAmountInput, baseUnitPrice: number): number => {\n const value = Number.isFinite(addon.price) ? addon.price : 0;\n const quantity = Number.isFinite(addon.quantity) ? addon.quantity : 1;\n const amount = addon.pricingType === \"PERCENTAGE\" ? baseUnitPrice * (value / 100) : value;\n return roundMoney(amount * quantity);\n};\n\nexport const addonsUnitAmount = (addons: AddonAmountInput[], baseUnitPrice: number): number =>\n roundMoney(addons.reduce((sum, addon) => sum + addonUnitAmount(addon, baseUnitPrice), 0));\n","import type { BaseEntity } from \"../base\";\nimport type { IAddress } from \"../address\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IOrderItem } from \"../orderItem\";\nimport type { IStore } from \"../store\";\nimport type { IOrderTransaction, IRefundTransaction } from \"../transaction\";\nimport type { PaymentGatewayEnum, PaymentMethodEnum, PaymentStatusEnum } from \"../transaction\";\n\nexport const OrderStatusEnum = {\n CREATED: \"CREATED\",\n RECEIVED: \"RECEIVED\",\n PENDING: \"PENDING\",\n CONFIRMED: \"CONFIRMED\",\n PROCESSING: \"PROCESSING\",\n SHIPPED: \"SHIPPED\",\n DELIVERED: \"DELIVERED\",\n CANCELED: \"CANCELED\",\n FAILED: \"FAILED\",\n REFUNDED: \"REFUNDED\",\n PARTIALLY_REFUNDED: \"PARTIALLY_REFUNDED\",\n ARCHIVED: \"ARCHIVED\",\n RETURNED: \"RETURNED\",\n} as const;\n\nexport type OrderStatusEnum = (typeof OrderStatusEnum)[keyof typeof OrderStatusEnum];\nexport const ORDER_STATUS_VALUES = Object.values(OrderStatusEnum);\n\nexport const statusColors: Record<OrderStatusEnum, string> = {\n [OrderStatusEnum.CREATED]: \"default\",\n [OrderStatusEnum.RECEIVED]: \"cyan\",\n [OrderStatusEnum.PENDING]: \"gold\",\n [OrderStatusEnum.CONFIRMED]: \"blue\",\n [OrderStatusEnum.PROCESSING]: \"cyan\",\n [OrderStatusEnum.SHIPPED]: \"purple\",\n [OrderStatusEnum.DELIVERED]: \"green\",\n [OrderStatusEnum.CANCELED]: \"volcano\",\n [OrderStatusEnum.FAILED]: \"red\",\n [OrderStatusEnum.REFUNDED]: \"orange\",\n [OrderStatusEnum.PARTIALLY_REFUNDED]: \"magenta\",\n [OrderStatusEnum.ARCHIVED]: \"gray\",\n [OrderStatusEnum.RETURNED]: \"purple\",\n};\n\nexport interface IOrderTracking {\n number: string;\n url: string;\n carrier: string;\n}\n\nexport interface IOrder extends BaseEntity {\n orderId: string;\n orderItems: IOrderItem[];\n customer: ICustomer;\n coupon: ICoupon;\n store: IStore;\n status: OrderStatusEnum;\n paymentStatus: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n paymentGateway: PaymentGatewayEnum;\n shippingAddress: IAddress;\n billingAddress: IAddress;\n shippingMethod: string;\n tracking: IOrderTracking;\n acceptedTermsAt: Date;\n customerNote: string;\n metaData: Metadata;\n orderTransactions: IOrderTransaction[];\n refundTransactions: IRefundTransaction[];\n pricing: ISummaryPricing;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\n\nexport const OrderLogTypeEnum = {\n ORDER_PLACED: \"ORDER_PLACED\",\n PAYMENT_PENDING: \"PAYMENT_PENDING\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n PAYMENT_CANCELLED: \"PAYMENT_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n REFUND: \"REFUND\",\n EMAIL: \"EMAIL\",\n NOTE: \"NOTE\",\n} as const;\n\nexport type OrderLogTypeEnum = (typeof OrderLogTypeEnum)[keyof typeof OrderLogTypeEnum];\nexport const ORDER_LOG_TYPE_VALUES = Object.values(OrderLogTypeEnum);\n\nexport const orderLogTypeColorMap: Record<OrderLogTypeEnum, string> = {\n [OrderLogTypeEnum.ORDER_PLACED]: \"blue\",\n [OrderLogTypeEnum.PAYMENT_PENDING]: \"gold\",\n [OrderLogTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [OrderLogTypeEnum.PAYMENT_FAILED]: \"red\",\n [OrderLogTypeEnum.PAYMENT_CANCELLED]: \"volcano\",\n [OrderLogTypeEnum.ORDER_STATUS]: \"cyan\",\n [OrderLogTypeEnum.REFUND]: \"purple\",\n [OrderLogTypeEnum.EMAIL]: \"geekblue\",\n [OrderLogTypeEnum.NOTE]: \"default\",\n};\n\nexport interface IOrderLog extends BaseEntity {\n order: IOrder | string;\n type: OrderLogTypeEnum;\n message: string;\n actor?: string;\n meta?: Metadata;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IOrder } from \"../order\";\nimport type { PaymentGatewayEnum } from \"../transaction\";\n\nexport const PaymentLinkStatusEnum = {\n PENDING: \"PENDING\",\n PAID: \"PAID\",\n EXPIRED: \"EXPIRED\",\n CANCELLED: \"CANCELLED\",\n} as const;\n\nexport type PaymentLinkStatusEnum = (typeof PaymentLinkStatusEnum)[keyof typeof PaymentLinkStatusEnum];\nexport const PAYMENT_LINK_STATUS_VALUES = Object.values(PaymentLinkStatusEnum);\n\nexport const paymentLinkStatusColorMap: Record<PaymentLinkStatusEnum, string> = {\n [PaymentLinkStatusEnum.PENDING]: \"gold\",\n [PaymentLinkStatusEnum.PAID]: \"green\",\n [PaymentLinkStatusEnum.EXPIRED]: \"default\",\n [PaymentLinkStatusEnum.CANCELLED]: \"volcano\",\n};\n\nexport interface IPaymentLink extends BaseEntity {\n order: IOrder | string;\n token: string;\n amount: number;\n currencyCode: string;\n gateway: PaymentGatewayEnum;\n status: PaymentLinkStatusEnum;\n expiresAt?: string | Date;\n paidAt?: string | Date;\n transaction?: string;\n createdBy?: string;\n baseUrl: string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\nimport type { ICartItem } from \"../cartItem\";\nimport type { IOrder } from \"../order\";\n\n\nexport const CartStatusEnum = {\n ACTIVE: \"ACTIVE\",\n CONVERTED: \"CONVERTED\",\n QUOTED: \"QUOTED\",\n ABANDONED: \"ABANDONED\",\n} as const;\n\nexport type CartStatusEnum = (typeof CartStatusEnum)[keyof typeof CartStatusEnum];\nexport const CART_STATUS_VALUES = Object.values(CartStatusEnum);\nexport const RETIRED_CART_STATUSES: CartStatusEnum[] = [\n CartStatusEnum.CONVERTED,\n CartStatusEnum.QUOTED,\n CartStatusEnum.ABANDONED,\n];\n\n\nexport interface ICart extends BaseEntity {\n cartId: string;\n cartItems: ICartItem[];\n user?: ICustomer;\n coupon?: ICoupon;\n store: IStore;\n metaData: Metadata;\n pricing: ISummaryPricing;\n status: CartStatusEnum;\n order?: IOrder | string;\n convertedAt?: Date;\n quoteToken?: string;\n quotedAt?: Date;\n quoteEmail?: string;\n sourceCart?: ICart | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\n\nexport const SubscriptionChannelEnum = {\n EMAIL: \"EMAIL\",\n SMS: \"SMS\",\n PUSH: \"PUSH\",\n} as const;\n\nexport type SubscriptionChannelEnum = (typeof SubscriptionChannelEnum)[keyof typeof SubscriptionChannelEnum];\nexport const SUBSCRIPTION_CHANNEL_VALUES = Object.values(SubscriptionChannelEnum);\n\nexport const ACTIVE_SUBSCRIPTION_CHANNELS: SubscriptionChannelEnum[] = [SubscriptionChannelEnum.EMAIL];\n\nexport const SubscriptionTopicEnum = {\n PROMOTIONAL: \"PROMOTIONAL\",\n NEWSLETTER: \"NEWSLETTER\",\n BACK_IN_STOCK: \"BACK_IN_STOCK\",\n PRICE_DROP: \"PRICE_DROP\",\n} as const;\n\nexport type SubscriptionTopicEnum = (typeof SubscriptionTopicEnum)[keyof typeof SubscriptionTopicEnum];\nexport const SUBSCRIPTION_TOPIC_VALUES = Object.values(SubscriptionTopicEnum);\n\nexport const SUBSCRIPTION_TOPIC_LABELS: Record<SubscriptionTopicEnum, string> = {\n [SubscriptionTopicEnum.PROMOTIONAL]: \"Promotional\",\n [SubscriptionTopicEnum.NEWSLETTER]: \"Newsletter\",\n [SubscriptionTopicEnum.BACK_IN_STOCK]: \"Back in stock\",\n [SubscriptionTopicEnum.PRICE_DROP]: \"Price drop\",\n};\n\nexport const DEFAULT_SUBSCRIPTION_TOPICS: SubscriptionTopicEnum[] = [\n SubscriptionTopicEnum.PROMOTIONAL,\n SubscriptionTopicEnum.NEWSLETTER,\n];\n\nexport interface ISubscription {\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n subscribed: boolean;\n source?: string;\n updatedAt?: Date | string;\n}\n\nexport interface ISubscriberConsent {\n source?: string;\n ip?: string;\n at?: Date | string;\n}\n\nexport interface ISubscriber extends BaseEntity {\n email: string;\n phone?: string;\n customer?: ICustomer | string;\n firstName?: string;\n lastName?: string;\n stores?: (IStore | string)[];\n subscriptions: ISubscription[];\n consent?: ISubscriberConsent;\n unsubscribeToken?: string;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\nimport type { ISubscriber } from \"../subscriber\";\nimport type { SubscriptionChannelEnum, SubscriptionTopicEnum } from \"../subscriber\";\n\nexport const CampaignStatusEnum = {\n SENDING: \"SENDING\",\n SENT: \"SENT\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignStatusEnum = (typeof CampaignStatusEnum)[keyof typeof CampaignStatusEnum];\nexport const CAMPAIGN_STATUS_VALUES = Object.values(CampaignStatusEnum);\n\nexport const CampaignRecipientStatusEnum = {\n QUEUED: \"QUEUED\",\n SENT: \"SENT\",\n DELIVERED: \"DELIVERED\",\n OPENED: \"OPENED\",\n CLICKED: \"CLICKED\",\n BOUNCED: \"BOUNCED\",\n COMPLAINED: \"COMPLAINED\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignRecipientStatusEnum = (typeof CampaignRecipientStatusEnum)[keyof typeof CampaignRecipientStatusEnum];\nexport const CAMPAIGN_RECIPIENT_STATUS_VALUES = Object.values(CampaignRecipientStatusEnum);\n\nexport interface ICampaignStats {\n sent: number;\n delivered: number;\n opened: number;\n clicked: number;\n bounced: number;\n complained: number;\n failed: number;\n}\n\nexport interface ICampaign extends BaseEntity {\n headline: string;\n body: string;\n ctaLabel?: string;\n ctaUrl?: string;\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n store?: IStore | string;\n status: CampaignStatusEnum;\n recipientCount: number;\n stats: ICampaignStats;\n createdBy?: string;\n sentAt?: Date | string;\n}\n\nexport interface ICampaignRecipient extends BaseEntity {\n campaign: ICampaign | string;\n subscriber?: ISubscriber | string;\n email: string;\n resendEmailId?: string;\n status: CampaignRecipientStatusEnum;\n openedAt?: Date | string;\n clickedAt?: Date | string;\n lastEventAt?: Date | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { ICurrency } from \"../currency\";\n\nexport const PaymentStatusEnum = {\n INITIATED: 'INITIATED',\n PENDING: 'PENDING',\n PROCESSING: 'PROCESSING',\n FAILED: 'FAILED',\n CANCELLED: 'CANCELLED',\n PENDING_CAPTURE: 'PENDING_CAPTURE',\n COMPLETED: 'COMPLETED',\n VOIDED: 'VOIDED',\n REDIRECTED_TO_GATEWAY: 'REDIRECTED_TO_GATEWAY',\n UNKNOWN: 'UNKNOWN',\n REFUNDED: 'REFUNDED',\n PARTIALLY_REFUNDED: 'PARTIALLY_REFUNDED',\n} as const;\n\nexport type PaymentStatusEnum = (typeof PaymentStatusEnum)[keyof typeof PaymentStatusEnum];\nexport const PAYMENT_STATUS_VALUES = Object.values(PaymentStatusEnum);\n\nexport const paymentStatusColorMap: Record<PaymentStatusEnum, string> = {\n [PaymentStatusEnum.INITIATED]: 'default',\n [PaymentStatusEnum.PENDING]: 'gold',\n [PaymentStatusEnum.PROCESSING]: 'cyan',\n [PaymentStatusEnum.FAILED]: 'red',\n [PaymentStatusEnum.CANCELLED]: 'volcano',\n [PaymentStatusEnum.PENDING_CAPTURE]: 'blue',\n [PaymentStatusEnum.COMPLETED]: 'green',\n [PaymentStatusEnum.VOIDED]: 'magenta',\n [PaymentStatusEnum.REDIRECTED_TO_GATEWAY]: 'purple',\n [PaymentStatusEnum.UNKNOWN]: 'gray',\n [PaymentStatusEnum.REFUNDED]: 'orange',\n [PaymentStatusEnum.PARTIALLY_REFUNDED]: 'magenta',\n};\n\nexport const PaymentMethodEnum = {\n CREDIT_CARD: 'CREDIT_CARD',\n PAYPAL: 'PAYPAL',\n STRIPE: 'STRIPE',\n CHECK: 'CHECK',\n APPLE_PAY: 'APPLE_PAY',\n PURCHASE_ORDER: 'PURCHASE_ORDER',\n} as const;\n\nexport type PaymentMethodEnum = (typeof PaymentMethodEnum)[keyof typeof PaymentMethodEnum];\nexport const PAYMENT_METHOD_VALUES = Object.values(PaymentMethodEnum);\n\nexport const paymentMethodColorMap: Record<PaymentMethodEnum, string> = {\n [PaymentMethodEnum.CREDIT_CARD]: 'blue',\n [PaymentMethodEnum.PAYPAL]: 'geekblue',\n [PaymentMethodEnum.STRIPE]: 'purple',\n [PaymentMethodEnum.CHECK]: 'orange',\n [PaymentMethodEnum.APPLE_PAY]: 'black',\n [PaymentMethodEnum.PURCHASE_ORDER]: 'gold',\n};\n\nexport const PaymentGatewayEnum = {\n STRIPE: 'STRIPE',\n PAYPAL: 'PAYPAL',\n BRAINTREE: 'BRAINTREE',\n MANUAL: 'MANUAL',\n} as const;\n\nexport type PaymentGatewayEnum = (typeof PaymentGatewayEnum)[keyof typeof PaymentGatewayEnum];\nexport const PAYMENT_GATEWAY_VALUES = Object.values(PaymentGatewayEnum);\n\nexport const paymentGatewayColorMap: Record<PaymentGatewayEnum, string> = {\n [PaymentGatewayEnum.STRIPE]: 'purple',\n [PaymentGatewayEnum.PAYPAL]: 'geekblue',\n [PaymentGatewayEnum.BRAINTREE]: 'cyan',\n [PaymentGatewayEnum.MANUAL]: 'gold',\n};\n\nexport const TransactionTypeEnum = {\n ORDER: \"ORDER\",\n REFUND: \"REFUND\",\n} as const;\n\nexport type TransactionTypeEnum = (typeof TransactionTypeEnum)[keyof typeof TransactionTypeEnum];\n\nexport const TRANSACTION_TYPE_VALUES = Object.values(TransactionTypeEnum);\n\nexport const typeColorMap: Record<TransactionTypeEnum, string> = {\n [TransactionTypeEnum.ORDER]: \"blue\",\n [TransactionTypeEnum.REFUND]: \"purple\",\n};\n\nexport interface ITransactionBase extends BaseEntity {\n order: IOrder;\n currency: ICurrency;\n transactionId: string;\n amount: number;\n status: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n gateway?: PaymentGatewayEnum;\n gatewayId?: string;\n metaData?: Metadata;\n comment?: string;\n isPaymentLink?: boolean;\n refundedAmount?: number;\n proofFileId?: string;\n}\n\nexport interface IOrderTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.ORDER;\n}\n\nexport interface IRefundTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.REFUND;\n originalTransaction?: ITransactionBase;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IProduct } from \"../product\";\nimport type { IStore } from \"../store\";\n\nexport const ProductEventTypeEnum = {\n VIEW: \"view\",\n ADD_TO_CART: \"add_to_cart\",\n PURCHASE: \"purchase\",\n} as const;\n\nexport type ProductEventTypeEnum = (typeof ProductEventTypeEnum)[keyof typeof ProductEventTypeEnum];\nexport const PRODUCT_EVENT_TYPE_VALUES = Object.values(ProductEventTypeEnum);\n\nexport interface IProductDailyStat extends BaseEntity {\n product: IProduct | string;\n store?: IStore | string | null;\n date: string;\n views: number;\n addToCarts: number;\n purchases: number;\n revenue: number;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { IStore } from \"../store\";\n\nexport const NotificationTypeEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n REFUND: \"REFUND\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n} as const;\n\nexport type NotificationTypeEnum = (typeof NotificationTypeEnum)[keyof typeof NotificationTypeEnum];\nexport const NOTIFICATION_TYPE_VALUES = Object.values(NotificationTypeEnum);\n\nexport const notificationTypeColorMap: Record<NotificationTypeEnum, string> = {\n [NotificationTypeEnum.ORDER_RECEIVED]: \"blue\",\n [NotificationTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [NotificationTypeEnum.PAYMENT_FAILED]: \"red\",\n [NotificationTypeEnum.REFUND]: \"purple\",\n [NotificationTypeEnum.ORDER_CANCELLED]: \"volcano\",\n [NotificationTypeEnum.ORDER_STATUS]: \"cyan\",\n};\n\nexport interface INotification extends BaseEntity {\n type: NotificationTypeEnum;\n title: string;\n message: string;\n order?: IOrder | string | null;\n store?: IStore | string | null;\n read: boolean;\n readAt?: Date | null;\n meta?: Metadata;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/admin/interface.ts","../src/coupon/interface.ts","../src/addonConfig/interface.ts","../src/storeFee/interface.ts","../src/emailTemplate/interface.ts","../src/inventory/interface.ts","../src/path/index.ts","../src/pricing/index.ts","../src/order/interface.ts","../src/orderLog/interface.ts","../src/paymentLink/interface.ts","../src/cart/interface.ts","../src/subscriber/interface.ts","../src/campaign/interface.ts","../src/transaction/interface.ts","../src/analytics/interface.ts","../src/notification/interface.ts"],"sourcesContent":["import type { BaseEntity } from '../base/interface';\n\nexport type IAdminRoleType =\n | 'Admin'\n | 'Super Admin'\n | 'Cashier'\n | 'Manager'\n | 'CEO'\n | 'Driver'\n | 'Security Guard'\n | 'Accountant';\n\nexport const ADMIN_ROLES: IAdminRoleType[] = [\n 'Admin',\n 'Super Admin',\n 'Cashier',\n 'Manager',\n 'CEO',\n 'Driver',\n 'Security Guard',\n 'Accountant',\n];\n\nexport interface IAdmin extends BaseEntity {\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n status: boolean;\n password: string;\n role: IAdminRoleType;\n access_list: string[];\n joiningDate: Date;\n profileImage: string;\n lastLogin: Date;\n}\n\nexport type IAdminCreate = Omit<IAdmin, keyof BaseEntity>;\nexport type IAdminUpdate = Partial<IAdminCreate>;\nexport type IAdminSafe = Omit<IAdmin, 'password'>;\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const DiscountTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type DiscountTypeEnum = (typeof DiscountTypeEnum)[keyof typeof DiscountTypeEnum];\n\nexport interface IDiscountType {\n type: DiscountTypeEnum;\n value: number;\n}\n\nexport interface ICoupon extends BaseEntity {\n title: string;\n couponCode: string;\n startTime: Date;\n endTime: Date;\n discountType: IDiscountType;\n minimumAmount: number;\n isPromotional: boolean;\n status: boolean;\n stores: IStore[];\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const PricingTypeEnum = {\n PERCENTAGE: \"PERCENTAGE\",\n FIXED: \"FIXED\",\n} as const;\n\nexport type PricingType = (typeof PricingTypeEnum)[keyof typeof PricingTypeEnum];\nexport const PRICING_TYPE_VALUES = Object.values(PricingTypeEnum);\n\nexport interface IAddonConfig extends BaseEntity {\n name: string;\n key: string;\n description: string;\n stores: (IStore | string)[];\n price: number;\n pricingType: PricingType;\n quantity: number;\n sortOrder: number;\n isDefault: boolean;\n isVisible: boolean;\n status: boolean;\n}\n\nexport interface IAddonGroup extends BaseEntity {\n name: string;\n key: string;\n description: string;\n addons: IAddonConfig[];\n sortOrder: number;\n isVisible: boolean;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { PricingType } from \"../addonConfig\";\nimport type { IStore } from \"../store\";\n\nexport const FeeAppliesToEnum = {\n SUBTOTAL: \"SUBTOTAL\",\n TOTAL: \"TOTAL\",\n} as const;\n\nexport type FeeAppliesToEnum = (typeof FeeAppliesToEnum)[keyof typeof FeeAppliesToEnum];\nexport const FEE_APPLIES_TO_VALUES = Object.values(FeeAppliesToEnum);\n\nexport interface IStoreFee extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n description?: string;\n pricingType: PricingType;\n value: number;\n appliesTo: FeeAppliesToEnum;\n enabled: boolean;\n isVisible: boolean;\n optional: boolean;\n defaultSelected: boolean;\n sortOrder: number;\n status: boolean;\n}\n\nexport interface ISelectableFee {\n key: string;\n name: string;\n description?: string;\n pricingType: PricingType;\n value: number;\n appliesTo: FeeAppliesToEnum;\n optional: boolean;\n selected: boolean;\n amount: number;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\n\nexport const EmailTemplateEventEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n WELCOME: \"WELCOME\",\n PASSWORD_RESET: \"PASSWORD_RESET\",\n QUOTE: \"QUOTE\",\n INVOICE: \"INVOICE\",\n PROMOTIONAL: \"PROMOTIONAL\",\n CONTACT_US: \"CONTACT_US\",\n NOTIFICATION: \"NOTIFICATION\",\n} as const;\n\nexport type EmailTemplateEventEnum = (typeof EmailTemplateEventEnum)[keyof typeof EmailTemplateEventEnum];\nexport const EMAIL_TEMPLATE_EVENT_VALUES = Object.values(EmailTemplateEventEnum);\n\nexport const WIRED_EMAIL_TEMPLATE_EVENTS: EmailTemplateEventEnum[] = [\n EmailTemplateEventEnum.ORDER_RECEIVED,\n EmailTemplateEventEnum.ORDER_CANCELLED,\n EmailTemplateEventEnum.QUOTE,\n EmailTemplateEventEnum.INVOICE,\n EmailTemplateEventEnum.WELCOME,\n EmailTemplateEventEnum.PASSWORD_RESET,\n EmailTemplateEventEnum.CONTACT_US,\n EmailTemplateEventEnum.NOTIFICATION,\n EmailTemplateEventEnum.PROMOTIONAL,\n];\n\nexport const EMAIL_TEMPLATE_VARIABLES_BY_EVENT: Partial<Record<EmailTemplateEventEnum, string[]>> = {\n [EmailTemplateEventEnum.ORDER_RECEIVED]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"shippingAddress\", \"billingAddress\", \"shippingMethod\",\n \"paymentMethod\", \"trackingUrl\",\n ],\n [EmailTemplateEventEnum.ORDER_CANCELLED]: [\"customerName\", \"orderId\", \"reason\", \"refundAmount\"],\n [EmailTemplateEventEnum.QUOTE]: [\"customerName\", \"itemsHtml\", \"subtotal\", \"discount\", \"grandTotal\", \"quoteLink\"],\n [EmailTemplateEventEnum.WELCOME]: [\"name\", \"appName\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PASSWORD_RESET]: [\"name\", \"resetUrl\", \"expiryLabel\"],\n [EmailTemplateEventEnum.CONTACT_US]: [\"customerName\", \"caseNumber\", \"department\", \"subjectSummary\"],\n [EmailTemplateEventEnum.INVOICE]: [\n \"customerName\", \"orderId\", \"orderDate\", \"itemsHtml\", \"subtotal\", \"shippingHandling\",\n \"estimatedTax\", \"grandTotal\", \"amountDue\", \"shippingAddress\", \"billingAddress\", \"paymentLink\",\n ],\n [EmailTemplateEventEnum.NOTIFICATION]: [\"recipientName\", \"title\", \"message\", \"ctaLabel\", \"ctaUrl\"],\n [EmailTemplateEventEnum.PROMOTIONAL]: [\"recipientName\", \"headline\", \"body\", \"ctaLabel\", \"ctaUrl\", \"unsubscribeUrl\"],\n};\n\nexport interface IEmailTemplate extends BaseEntity {\n stores: (IStore | string)[];\n name: string;\n key: string;\n event: EmailTemplateEventEnum;\n subject: string;\n headerHtml: string;\n bodyHtml: string;\n footerHtml: string;\n variables: string[];\n isVisible: boolean;\n status: boolean;\n}\n","export const InventoryPolicyEnum = {\n DENY: \"deny\",\n CONTINUE: \"continue\",\n} as const;\n\nexport type InventoryPolicy = (typeof InventoryPolicyEnum)[keyof typeof InventoryPolicyEnum];\n\nexport const INVENTORY_POLICY_VALUES: InventoryPolicy[] = Object.values(InventoryPolicyEnum);\n","export const normalizePath = (input: string): string => {\n if (!input || typeof input !== \"string\") return \"/\";\n\n let path = input.trim();\n\n if (/^https?:\\/\\//i.test(path)) {\n try {\n path = new URL(path).pathname;\n } catch {\n }\n }\n\n path = path.split(\"?\")[0].split(\"#\")[0];\n\n try {\n path = decodeURIComponent(path);\n } catch {\n }\n\n if (!path.startsWith(\"/\")) path = `/${path}`;\n path = path.replace(/\\/{2,}/g, \"/\").toLowerCase();\n\n if (path.length > 1) path = path.replace(/\\/+$/, \"\");\n\n return path || \"/\";\n};\n","import type { PricingType } from \"../addonConfig\";\n\nexport const roundMoney = (amount: number): number => {\n if (!Number.isFinite(amount)) return 0;\n return Math.round((amount + Number.EPSILON) * 100) / 100;\n};\n\nexport const formatMoney = (value: number, currencyCode: string = \"USD\"): string =>\n new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency: currencyCode }).format(value ?? 0);\n\nexport const normalizeLineQuantity = (quantity: number): number =>\n Math.max(1, Math.floor(Number(quantity)) || 1);\n\nexport interface AddonAmountInput {\n price: number;\n pricingType: PricingType;\n quantity: number;\n}\n\nexport const addonUnitAmount = (addon: AddonAmountInput, baseUnitPrice: number): number => {\n const value = Number.isFinite(addon.price) ? addon.price : 0;\n const quantity = Number.isFinite(addon.quantity) ? addon.quantity : 1;\n const amount = addon.pricingType === \"PERCENTAGE\" ? baseUnitPrice * (value / 100) : value;\n return roundMoney(amount * quantity);\n};\n\nexport const addonsUnitAmount = (addons: AddonAmountInput[], baseUnitPrice: number): number =>\n roundMoney(addons.reduce((sum, addon) => sum + addonUnitAmount(addon, baseUnitPrice), 0));\n","import type { BaseEntity } from \"../base\";\nimport type { IAddress } from \"../address\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IOrderItem } from \"../orderItem\";\nimport type { IStore } from \"../store\";\nimport type { IOrderTransaction, IRefundTransaction } from \"../transaction\";\nimport type { PaymentGatewayEnum, PaymentMethodEnum, PaymentStatusEnum } from \"../transaction\";\n\nexport const OrderStatusEnum = {\n CREATED: \"CREATED\",\n RECEIVED: \"RECEIVED\",\n PENDING: \"PENDING\",\n CONFIRMED: \"CONFIRMED\",\n PROCESSING: \"PROCESSING\",\n SHIPPED: \"SHIPPED\",\n DELIVERED: \"DELIVERED\",\n CANCELED: \"CANCELED\",\n FAILED: \"FAILED\",\n REFUNDED: \"REFUNDED\",\n PARTIALLY_REFUNDED: \"PARTIALLY_REFUNDED\",\n ARCHIVED: \"ARCHIVED\",\n RETURNED: \"RETURNED\",\n} as const;\n\nexport type OrderStatusEnum = (typeof OrderStatusEnum)[keyof typeof OrderStatusEnum];\nexport const ORDER_STATUS_VALUES = Object.values(OrderStatusEnum);\n\nexport const statusColors: Record<OrderStatusEnum, string> = {\n [OrderStatusEnum.CREATED]: \"default\",\n [OrderStatusEnum.RECEIVED]: \"cyan\",\n [OrderStatusEnum.PENDING]: \"gold\",\n [OrderStatusEnum.CONFIRMED]: \"blue\",\n [OrderStatusEnum.PROCESSING]: \"cyan\",\n [OrderStatusEnum.SHIPPED]: \"purple\",\n [OrderStatusEnum.DELIVERED]: \"green\",\n [OrderStatusEnum.CANCELED]: \"volcano\",\n [OrderStatusEnum.FAILED]: \"red\",\n [OrderStatusEnum.REFUNDED]: \"orange\",\n [OrderStatusEnum.PARTIALLY_REFUNDED]: \"magenta\",\n [OrderStatusEnum.ARCHIVED]: \"gray\",\n [OrderStatusEnum.RETURNED]: \"purple\",\n};\n\nexport interface IOrderTracking {\n number: string;\n url: string;\n carrier: string;\n}\n\nexport interface IOrder extends BaseEntity {\n orderId: string;\n orderItems: IOrderItem[];\n customer: ICustomer;\n coupon: ICoupon;\n store: IStore;\n status: OrderStatusEnum;\n paymentStatus: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n paymentGateway: PaymentGatewayEnum;\n shippingAddress: IAddress;\n billingAddress: IAddress;\n shippingMethod: string;\n tracking: IOrderTracking;\n acceptedTermsAt: Date;\n customerNote: string;\n metaData: Metadata;\n orderTransactions: IOrderTransaction[];\n refundTransactions: IRefundTransaction[];\n pricing: ISummaryPricing;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\n\nexport const OrderLogTypeEnum = {\n ORDER_PLACED: \"ORDER_PLACED\",\n PAYMENT_PENDING: \"PAYMENT_PENDING\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n PAYMENT_CANCELLED: \"PAYMENT_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n REFUND: \"REFUND\",\n EMAIL: \"EMAIL\",\n NOTE: \"NOTE\",\n} as const;\n\nexport type OrderLogTypeEnum = (typeof OrderLogTypeEnum)[keyof typeof OrderLogTypeEnum];\nexport const ORDER_LOG_TYPE_VALUES = Object.values(OrderLogTypeEnum);\n\nexport const orderLogTypeColorMap: Record<OrderLogTypeEnum, string> = {\n [OrderLogTypeEnum.ORDER_PLACED]: \"blue\",\n [OrderLogTypeEnum.PAYMENT_PENDING]: \"gold\",\n [OrderLogTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [OrderLogTypeEnum.PAYMENT_FAILED]: \"red\",\n [OrderLogTypeEnum.PAYMENT_CANCELLED]: \"volcano\",\n [OrderLogTypeEnum.ORDER_STATUS]: \"cyan\",\n [OrderLogTypeEnum.REFUND]: \"purple\",\n [OrderLogTypeEnum.EMAIL]: \"geekblue\",\n [OrderLogTypeEnum.NOTE]: \"default\",\n};\n\nexport interface IOrderLog extends BaseEntity {\n order: IOrder | string;\n type: OrderLogTypeEnum;\n message: string;\n actor?: string;\n meta?: Metadata;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IOrder } from \"../order\";\nimport type { PaymentGatewayEnum } from \"../transaction\";\n\nexport const PaymentLinkStatusEnum = {\n PENDING: \"PENDING\",\n PAID: \"PAID\",\n EXPIRED: \"EXPIRED\",\n CANCELLED: \"CANCELLED\",\n} as const;\n\nexport type PaymentLinkStatusEnum = (typeof PaymentLinkStatusEnum)[keyof typeof PaymentLinkStatusEnum];\nexport const PAYMENT_LINK_STATUS_VALUES = Object.values(PaymentLinkStatusEnum);\n\nexport const paymentLinkStatusColorMap: Record<PaymentLinkStatusEnum, string> = {\n [PaymentLinkStatusEnum.PENDING]: \"gold\",\n [PaymentLinkStatusEnum.PAID]: \"green\",\n [PaymentLinkStatusEnum.EXPIRED]: \"default\",\n [PaymentLinkStatusEnum.CANCELLED]: \"volcano\",\n};\n\nexport interface IPaymentLink extends BaseEntity {\n order: IOrder | string;\n token: string;\n amount: number;\n currencyCode: string;\n gateway: PaymentGatewayEnum;\n status: PaymentLinkStatusEnum;\n expiresAt?: string | Date;\n paidAt?: string | Date;\n transaction?: string;\n createdBy?: string;\n baseUrl: string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ISummaryPricing, Metadata } from \"../common\";\nimport type { ICoupon } from \"../coupon\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\nimport type { ICartItem } from \"../cartItem\";\nimport type { IOrder } from \"../order\";\nimport type { IShippingRate } from \"../shipping\";\n\n\nexport const CartStatusEnum = {\n ACTIVE: \"ACTIVE\",\n CONVERTED: \"CONVERTED\",\n QUOTED: \"QUOTED\",\n ABANDONED: \"ABANDONED\",\n} as const;\n\nexport type CartStatusEnum = (typeof CartStatusEnum)[keyof typeof CartStatusEnum];\nexport const CART_STATUS_VALUES = Object.values(CartStatusEnum);\nexport const RETIRED_CART_STATUSES: CartStatusEnum[] = [\n CartStatusEnum.CONVERTED,\n CartStatusEnum.QUOTED,\n CartStatusEnum.ABANDONED,\n];\n\n\nexport interface ICart extends BaseEntity {\n cartId: string;\n cartItems: ICartItem[];\n user?: ICustomer;\n coupon?: ICoupon;\n store: IStore;\n metaData: Metadata;\n optionalFees?: Record<string, boolean>;\n pricing: ISummaryPricing;\n selectedShippingRate?: IShippingRate;\n status: CartStatusEnum;\n order?: IOrder | string;\n convertedAt?: Date;\n quoteToken?: string;\n quotedAt?: Date;\n quoteEmail?: string;\n sourceCart?: ICart | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { ICustomer } from \"../customer\";\nimport type { IStore } from \"../store\";\n\nexport const SubscriptionChannelEnum = {\n EMAIL: \"EMAIL\",\n SMS: \"SMS\",\n PUSH: \"PUSH\",\n} as const;\n\nexport type SubscriptionChannelEnum = (typeof SubscriptionChannelEnum)[keyof typeof SubscriptionChannelEnum];\nexport const SUBSCRIPTION_CHANNEL_VALUES = Object.values(SubscriptionChannelEnum);\n\nexport const ACTIVE_SUBSCRIPTION_CHANNELS: SubscriptionChannelEnum[] = [SubscriptionChannelEnum.EMAIL];\n\nexport const SubscriptionTopicEnum = {\n PROMOTIONAL: \"PROMOTIONAL\",\n NEWSLETTER: \"NEWSLETTER\",\n BACK_IN_STOCK: \"BACK_IN_STOCK\",\n PRICE_DROP: \"PRICE_DROP\",\n} as const;\n\nexport type SubscriptionTopicEnum = (typeof SubscriptionTopicEnum)[keyof typeof SubscriptionTopicEnum];\nexport const SUBSCRIPTION_TOPIC_VALUES = Object.values(SubscriptionTopicEnum);\n\nexport const SUBSCRIPTION_TOPIC_LABELS: Record<SubscriptionTopicEnum, string> = {\n [SubscriptionTopicEnum.PROMOTIONAL]: \"Promotional\",\n [SubscriptionTopicEnum.NEWSLETTER]: \"Newsletter\",\n [SubscriptionTopicEnum.BACK_IN_STOCK]: \"Back in stock\",\n [SubscriptionTopicEnum.PRICE_DROP]: \"Price drop\",\n};\n\nexport const DEFAULT_SUBSCRIPTION_TOPICS: SubscriptionTopicEnum[] = [\n SubscriptionTopicEnum.PROMOTIONAL,\n SubscriptionTopicEnum.NEWSLETTER,\n];\n\nexport interface ISubscription {\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n subscribed: boolean;\n source?: string;\n updatedAt?: Date | string;\n}\n\nexport interface ISubscriberConsent {\n source?: string;\n ip?: string;\n at?: Date | string;\n}\n\nexport interface ISubscriber extends BaseEntity {\n email: string;\n phone?: string;\n customer?: ICustomer | string;\n firstName?: string;\n lastName?: string;\n stores?: (IStore | string)[];\n subscriptions: ISubscription[];\n consent?: ISubscriberConsent;\n unsubscribeToken?: string;\n status: boolean;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IStore } from \"../store\";\nimport type { ISubscriber } from \"../subscriber\";\nimport type { SubscriptionChannelEnum, SubscriptionTopicEnum } from \"../subscriber\";\n\nexport const CampaignStatusEnum = {\n SENDING: \"SENDING\",\n SENT: \"SENT\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignStatusEnum = (typeof CampaignStatusEnum)[keyof typeof CampaignStatusEnum];\nexport const CAMPAIGN_STATUS_VALUES = Object.values(CampaignStatusEnum);\n\nexport const CampaignRecipientStatusEnum = {\n QUEUED: \"QUEUED\",\n SENT: \"SENT\",\n DELIVERED: \"DELIVERED\",\n OPENED: \"OPENED\",\n CLICKED: \"CLICKED\",\n BOUNCED: \"BOUNCED\",\n COMPLAINED: \"COMPLAINED\",\n FAILED: \"FAILED\",\n} as const;\n\nexport type CampaignRecipientStatusEnum = (typeof CampaignRecipientStatusEnum)[keyof typeof CampaignRecipientStatusEnum];\nexport const CAMPAIGN_RECIPIENT_STATUS_VALUES = Object.values(CampaignRecipientStatusEnum);\n\nexport interface ICampaignStats {\n sent: number;\n delivered: number;\n opened: number;\n clicked: number;\n bounced: number;\n complained: number;\n failed: number;\n}\n\nexport interface ICampaign extends BaseEntity {\n headline: string;\n body: string;\n ctaLabel?: string;\n ctaUrl?: string;\n channel: SubscriptionChannelEnum;\n topic: SubscriptionTopicEnum;\n store?: IStore | string;\n status: CampaignStatusEnum;\n recipientCount: number;\n stats: ICampaignStats;\n createdBy?: string;\n sentAt?: Date | string;\n}\n\nexport interface ICampaignRecipient extends BaseEntity {\n campaign: ICampaign | string;\n subscriber?: ISubscriber | string;\n email: string;\n resendEmailId?: string;\n status: CampaignRecipientStatusEnum;\n openedAt?: Date | string;\n clickedAt?: Date | string;\n lastEventAt?: Date | string;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { ICurrency } from \"../currency\";\n\nexport const PaymentStatusEnum = {\n INITIATED: 'INITIATED',\n PENDING: 'PENDING',\n PROCESSING: 'PROCESSING',\n FAILED: 'FAILED',\n CANCELLED: 'CANCELLED',\n PENDING_CAPTURE: 'PENDING_CAPTURE',\n COMPLETED: 'COMPLETED',\n VOIDED: 'VOIDED',\n REDIRECTED_TO_GATEWAY: 'REDIRECTED_TO_GATEWAY',\n UNKNOWN: 'UNKNOWN',\n REFUNDED: 'REFUNDED',\n PARTIALLY_REFUNDED: 'PARTIALLY_REFUNDED',\n} as const;\n\nexport type PaymentStatusEnum = (typeof PaymentStatusEnum)[keyof typeof PaymentStatusEnum];\nexport const PAYMENT_STATUS_VALUES = Object.values(PaymentStatusEnum);\n\nexport const paymentStatusColorMap: Record<PaymentStatusEnum, string> = {\n [PaymentStatusEnum.INITIATED]: 'default',\n [PaymentStatusEnum.PENDING]: 'gold',\n [PaymentStatusEnum.PROCESSING]: 'cyan',\n [PaymentStatusEnum.FAILED]: 'red',\n [PaymentStatusEnum.CANCELLED]: 'volcano',\n [PaymentStatusEnum.PENDING_CAPTURE]: 'blue',\n [PaymentStatusEnum.COMPLETED]: 'green',\n [PaymentStatusEnum.VOIDED]: 'magenta',\n [PaymentStatusEnum.REDIRECTED_TO_GATEWAY]: 'purple',\n [PaymentStatusEnum.UNKNOWN]: 'gray',\n [PaymentStatusEnum.REFUNDED]: 'orange',\n [PaymentStatusEnum.PARTIALLY_REFUNDED]: 'magenta',\n};\n\nexport const PaymentMethodEnum = {\n CREDIT_CARD: 'CREDIT_CARD',\n PAYPAL: 'PAYPAL',\n STRIPE: 'STRIPE',\n CHECK: 'CHECK',\n APPLE_PAY: 'APPLE_PAY',\n PURCHASE_ORDER: 'PURCHASE_ORDER',\n} as const;\n\nexport type PaymentMethodEnum = (typeof PaymentMethodEnum)[keyof typeof PaymentMethodEnum];\nexport const PAYMENT_METHOD_VALUES = Object.values(PaymentMethodEnum);\n\nexport const paymentMethodColorMap: Record<PaymentMethodEnum, string> = {\n [PaymentMethodEnum.CREDIT_CARD]: 'blue',\n [PaymentMethodEnum.PAYPAL]: 'geekblue',\n [PaymentMethodEnum.STRIPE]: 'purple',\n [PaymentMethodEnum.CHECK]: 'orange',\n [PaymentMethodEnum.APPLE_PAY]: 'black',\n [PaymentMethodEnum.PURCHASE_ORDER]: 'gold',\n};\n\nexport const PaymentGatewayEnum = {\n STRIPE: 'STRIPE',\n PAYPAL: 'PAYPAL',\n BRAINTREE: 'BRAINTREE',\n MANUAL: 'MANUAL',\n} as const;\n\nexport type PaymentGatewayEnum = (typeof PaymentGatewayEnum)[keyof typeof PaymentGatewayEnum];\nexport const PAYMENT_GATEWAY_VALUES = Object.values(PaymentGatewayEnum);\n\nexport const paymentGatewayColorMap: Record<PaymentGatewayEnum, string> = {\n [PaymentGatewayEnum.STRIPE]: 'purple',\n [PaymentGatewayEnum.PAYPAL]: 'geekblue',\n [PaymentGatewayEnum.BRAINTREE]: 'cyan',\n [PaymentGatewayEnum.MANUAL]: 'gold',\n};\n\nexport const TransactionTypeEnum = {\n ORDER: \"ORDER\",\n REFUND: \"REFUND\",\n} as const;\n\nexport type TransactionTypeEnum = (typeof TransactionTypeEnum)[keyof typeof TransactionTypeEnum];\n\nexport const TRANSACTION_TYPE_VALUES = Object.values(TransactionTypeEnum);\n\nexport const typeColorMap: Record<TransactionTypeEnum, string> = {\n [TransactionTypeEnum.ORDER]: \"blue\",\n [TransactionTypeEnum.REFUND]: \"purple\",\n};\n\nexport interface ITransactionBase extends BaseEntity {\n order: IOrder;\n currency: ICurrency;\n transactionId: string;\n amount: number;\n status: PaymentStatusEnum;\n paymentMethod: PaymentMethodEnum;\n gateway?: PaymentGatewayEnum;\n gatewayId?: string;\n metaData?: Metadata;\n comment?: string;\n isPaymentLink?: boolean;\n refundedAmount?: number;\n proofFileId?: string;\n}\n\nexport interface IOrderTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.ORDER;\n}\n\nexport interface IRefundTransaction extends ITransactionBase {\n type: typeof TransactionTypeEnum.REFUND;\n originalTransaction?: ITransactionBase;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { IProduct } from \"../product\";\nimport type { IStore } from \"../store\";\n\nexport const ProductEventTypeEnum = {\n VIEW: \"view\",\n ADD_TO_CART: \"add_to_cart\",\n PURCHASE: \"purchase\",\n} as const;\n\nexport type ProductEventTypeEnum = (typeof ProductEventTypeEnum)[keyof typeof ProductEventTypeEnum];\nexport const PRODUCT_EVENT_TYPE_VALUES = Object.values(ProductEventTypeEnum);\n\nexport interface IProductDailyStat extends BaseEntity {\n product: IProduct | string;\n store?: IStore | string | null;\n date: string;\n views: number;\n addToCarts: number;\n purchases: number;\n revenue: number;\n}\n","import type { BaseEntity } from \"../base\";\nimport type { Metadata } from \"../common\";\nimport type { IOrder } from \"../order\";\nimport type { IStore } from \"../store\";\n\nexport const NotificationTypeEnum = {\n ORDER_RECEIVED: \"ORDER_RECEIVED\",\n PAYMENT_SUCCEEDED: \"PAYMENT_SUCCEEDED\",\n PAYMENT_FAILED: \"PAYMENT_FAILED\",\n REFUND: \"REFUND\",\n ORDER_CANCELLED: \"ORDER_CANCELLED\",\n ORDER_STATUS: \"ORDER_STATUS\",\n} as const;\n\nexport type NotificationTypeEnum = (typeof NotificationTypeEnum)[keyof typeof NotificationTypeEnum];\nexport const NOTIFICATION_TYPE_VALUES = Object.values(NotificationTypeEnum);\n\nexport const notificationTypeColorMap: Record<NotificationTypeEnum, string> = {\n [NotificationTypeEnum.ORDER_RECEIVED]: \"blue\",\n [NotificationTypeEnum.PAYMENT_SUCCEEDED]: \"green\",\n [NotificationTypeEnum.PAYMENT_FAILED]: \"red\",\n [NotificationTypeEnum.REFUND]: \"purple\",\n [NotificationTypeEnum.ORDER_CANCELLED]: \"volcano\",\n [NotificationTypeEnum.ORDER_STATUS]: \"cyan\",\n};\n\nexport interface INotification extends BaseEntity {\n type: NotificationTypeEnum;\n title: string;\n message: string;\n order?: IOrder | string | null;\n store?: IStore | string | null;\n read: boolean;\n readAt?: Date | null;\n meta?: Metadata;\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fas-core/shared-types",
3
- "version": "1.0.76",
3
+ "version": "1.0.81",
4
4
  "description": "FAS Core Shared Types - A collection of shared TypeScript types for the FAS Core SDK.",
5
5
  "author": "ibreakloops",
6
6
  "license": "UNLICENSED",