@fas-core/shared-types 1.0.93 → 1.0.100
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 +209 -129
- package/dist/index.d.ts +209 -129
- package/dist/index.js +192 -93
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +192 -93
- package/dist/index.mjs.map +1 -1
- package/package.json +42 -42
package/dist/index.d.mts
CHANGED
|
@@ -21,23 +21,12 @@ interface ICountry extends BaseEntity {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
type Id = Types.ObjectId | string;
|
|
24
|
-
interface Paginated<T> {
|
|
25
|
-
data: T[];
|
|
26
|
-
total: number;
|
|
27
|
-
page: number;
|
|
28
|
-
limit: number;
|
|
29
|
-
totalPages: number;
|
|
30
|
-
}
|
|
31
24
|
interface ApiResponse<T> {
|
|
32
25
|
success: boolean;
|
|
33
26
|
message: string;
|
|
34
27
|
data?: T;
|
|
35
28
|
error?: string;
|
|
36
29
|
}
|
|
37
|
-
interface SoftDeleteFilter {
|
|
38
|
-
isDeleted?: boolean;
|
|
39
|
-
deletedAt?: Date | null;
|
|
40
|
-
}
|
|
41
30
|
|
|
42
31
|
type Metadata = Record<string, unknown>;
|
|
43
32
|
interface IKeyValue {
|
|
@@ -98,13 +87,6 @@ interface ISummaryPricing {
|
|
|
98
87
|
totalAmount: number;
|
|
99
88
|
currencyCode: string;
|
|
100
89
|
}
|
|
101
|
-
interface ITechSpec {
|
|
102
|
-
group?: string;
|
|
103
|
-
key: string;
|
|
104
|
-
label: string;
|
|
105
|
-
value?: unknown;
|
|
106
|
-
values?: Metadata;
|
|
107
|
-
}
|
|
108
90
|
interface IShipping {
|
|
109
91
|
weightLb: number;
|
|
110
92
|
weightKg: number;
|
|
@@ -115,27 +97,13 @@ interface IShipping {
|
|
|
115
97
|
heightIn: number;
|
|
116
98
|
heightMm: number;
|
|
117
99
|
}
|
|
118
|
-
interface ICompliance {
|
|
119
|
-
eccn: string;
|
|
120
|
-
hts: number;
|
|
121
|
-
unspsc: number;
|
|
122
|
-
taa: string;
|
|
123
|
-
stratCode: string;
|
|
124
|
-
}
|
|
125
|
-
interface IDocumentation {
|
|
126
|
-
warranty: string[];
|
|
127
|
-
infographics: string[];
|
|
128
|
-
environment: string[];
|
|
129
|
-
}
|
|
130
|
-
interface IContent {
|
|
131
|
-
overview: string;
|
|
132
|
-
expertNote: string;
|
|
133
|
-
keyFeatures: string[];
|
|
134
|
-
applications: string;
|
|
135
|
-
}
|
|
136
100
|
|
|
137
101
|
declare const toIdString: (value: unknown) => string;
|
|
138
102
|
|
|
103
|
+
declare const isNonEmptyString: (value: unknown) => value is string;
|
|
104
|
+
declare const normalizeNumber: (value: unknown, fallback?: number) => number;
|
|
105
|
+
declare const isValidEmail: (email: unknown) => email is string;
|
|
106
|
+
|
|
139
107
|
interface ICurrency extends BaseEntity {
|
|
140
108
|
name: string;
|
|
141
109
|
symbol: string;
|
|
@@ -248,7 +216,6 @@ declare const StockStatusEnum: {
|
|
|
248
216
|
readonly OUT_OF_STOCK: "OUT_OF_STOCK";
|
|
249
217
|
};
|
|
250
218
|
type StockStatus = (typeof StockStatusEnum)[keyof typeof StockStatusEnum];
|
|
251
|
-
declare const STOCK_STATUS_VALUES: ("IN_STOCK" | "LOW_STOCK" | "OUT_OF_STOCK")[];
|
|
252
219
|
interface IStock extends BaseEntity {
|
|
253
220
|
sku: string;
|
|
254
221
|
product: IProduct;
|
|
@@ -308,7 +275,13 @@ interface IProductVariantFields {
|
|
|
308
275
|
}
|
|
309
276
|
|
|
310
277
|
type VariantOptionMode = "OPTION_BACKED" | "MANUAL";
|
|
311
|
-
|
|
278
|
+
declare const ProductVariantTypeEnum: {
|
|
279
|
+
readonly SINGLE: "SINGLE";
|
|
280
|
+
readonly OPTION_BACKED: "OPTION_BACKED";
|
|
281
|
+
readonly MANUAL: "MANUAL";
|
|
282
|
+
};
|
|
283
|
+
type ProductVariantType = (typeof ProductVariantTypeEnum)[keyof typeof ProductVariantTypeEnum];
|
|
284
|
+
declare const PRODUCT_VARIANT_TYPE_VALUES: ("OPTION_BACKED" | "MANUAL" | "SINGLE")[];
|
|
312
285
|
interface IProductVariantOptionValue {
|
|
313
286
|
id?: string;
|
|
314
287
|
valueKey: string;
|
|
@@ -336,21 +309,6 @@ interface IVariantOptionSelection {
|
|
|
336
309
|
valueLabel: string;
|
|
337
310
|
sortOrder: number;
|
|
338
311
|
}
|
|
339
|
-
interface IProductOptionGroup extends BaseEntity {
|
|
340
|
-
product: IProduct;
|
|
341
|
-
optionKey: string;
|
|
342
|
-
name: string;
|
|
343
|
-
sortOrder: number;
|
|
344
|
-
status: boolean;
|
|
345
|
-
}
|
|
346
|
-
interface IProductOptionValue extends BaseEntity {
|
|
347
|
-
product: IProduct;
|
|
348
|
-
group: IProductOptionGroup;
|
|
349
|
-
valueKey: string;
|
|
350
|
-
label: string;
|
|
351
|
-
sortOrder: number;
|
|
352
|
-
status: boolean;
|
|
353
|
-
}
|
|
354
312
|
|
|
355
313
|
interface IVariant extends BaseEntity, IProductVariantFields {
|
|
356
314
|
name: string;
|
|
@@ -441,11 +399,6 @@ interface IOrderItem extends BaseEntity {
|
|
|
441
399
|
variant?: IVariant;
|
|
442
400
|
pricing: ILinePricing;
|
|
443
401
|
metaData: Metadata;
|
|
444
|
-
bundleId?: string | null;
|
|
445
|
-
bundleTitle?: string | null;
|
|
446
|
-
bundleConfiguratorKey?: string | null;
|
|
447
|
-
bundleQuantity?: number;
|
|
448
|
-
bundleUnitQuantity?: number | null;
|
|
449
402
|
note?: string;
|
|
450
403
|
}
|
|
451
404
|
|
|
@@ -486,7 +439,6 @@ declare const PaymentGatewayEnum: {
|
|
|
486
439
|
};
|
|
487
440
|
type PaymentGatewayEnum = (typeof PaymentGatewayEnum)[keyof typeof PaymentGatewayEnum];
|
|
488
441
|
declare const PAYMENT_GATEWAY_VALUES: ("MANUAL" | "PAYPAL" | "STRIPE" | "BRAINTREE")[];
|
|
489
|
-
declare const paymentGatewayColorMap: Record<PaymentGatewayEnum, string>;
|
|
490
442
|
declare const TransactionTypeEnum: {
|
|
491
443
|
readonly ORDER: "ORDER";
|
|
492
444
|
readonly REFUND: "REFUND";
|
|
@@ -496,17 +448,18 @@ declare const TRANSACTION_TYPE_VALUES: ("ORDER" | "REFUND")[];
|
|
|
496
448
|
declare const typeColorMap: Record<TransactionTypeEnum, string>;
|
|
497
449
|
interface ITransactionBase extends BaseEntity {
|
|
498
450
|
order: IOrder;
|
|
451
|
+
store: IStore | string;
|
|
499
452
|
currency: ICurrency;
|
|
500
453
|
transactionId: string;
|
|
501
454
|
amount: number;
|
|
502
455
|
status: PaymentStatusEnum;
|
|
503
456
|
paymentMethod: PaymentMethodEnum;
|
|
504
|
-
gateway
|
|
457
|
+
gateway: PaymentGatewayEnum;
|
|
505
458
|
gatewayId?: string;
|
|
506
|
-
metaData
|
|
459
|
+
metaData: Metadata;
|
|
507
460
|
comment?: string;
|
|
508
|
-
isPaymentLink
|
|
509
|
-
refundedAmount
|
|
461
|
+
isPaymentLink: boolean;
|
|
462
|
+
refundedAmount: number;
|
|
510
463
|
proofFileId?: string;
|
|
511
464
|
}
|
|
512
465
|
interface IOrderTransaction extends ITransactionBase {
|
|
@@ -542,11 +495,6 @@ declare const ORDER_STATUS_VALUES: ("PENDING" | "PROCESSING" | "FAILED" | "REFUN
|
|
|
542
495
|
declare const statusColors: Record<OrderStatusEnum, string>;
|
|
543
496
|
declare const PURCHASE_ORDER_STATUSES: OrderStatusEnum[];
|
|
544
497
|
declare const QUOTE_ORDER_STATUSES: OrderStatusEnum[];
|
|
545
|
-
interface IOrderTracking {
|
|
546
|
-
number: string;
|
|
547
|
-
url: string;
|
|
548
|
-
carrier: string;
|
|
549
|
-
}
|
|
550
498
|
interface IOrder extends BaseEntity {
|
|
551
499
|
orderId: string;
|
|
552
500
|
orderItems: IOrderItem[];
|
|
@@ -564,7 +512,6 @@ interface IOrder extends BaseEntity {
|
|
|
564
512
|
shippingAddress: IAddress;
|
|
565
513
|
billingAddress: IAddress;
|
|
566
514
|
shippingMethod: string;
|
|
567
|
-
tracking: IOrderTracking;
|
|
568
515
|
acceptedTermsAt: Date;
|
|
569
516
|
customerNote: string;
|
|
570
517
|
metaData: Metadata;
|
|
@@ -621,8 +568,153 @@ interface IAddress extends BaseEntity {
|
|
|
621
568
|
customer: ICustomer;
|
|
622
569
|
}
|
|
623
570
|
|
|
624
|
-
|
|
625
|
-
|
|
571
|
+
declare const ADMIN_RESOURCE_LIST: readonly [{
|
|
572
|
+
readonly value: "dashboard";
|
|
573
|
+
readonly label: "Dashboard";
|
|
574
|
+
readonly group: "Overview";
|
|
575
|
+
}, {
|
|
576
|
+
readonly value: "metrics";
|
|
577
|
+
readonly label: "Metrics";
|
|
578
|
+
readonly group: "Overview";
|
|
579
|
+
}, {
|
|
580
|
+
readonly value: "products";
|
|
581
|
+
readonly label: "Products";
|
|
582
|
+
readonly group: "Catalog";
|
|
583
|
+
}, {
|
|
584
|
+
readonly value: "categories";
|
|
585
|
+
readonly label: "Categories";
|
|
586
|
+
readonly group: "Catalog";
|
|
587
|
+
}, {
|
|
588
|
+
readonly value: "brands";
|
|
589
|
+
readonly label: "Brands";
|
|
590
|
+
readonly group: "Catalog";
|
|
591
|
+
}, {
|
|
592
|
+
readonly value: "technical-specs";
|
|
593
|
+
readonly label: "Technical Specs";
|
|
594
|
+
readonly group: "Catalog";
|
|
595
|
+
}, {
|
|
596
|
+
readonly value: "addon-configs";
|
|
597
|
+
readonly label: "Addon Configs";
|
|
598
|
+
readonly group: "Catalog";
|
|
599
|
+
}, {
|
|
600
|
+
readonly value: "relation-groups";
|
|
601
|
+
readonly label: "Relation Groups";
|
|
602
|
+
readonly group: "Catalog";
|
|
603
|
+
}, {
|
|
604
|
+
readonly value: "configurators";
|
|
605
|
+
readonly label: "Configurators";
|
|
606
|
+
readonly group: "Catalog";
|
|
607
|
+
}, {
|
|
608
|
+
readonly value: "orders";
|
|
609
|
+
readonly label: "Orders";
|
|
610
|
+
readonly group: "Commerce";
|
|
611
|
+
}, {
|
|
612
|
+
readonly value: "quotes";
|
|
613
|
+
readonly label: "Quotes";
|
|
614
|
+
readonly group: "Commerce";
|
|
615
|
+
}, {
|
|
616
|
+
readonly value: "carts";
|
|
617
|
+
readonly label: "Carts";
|
|
618
|
+
readonly group: "Commerce";
|
|
619
|
+
}, {
|
|
620
|
+
readonly value: "transactions";
|
|
621
|
+
readonly label: "Transactions";
|
|
622
|
+
readonly group: "Commerce";
|
|
623
|
+
}, {
|
|
624
|
+
readonly value: "coupons";
|
|
625
|
+
readonly label: "Coupons";
|
|
626
|
+
readonly group: "Commerce";
|
|
627
|
+
}, {
|
|
628
|
+
readonly value: "store-fees";
|
|
629
|
+
readonly label: "Store Fees";
|
|
630
|
+
readonly group: "Commerce";
|
|
631
|
+
}, {
|
|
632
|
+
readonly value: "customers";
|
|
633
|
+
readonly label: "Customers";
|
|
634
|
+
readonly group: "People";
|
|
635
|
+
}, {
|
|
636
|
+
readonly value: "contact-us";
|
|
637
|
+
readonly label: "Contact Requests";
|
|
638
|
+
readonly group: "People";
|
|
639
|
+
}, {
|
|
640
|
+
readonly value: "subscribers";
|
|
641
|
+
readonly label: "Subscribers";
|
|
642
|
+
readonly group: "People";
|
|
643
|
+
}, {
|
|
644
|
+
readonly value: "blog";
|
|
645
|
+
readonly label: "Blog";
|
|
646
|
+
readonly group: "Content";
|
|
647
|
+
}, {
|
|
648
|
+
readonly value: "faqs";
|
|
649
|
+
readonly label: "FAQs";
|
|
650
|
+
readonly group: "Content";
|
|
651
|
+
}, {
|
|
652
|
+
readonly value: "podcast";
|
|
653
|
+
readonly label: "Podcast";
|
|
654
|
+
readonly group: "Content";
|
|
655
|
+
}, {
|
|
656
|
+
readonly value: "email-templates";
|
|
657
|
+
readonly label: "Email Templates";
|
|
658
|
+
readonly group: "Content";
|
|
659
|
+
}, {
|
|
660
|
+
readonly value: "notifications";
|
|
661
|
+
readonly label: "Notifications";
|
|
662
|
+
readonly group: "Content";
|
|
663
|
+
}, {
|
|
664
|
+
readonly value: "campaigns";
|
|
665
|
+
readonly label: "Campaigns";
|
|
666
|
+
readonly group: "Content";
|
|
667
|
+
}, {
|
|
668
|
+
readonly value: "stores";
|
|
669
|
+
readonly label: "Stores";
|
|
670
|
+
readonly group: "Settings";
|
|
671
|
+
}, {
|
|
672
|
+
readonly value: "currencies";
|
|
673
|
+
readonly label: "Currencies";
|
|
674
|
+
readonly group: "Settings";
|
|
675
|
+
}, {
|
|
676
|
+
readonly value: "redirects";
|
|
677
|
+
readonly label: "Redirects";
|
|
678
|
+
readonly group: "Settings";
|
|
679
|
+
}, {
|
|
680
|
+
readonly value: "cache";
|
|
681
|
+
readonly label: "Cache";
|
|
682
|
+
readonly group: "Settings";
|
|
683
|
+
}, {
|
|
684
|
+
readonly value: "admins";
|
|
685
|
+
readonly label: "Admins";
|
|
686
|
+
readonly group: "Settings";
|
|
687
|
+
}, {
|
|
688
|
+
readonly value: "account";
|
|
689
|
+
readonly label: "Account";
|
|
690
|
+
readonly group: "Settings";
|
|
691
|
+
}];
|
|
692
|
+
declare const ADMIN_RESOURCES: ("stores" | "dashboard" | "metrics" | "products" | "categories" | "brands" | "technical-specs" | "addon-configs" | "relation-groups" | "configurators" | "orders" | "quotes" | "carts" | "transactions" | "coupons" | "store-fees" | "customers" | "contact-us" | "subscribers" | "blog" | "faqs" | "podcast" | "email-templates" | "notifications" | "campaigns" | "currencies" | "redirects" | "cache" | "admins" | "account")[];
|
|
693
|
+
type IAdminResource = (typeof ADMIN_RESOURCE_LIST)[number]['value'];
|
|
694
|
+
declare const ADMIN_ACTIONS: readonly ["read", "write", "delete"];
|
|
695
|
+
type IAdminBaseAction = (typeof ADMIN_ACTIONS)[number];
|
|
696
|
+
declare const RESOURCE_OPERATIONS: Partial<Record<IAdminResource, readonly string[]>>;
|
|
697
|
+
type IAdminAction = IAdminBaseAction | string;
|
|
698
|
+
declare const actionsForResource: (resource: IAdminResource) => IAdminAction[];
|
|
699
|
+
declare const isValidAction: (resource: IAdminResource, action: string) => boolean;
|
|
700
|
+
interface IAdminPermission {
|
|
701
|
+
resource: IAdminResource;
|
|
702
|
+
actions: IAdminAction[];
|
|
703
|
+
}
|
|
704
|
+
interface IAdminStoreAccess {
|
|
705
|
+
store: string;
|
|
706
|
+
role?: string | null;
|
|
707
|
+
extras: IAdminPermission[];
|
|
708
|
+
}
|
|
709
|
+
interface IAdminRole extends BaseEntity {
|
|
710
|
+
key: string;
|
|
711
|
+
name: string;
|
|
712
|
+
description: string;
|
|
713
|
+
permissions: IAdminPermission[];
|
|
714
|
+
isSuperAdmin: boolean;
|
|
715
|
+
isSystem: boolean;
|
|
716
|
+
}
|
|
717
|
+
type IAdminRoleCreate = Omit<IAdminRole, keyof BaseEntity>;
|
|
626
718
|
interface IAdmin extends BaseEntity {
|
|
627
719
|
firstName: string;
|
|
628
720
|
lastName: string;
|
|
@@ -630,15 +722,57 @@ interface IAdmin extends BaseEntity {
|
|
|
630
722
|
phoneNumber: string;
|
|
631
723
|
status: boolean;
|
|
632
724
|
password: string;
|
|
633
|
-
role:
|
|
725
|
+
role: string;
|
|
634
726
|
access_list: string[];
|
|
727
|
+
storeAccess: IAdminStoreAccess[];
|
|
728
|
+
resetPasswordTokenHash?: string;
|
|
729
|
+
resetPasswordTokenExpiresAt?: Date | null;
|
|
635
730
|
joiningDate: Date;
|
|
636
731
|
profileImage: string;
|
|
637
732
|
lastLogin: Date;
|
|
638
733
|
}
|
|
639
|
-
type IAdminCreate = Omit<IAdmin, keyof BaseEntity>;
|
|
640
|
-
type IAdminUpdate = Partial<IAdminCreate>;
|
|
641
734
|
type IAdminSafe = Omit<IAdmin, 'password'>;
|
|
735
|
+
declare const ADMIN_AUDIT_ACTIONS: readonly ["role.create", "role.update", "role.delete", "admin.create", "admin.role", "admin.grants", "admin.status", "admin.delete"];
|
|
736
|
+
type IAdminAuditAction = (typeof ADMIN_AUDIT_ACTIONS)[number];
|
|
737
|
+
interface IAdminAuditLog extends BaseEntity {
|
|
738
|
+
actor: IAdmin | string;
|
|
739
|
+
actorName: string;
|
|
740
|
+
action: IAdminAuditAction;
|
|
741
|
+
targetAdmin?: IAdmin | string | null;
|
|
742
|
+
targetRole?: IAdminRole | string | null;
|
|
743
|
+
store?: string | null;
|
|
744
|
+
summary: string;
|
|
745
|
+
before?: Record<string, unknown> | null;
|
|
746
|
+
after?: Record<string, unknown> | null;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
interface EffectiveAccess {
|
|
750
|
+
isSuperAdmin: boolean;
|
|
751
|
+
permissions: Record<string, string[]>;
|
|
752
|
+
}
|
|
753
|
+
interface ResolveAccessInput {
|
|
754
|
+
role?: string | null;
|
|
755
|
+
storeAccess?: IAdminStoreAccess[];
|
|
756
|
+
roles: Record<string, Pick<IAdminRole, 'permissions' | 'isSuperAdmin'>>;
|
|
757
|
+
storeId?: string | null;
|
|
758
|
+
}
|
|
759
|
+
declare const EMPTY_ACCESS: EffectiveAccess;
|
|
760
|
+
declare const resolveEffectivePermissions: (input: ResolveAccessInput) => EffectiveAccess;
|
|
761
|
+
declare const can: (access: EffectiveAccess, resource: IAdminResource, action: IAdminAction) => boolean;
|
|
762
|
+
declare const canAny: (access: EffectiveAccess, resource: IAdminResource) => boolean;
|
|
763
|
+
declare const grantedPermissions: (access: EffectiveAccess) => IAdminPermission[];
|
|
764
|
+
declare const missingGrants: (actor: EffectiveAccess, requested: IAdminPermission[]) => string[];
|
|
765
|
+
declare const ALL_STORES = "*";
|
|
766
|
+
interface StoreScopeInput {
|
|
767
|
+
role?: string | null;
|
|
768
|
+
storeAccess?: IAdminStoreAccess[];
|
|
769
|
+
roles: Record<string, Pick<IAdminRole, 'permissions' | 'isSuperAdmin'>>;
|
|
770
|
+
}
|
|
771
|
+
declare const resolveStoreScope: (input: StoreScopeInput) => string[] | null;
|
|
772
|
+
interface StoreAccessCheckInput extends StoreScopeInput {
|
|
773
|
+
storeId?: string | null;
|
|
774
|
+
}
|
|
775
|
+
declare const hasStoreAccess: (input: StoreAccessCheckInput) => boolean;
|
|
642
776
|
|
|
643
777
|
interface IContact extends BaseEntity {
|
|
644
778
|
firstName: string;
|
|
@@ -804,7 +938,6 @@ declare const ConfiguratorErrorCodeEnum: {
|
|
|
804
938
|
readonly RULES_UNSTABLE: "RULES_UNSTABLE";
|
|
805
939
|
};
|
|
806
940
|
type ConfiguratorErrorCodeEnum = (typeof ConfiguratorErrorCodeEnum)[keyof typeof ConfiguratorErrorCodeEnum];
|
|
807
|
-
declare const CONFIGURATOR_ERROR_CODE_VALUES: ("REQUIRED_SECTION_EMPTY" | "OPTION_NOT_AVAILABLE" | "SECTION_NOT_AVAILABLE" | "UNKNOWN_SECTION" | "SINGLE_SELECT_OVERFILLED" | "RULES_UNSTABLE")[];
|
|
808
941
|
interface IConfiguratorQuery {
|
|
809
942
|
search?: string;
|
|
810
943
|
categories?: string[];
|
|
@@ -1033,58 +1166,10 @@ interface ICartItem extends BaseEntity {
|
|
|
1033
1166
|
variant?: IVariant;
|
|
1034
1167
|
pricing: ILinePricing;
|
|
1035
1168
|
metaData: Metadata;
|
|
1036
|
-
/**
|
|
1037
|
-
* Groups the lines produced by one configurator build so the cart renders and removes
|
|
1038
|
-
* them as a unit. Part of the line dedupe key — two bundles holding the same product
|
|
1039
|
-
* must stay separate lines rather than merging into one.
|
|
1040
|
-
*/
|
|
1041
|
-
bundleId?: string | null;
|
|
1042
|
-
bundleTitle?: string | null;
|
|
1043
|
-
/**
|
|
1044
|
-
* Which configurator produced this bundle. Required once more than one can be published:
|
|
1045
|
-
* the server validates a bundle against THIS configurator's rules, and the cart's reconfigure
|
|
1046
|
-
* link reopens THIS one. Validating against "whichever is active" would check a build against
|
|
1047
|
-
* the wrong rulebook.
|
|
1048
|
-
*/
|
|
1049
|
-
bundleConfiguratorKey?: string | null;
|
|
1050
|
-
/**
|
|
1051
|
-
* How many copies of the whole configuration the customer ordered. `quantity` stays the
|
|
1052
|
-
* EFFECTIVE figure so pricing, stock and orders need no change; `bundleUnitQuantity` keeps
|
|
1053
|
-
* the per-bundle figure so the stepper can re-multiply without walking the wizard again.
|
|
1054
|
-
*/
|
|
1055
|
-
bundleQuantity?: number;
|
|
1056
|
-
bundleUnitQuantity?: number | null;
|
|
1057
1169
|
/** Buyer-entered line note. Survives to the order and appears on the confirmation. */
|
|
1058
1170
|
note?: string;
|
|
1059
1171
|
}
|
|
1060
1172
|
|
|
1061
|
-
declare const MAX_BUNDLE_QUANTITY = 99;
|
|
1062
|
-
declare const normalizeBundleQuantity: (value: unknown) => number;
|
|
1063
|
-
declare const bundleLineQuantity: (unitQuantity: number, bundleQuantity: number) => number;
|
|
1064
|
-
declare const bundleUnitFrom: (line: {
|
|
1065
|
-
bundleUnitQuantity?: number | null;
|
|
1066
|
-
quantity: number;
|
|
1067
|
-
bundleQuantity?: number | null;
|
|
1068
|
-
}) => number;
|
|
1069
|
-
interface BundleLine {
|
|
1070
|
-
bundleId?: string | null;
|
|
1071
|
-
bundleTitle?: string | null;
|
|
1072
|
-
bundleQuantity?: number;
|
|
1073
|
-
bundleUnitQuantity?: number | null;
|
|
1074
|
-
pricing?: {
|
|
1075
|
-
totalAmount?: number;
|
|
1076
|
-
};
|
|
1077
|
-
}
|
|
1078
|
-
interface BundleGroup {
|
|
1079
|
-
bundleId: string;
|
|
1080
|
-
title: string;
|
|
1081
|
-
quantity: number;
|
|
1082
|
-
lines: number;
|
|
1083
|
-
total: number;
|
|
1084
|
-
}
|
|
1085
|
-
declare const bundleGroupsOf: (items: BundleLine[]) => BundleGroup[];
|
|
1086
|
-
declare const orderByBundle: <T extends BundleLine>(items: T[]) => T[];
|
|
1087
|
-
|
|
1088
1173
|
interface StockDemandLine {
|
|
1089
1174
|
key: string;
|
|
1090
1175
|
quantity: number;
|
|
@@ -1095,8 +1180,6 @@ declare const StockVerdictEnum: {
|
|
|
1095
1180
|
readonly OUT_OF_STOCK: "OUT_OF_STOCK";
|
|
1096
1181
|
readonly INSUFFICIENT_STOCK: "INSUFFICIENT_STOCK";
|
|
1097
1182
|
};
|
|
1098
|
-
type StockVerdictType = (typeof StockVerdictEnum)[keyof typeof StockVerdictEnum];
|
|
1099
|
-
declare const STOCK_VERDICT_VALUES: ("OUT_OF_STOCK" | "OK" | "INSUFFICIENT_STOCK")[];
|
|
1100
1183
|
type StockVerdict = {
|
|
1101
1184
|
type: typeof StockVerdictEnum.OK;
|
|
1102
1185
|
} | {
|
|
@@ -1145,7 +1228,6 @@ declare const CartIssueTypes: {
|
|
|
1145
1228
|
readonly COUPON_INVALID: "COUPON_INVALID";
|
|
1146
1229
|
};
|
|
1147
1230
|
type CartIssueType = (typeof CartIssueTypes)[keyof typeof CartIssueTypes];
|
|
1148
|
-
declare const CART_ISSUE_TYPE_VALUES: ("OUT_OF_STOCK" | "INSUFFICIENT_STOCK" | "ITEM_UNAVAILABLE" | "COUPON_INVALID")[];
|
|
1149
1231
|
interface CartIssue {
|
|
1150
1232
|
type: CartIssueType;
|
|
1151
1233
|
itemId?: string;
|
|
@@ -1397,7 +1479,6 @@ declare const ProductEventTypeEnum: {
|
|
|
1397
1479
|
readonly PURCHASE: "purchase";
|
|
1398
1480
|
};
|
|
1399
1481
|
type ProductEventTypeEnum = (typeof ProductEventTypeEnum)[keyof typeof ProductEventTypeEnum];
|
|
1400
|
-
declare const PRODUCT_EVENT_TYPE_VALUES: ("view" | "add_to_cart" | "purchase")[];
|
|
1401
1482
|
interface IProductDailyStat extends BaseEntity {
|
|
1402
1483
|
product: IProduct | string;
|
|
1403
1484
|
store?: IStore | string | null;
|
|
@@ -1419,7 +1500,6 @@ declare const NotificationTypeEnum: {
|
|
|
1419
1500
|
};
|
|
1420
1501
|
type NotificationTypeEnum = (typeof NotificationTypeEnum)[keyof typeof NotificationTypeEnum];
|
|
1421
1502
|
declare const NOTIFICATION_TYPE_VALUES: ("REFUND" | "QUOTE_REQUESTED" | "ORDER_RECEIVED" | "ORDER_CANCELLED" | "PAYMENT_SUCCEEDED" | "PAYMENT_FAILED" | "ORDER_STATUS")[];
|
|
1422
|
-
declare const notificationTypeColorMap: Record<NotificationTypeEnum, string>;
|
|
1423
1503
|
interface INotification extends BaseEntity {
|
|
1424
1504
|
type: NotificationTypeEnum;
|
|
1425
1505
|
title: string;
|
|
@@ -1442,4 +1522,4 @@ interface IWishlist extends BaseEntity {
|
|
|
1442
1522
|
items: IWishlistItem[];
|
|
1443
1523
|
}
|
|
1444
1524
|
|
|
1445
|
-
export { ACTIVE_SUBSCRIPTION_CHANNELS,
|
|
1525
|
+
export { ACTIVE_SUBSCRIPTION_CHANNELS, ADMIN_ACTIONS, ADMIN_AUDIT_ACTIONS, ADMIN_RESOURCES, ADMIN_RESOURCE_LIST, ALL_STORES, type AddonAmountInput, type AddonSelectionRef, type ApiResponse, type BaseEntity, CAMPAIGN_RECIPIENT_STATUS_VALUES, CAMPAIGN_STATUS_VALUES, CART_STATUS_VALUES, CONFIGURATOR_CONDITION_TYPE_VALUES, CONFIGURATOR_EFFECT_TYPE_VALUES, CONFIGURATOR_SELECT_MODE_VALUES, CONFIGURATOR_SOURCE_VALUES, CampaignRecipientStatusEnum, CampaignStatusEnum, type CartIssue, type CartIssueType, CartIssueTypes, CartStatusEnum, type CartValidation, type CheckoutAddressInput, type CheckoutPayload, type CheckoutResult, ConfiguratorConditionTypeEnum, ConfiguratorEffectTypeEnum, ConfiguratorErrorCodeEnum, type ConfiguratorEvalContext, type ConfiguratorEvalError, type ConfiguratorEvalResult, ConfiguratorSelectModeEnum, type ConfiguratorSelections, ConfiguratorSourceEnum, DEFAULT_SUBSCRIPTION_TOPICS, DiscountTypeEnum, EMAIL_TEMPLATE_EVENT_VALUES, EMAIL_TEMPLATE_VARIABLES_BY_EVENT, EMPTY_ACCESS, type EffectiveAccess, EmailTemplateEventEnum, FEE_APPLIES_TO_VALUES, FeeAppliesToEnum, type IAddonConfig, type IAddonGroup, type IAddress, type IAdmin, type IAdminAction, type IAdminAuditAction, type IAdminAuditLog, type IAdminBaseAction, type IAdminPermission, type IAdminResource, type IAdminRole, type IAdminRoleCreate, type IAdminSafe, type IAdminStoreAccess, type IAppliedFee, type IBannerSlide, type IBlogAuthor, type IBlogCategory, type IBlogCitation, type IBlogPost, type IBrand, type ICampaign, type ICampaignRecipient, type ICampaignStats, type ICart, type ICartItem, type ICategory, type IConfigurator, type IConfiguratorCondition, type IConfiguratorEffect, type IConfiguratorFacet, type IConfiguratorFacetValue, type IConfiguratorOption, type IConfiguratorPriceAdjustment, type IConfiguratorQuery, type IConfiguratorRule, type IConfiguratorSection, type IConfiguratorStep, type IConfiguratorTarget, type IContact, type ICountry, type ICoupon, type ICurrency, type ICustomer, type IDiscountType, type IEmailTemplate, type IFaq, type IFaqCategory, type IKeyValue, type ILinePricing, type IMediaAsset, INVENTORY_POLICY_VALUES, type INotification, type IOrder, type IOrderItem, type IOrderLog, type IOrderTransaction, type IPaymentLink, type IPodcastEpisode, type IPrice, type IProduct, type IProductDailyStat, 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 ITechnicalSpecColumn, type ITechnicalSpecGroup, type ITransactionBase, type IUnmatched404, type IVariant, type IVariantOptionSelection, type IWishlist, type IWishlistItem, 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_VARIANT_TYPE_VALUES, PURCHASE_ORDER_STATUSES, PaymentGatewayEnum, PaymentLinkStatusEnum, PaymentMethodEnum, PaymentStatusEnum, type PricedLineLike, type PricingType, PricingTypeEnum, type ProductAddonScope, ProductEventTypeEnum, type ProductVariantType, ProductVariantTypeEnum, QUOTE_ORDER_STATUSES, RESOURCE_OPERATIONS, RETIRED_CART_STATUSES, type RedirectTargetType, type ResolveAccessInput, type ResolvedAddonSelection, SALE_TYPE_VALUES, SUBSCRIPTION_CHANNEL_VALUES, SUBSCRIPTION_TOPIC_LABELS, SUBSCRIPTION_TOPIC_VALUES, type SaleType, SaleTypeEnum, type SaleTypedLike, type StockDemandLine, type StockStatus, StockStatusEnum, type StockVerdict, StockVerdictEnum, type StoreAccessCheckInput, type StoreScopeInput, SubscriptionChannelEnum, SubscriptionTopicEnum, TRANSACTION_TYPE_VALUES, TransactionTypeEnum, type VariantOptionMode, WIRED_EMAIL_TEMPLATE_EVENTS, actionsForResource, addonUnitAmount, addonsOfLine, addonsUnitAmount, adjustmentsFor, applyPriceAdjustments, baseUnitPriceOfLine, can, canAny, canonicalizePath, canonicalizeSlug, conditionHolds, demandByKey, evaluateConfigurator, feeHint, formatMoney, grantedPermissions, groupHasDefaultAddon, hasStoreAccess, isConfigurationValid, isNonEmptyString, isQuoteOnlyItem, isValidAction, isValidEmail, missingGrants, normalizeLineQuantity, normalizeNumber, normalizePath, orderLogTypeColorMap, paymentLinkStatusColorMap, paymentMethodColorMap, paymentStatusColorMap, resolveAddonSelections, resolveEffectivePermissions, resolveProductAddonGroups, resolveStoreScope, roundMoney, saleTypeOf, statusColors, stockVerdict, toIdString, typeColorMap };
|