@aptos-scp/scp-component-store-selling-features-domain-model 2.38.0 → 2.39.0
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/lib/domain/model/Constants.d.ts +5 -1
- package/lib/domain/model/Constants.js +4 -0
- package/lib/domain/model/TenderType.d.ts +2 -0
- package/lib/domain/model/TenderType.js +13 -3
- package/lib/domain/model/item/BaseItemLineDecorator.d.ts +2 -0
- package/lib/domain/model/item/BaseItemLineDecorator.js +6 -0
- package/lib/domain/model/item/IItemLine.d.ts +6 -0
- package/lib/domain/model/item/ItemLine.d.ts +4 -0
- package/lib/domain/model/item/ItemLine.js +16 -0
- package/package.json +2 -2
|
@@ -180,6 +180,8 @@ export declare enum UiInputKey {
|
|
|
180
180
|
ITEM_FILTER_BY = "input_itemFilterBy",
|
|
181
181
|
ITEM_CALCULATION_PROFILE = "item_calculationProfile",
|
|
182
182
|
ITEM_FULFILLMENT_TYPE = "input_itemFulfillmentType",
|
|
183
|
+
ITEM_PRE_ORDER = "input_itemPreOrder",
|
|
184
|
+
ITEM_PRE_ORDER_AVAILABLE_DATE = "input_itemPreOrderAvailableDate",
|
|
183
185
|
ITEM_LOOKUP_TYPE = "input_itemLookupType",
|
|
184
186
|
LAST_TRANSACTION = "input_lastTransaction",
|
|
185
187
|
LINE_NUMBER = "input_lineNumber",
|
|
@@ -1005,7 +1007,9 @@ export declare enum CollectedDataKey {
|
|
|
1005
1007
|
TotalLineTax = "totalLineTax",
|
|
1006
1008
|
CustomerInputScreens = "customerInputScreens",
|
|
1007
1009
|
CustomerInputMode = "customerInputMode",
|
|
1008
|
-
PreAuthCapture = "preAuthCapture"
|
|
1010
|
+
PreAuthCapture = "preAuthCapture",
|
|
1011
|
+
PreOrder = "preOrder",
|
|
1012
|
+
PreOrderAvailableDate = "preOrderAvailableDate"
|
|
1009
1013
|
}
|
|
1010
1014
|
export declare enum ItemLookupType {
|
|
1011
1015
|
ProductInquiryDetail = "ProductInquiryDetail",
|
|
@@ -181,6 +181,8 @@ var UiInputKey;
|
|
|
181
181
|
UiInputKey["ITEM_FILTER_BY"] = "input_itemFilterBy";
|
|
182
182
|
UiInputKey["ITEM_CALCULATION_PROFILE"] = "item_calculationProfile";
|
|
183
183
|
UiInputKey["ITEM_FULFILLMENT_TYPE"] = "input_itemFulfillmentType";
|
|
184
|
+
UiInputKey["ITEM_PRE_ORDER"] = "input_itemPreOrder";
|
|
185
|
+
UiInputKey["ITEM_PRE_ORDER_AVAILABLE_DATE"] = "input_itemPreOrderAvailableDate";
|
|
184
186
|
UiInputKey["ITEM_LOOKUP_TYPE"] = "input_itemLookupType";
|
|
185
187
|
UiInputKey["LAST_TRANSACTION"] = "input_lastTransaction";
|
|
186
188
|
UiInputKey["LINE_NUMBER"] = "input_lineNumber";
|
|
@@ -1013,6 +1015,8 @@ var CollectedDataKey;
|
|
|
1013
1015
|
CollectedDataKey["CustomerInputScreens"] = "customerInputScreens";
|
|
1014
1016
|
CollectedDataKey["CustomerInputMode"] = "customerInputMode";
|
|
1015
1017
|
CollectedDataKey["PreAuthCapture"] = "preAuthCapture";
|
|
1018
|
+
CollectedDataKey["PreOrder"] = "preOrder";
|
|
1019
|
+
CollectedDataKey["PreOrderAvailableDate"] = "preOrderAvailableDate";
|
|
1016
1020
|
})(CollectedDataKey = exports.CollectedDataKey || (exports.CollectedDataKey = {}));
|
|
1017
1021
|
var ItemLookupType;
|
|
1018
1022
|
(function (ItemLookupType) {
|
|
@@ -95,6 +95,7 @@ export declare class TenderType {
|
|
|
95
95
|
private _eligibleForTaxLottery?;
|
|
96
96
|
private _cashoutThreshold?;
|
|
97
97
|
static getActiveConfiguredTenders(container: Container, accountingCurrency: string): TenderType[];
|
|
98
|
+
static getAllConfiguredTenders(container: Container, accountingCurrency: string): TenderType[];
|
|
98
99
|
static getActiveRefundConfiguredTenders(container: Container, accountingCurrency: string, withTransaction: boolean, withOfflineTransaction: boolean): TenderType[];
|
|
99
100
|
static getActiveSuggestedRefundTenders(container: Container, accountingCurrency: string, withMappedTender?: boolean): TenderType[];
|
|
100
101
|
static getActiveConfiguredTenderGroups(container: Container, accountingCurrency: string, activeTenders: TenderType[]): ITenderGroup[];
|
|
@@ -152,6 +153,7 @@ export declare class TenderType {
|
|
|
152
153
|
get subscriptionEntryMethods(): EntryMethod[];
|
|
153
154
|
get cashoutThreshold(): Money;
|
|
154
155
|
private static getActiveTenders;
|
|
156
|
+
private static mapTenderDefinitionToTenderType;
|
|
155
157
|
private static filterActiveTenderIds;
|
|
156
158
|
private static tenderAuthCategoryIsActive;
|
|
157
159
|
private static tenderTypeIsActive;
|
|
@@ -72,6 +72,13 @@ class TenderType {
|
|
|
72
72
|
static getActiveConfiguredTenders(container, accountingCurrency) {
|
|
73
73
|
return TenderType.getActiveTenders(container, accountingCurrency, false, false, false, false);
|
|
74
74
|
}
|
|
75
|
+
static getAllConfiguredTenders(container, accountingCurrency) {
|
|
76
|
+
const configurationManager = container.get(scp_component_store_selling_core_1.DI_TYPES.IConfigurationManager);
|
|
77
|
+
const configuredTenders = configurationManager.getTendersValues().tenderDefinitions;
|
|
78
|
+
return configuredTenders
|
|
79
|
+
.filter((configuredTender) => configuredTender != null)
|
|
80
|
+
.map((configuredTender) => TenderType.mapTenderDefinitionToTenderType(configuredTender, accountingCurrency));
|
|
81
|
+
}
|
|
75
82
|
static getActiveRefundConfiguredTenders(container, accountingCurrency, withTransaction, withOfflineTransaction) {
|
|
76
83
|
return TenderType.getActiveTenders(container, accountingCurrency, true, withTransaction, false, false, withOfflineTransaction);
|
|
77
84
|
}
|
|
@@ -519,12 +526,15 @@ class TenderType {
|
|
|
519
526
|
const configuredTenders = configurationManager.getTendersValues().tenderDefinitions;
|
|
520
527
|
const activeTenders = configuredTenders
|
|
521
528
|
.filter((configuredTender) => tenderIsActive(configuredTender, isRefund, withTransaction, withReference, withMappedTender, withOfflineTransaction, accountingCurrency))
|
|
522
|
-
.map((configuredTender) =>
|
|
529
|
+
.map((configuredTender) => TenderType.mapTenderDefinitionToTenderType(configuredTender, accountingCurrency));
|
|
530
|
+
return activeTenders;
|
|
531
|
+
}
|
|
532
|
+
static mapTenderDefinitionToTenderType(configuredTender, accountingCurrency) {
|
|
533
|
+
return new TenderType(configuredTender.tenderId, configuredTender.tenderName, configuredTender.tenderType, Constants_1.TenderAuthCategory[configuredTender.tenderAuthCategory], configuredTender.additionalTenderAuthCategories, scp_types_commerce_devices_1.CardType[configuredTender.cardType], TenderSignatureCapturePolicy[configuredTender.signatureCapturePolicy], configuredTender.hasOwnProperty("signatureCaptureFloorLimit")
|
|
523
534
|
? new scp_component_business_core_1.Money(configuredTender.signatureCaptureFloorLimit, accountingCurrency)
|
|
524
535
|
: undefined, configuredTender.printDeclineTenderDetails, configuredTender.printDeclineTenderReceipt, configuredTender.printStoreTenderReceipt, configuredTender.allowPostVoid, configuredTender.allowCallForAuthorization !== false, configuredTender.allowRefund, configuredTender.pluralTenderName, configuredTender.fiscalCode, configuredTender.fiscalType, configuredTender.tenderLabel, configuredTender.actions, configuredTender.overTenderRule && Constants_1.OverTenderRule[configuredTender.overTenderRule], configuredTender.subType, configuredTender.customCardType, configuredTender.promptOnPartialApproval, configuredTender.pinRules, configuredTender.subscriptionEntryMethods, configuredTender.changeBehavior, configuredTender.isForeignTender, configuredTender.currencyCode, configuredTender.eligibleForTaxLottery, configuredTender.printVoidTenderDetails, configuredTender.printVoidTenderReceipt, configuredTender.hasOwnProperty("cashoutThreshold")
|
|
525
536
|
? new scp_component_business_core_1.Money(configuredTender.cashoutThreshold, accountingCurrency)
|
|
526
|
-
: undefined, TenderSignatureCapturePolicy[configuredTender.signatureCapturePolicyForCallForAuth])
|
|
527
|
-
return activeTenders;
|
|
537
|
+
: undefined, TenderSignatureCapturePolicy[configuredTender.signatureCapturePolicyForCallForAuth]);
|
|
528
538
|
}
|
|
529
539
|
static filterActiveTenderIds(tenderIds, configuredTenders, isRefund, withTransaction, withOfflineTransaction, accountingCurrency) {
|
|
530
540
|
return (tenderIds &&
|
|
@@ -60,6 +60,8 @@ export declare abstract class BaseItemLineDecorator extends BaseLineDecorator<II
|
|
|
60
60
|
get sublines(): IItemSubline[];
|
|
61
61
|
get fulfillmentGroupId(): number;
|
|
62
62
|
get sendSale(): boolean;
|
|
63
|
+
get preOrder(): boolean;
|
|
64
|
+
get preOrderAvailableDate(): string;
|
|
63
65
|
get subscribed(): boolean;
|
|
64
66
|
get subscriptionQuantity(): number;
|
|
65
67
|
get taxByAuthorityBeforeVoid(): IAppliedTax[];
|
|
@@ -129,6 +129,12 @@ class BaseItemLineDecorator extends BaseLineDecorator_1.BaseLineDecorator {
|
|
|
129
129
|
get sendSale() {
|
|
130
130
|
return this.decoratedTransactionLine.sendSale;
|
|
131
131
|
}
|
|
132
|
+
get preOrder() {
|
|
133
|
+
return this.decoratedTransactionLine.preOrder;
|
|
134
|
+
}
|
|
135
|
+
get preOrderAvailableDate() {
|
|
136
|
+
return this.decoratedTransactionLine.preOrderAvailableDate;
|
|
137
|
+
}
|
|
132
138
|
get subscribed() {
|
|
133
139
|
return this.decoratedTransactionLine.subscribed;
|
|
134
140
|
}
|
|
@@ -258,6 +258,12 @@ export interface IItemLine extends ITransactionLine, IVoidableLine, IPriceProvid
|
|
|
258
258
|
*/
|
|
259
259
|
readonly originalSaleLoyaltyTransactionKeys?: string[];
|
|
260
260
|
readonly rewardCardTenders?: IRewardCardTender[];
|
|
261
|
+
/** Flag that indicates that the order item is a pre-order */
|
|
262
|
+
readonly preOrder?: boolean;
|
|
263
|
+
/**
|
|
264
|
+
* For pre-order items, the available date of the item.
|
|
265
|
+
*/
|
|
266
|
+
readonly preOrderAvailableDate?: string;
|
|
261
267
|
setTransactionLineTaxes(transactionLineTaxes: ITransactionLineTaxes, extendedAmount?: Money): IItemLine;
|
|
262
268
|
setSublines(sublines: IItemSubline[]): IItemLine;
|
|
263
269
|
setTaxExemptInformation(taxExemptLine: ItemTaxExemptLine | TransactionTaxExemptLine, preTaxExemptDetails: IAppliedTax[]): IItemLine;
|
|
@@ -114,6 +114,8 @@ export declare class ItemLine extends BaseTransactionLine implements IItemLine,
|
|
|
114
114
|
private _originalAdjustments?;
|
|
115
115
|
private _taxIndicatorOnReceipt?;
|
|
116
116
|
private _rewardCardTenders?;
|
|
117
|
+
private _preOrder?;
|
|
118
|
+
private _preOrderAvailableDate?;
|
|
117
119
|
/**
|
|
118
120
|
* The create method is called by the transaction line factory to create an instance and initialize it from the
|
|
119
121
|
* data collected during the qualification process.
|
|
@@ -215,6 +217,8 @@ export declare class ItemLine extends BaseTransactionLine implements IItemLine,
|
|
|
215
217
|
get sublineIndexFromReturnItem(): number;
|
|
216
218
|
get fulfillmentGroupId(): number;
|
|
217
219
|
get sendSale(): boolean;
|
|
220
|
+
get preOrder(): boolean;
|
|
221
|
+
get preOrderAvailableDate(): string;
|
|
218
222
|
get subscribed(): boolean;
|
|
219
223
|
get subscriptionQuantity(): number;
|
|
220
224
|
get subLineFromReturnItem(): IPostableSubline;
|
|
@@ -54,6 +54,8 @@ class ItemLine extends BaseTransactionLine_1.BaseTransactionLine {
|
|
|
54
54
|
const lineNumberFromOrder = collectedData.get(Constants_1.CollectedDataKey.LineNumberFromOrder);
|
|
55
55
|
const lineSavings = collectedData.get(Constants_1.CollectedDataKey.LineSavings);
|
|
56
56
|
const sendSaleLine = collectedData.get(Constants_1.CollectedDataKey.SendSaleItem);
|
|
57
|
+
const preOrder = collectedData.get(Constants_1.CollectedDataKey.PreOrder);
|
|
58
|
+
const preOrderAvailableDate = collectedData.get(Constants_1.CollectedDataKey.PreOrderAvailableDate);
|
|
57
59
|
const originalAdjustments = collectedData.get(Constants_1.CollectedDataKey.OriginalAdjustments);
|
|
58
60
|
accountingCurrency = (storeItem.price && storeItem.price.amount.currency) || accountingCurrency;
|
|
59
61
|
let itemLine = new ItemLine(lineNumber, lineType, (storeItem.price && storeItem.price.amount.currency) || accountingCurrency, lineSavings);
|
|
@@ -81,6 +83,10 @@ class ItemLine extends BaseTransactionLine_1.BaseTransactionLine {
|
|
|
81
83
|
if (sendSaleLine) {
|
|
82
84
|
itemLine._sendSale = true;
|
|
83
85
|
}
|
|
86
|
+
if (preOrder) {
|
|
87
|
+
itemLine._preOrder = true;
|
|
88
|
+
itemLine._preOrderAvailableDate = preOrderAvailableDate;
|
|
89
|
+
}
|
|
84
90
|
itemLine._authorizationDeviceId = authorizationDeviceId;
|
|
85
91
|
itemLine._actionType = actionType;
|
|
86
92
|
itemLine._enteredLookupKey = ItemLine.getEnteredLookupKeyFromCollectedData(collectedData);
|
|
@@ -551,6 +557,12 @@ class ItemLine extends BaseTransactionLine_1.BaseTransactionLine {
|
|
|
551
557
|
get sendSale() {
|
|
552
558
|
return this._sendSale;
|
|
553
559
|
}
|
|
560
|
+
get preOrder() {
|
|
561
|
+
return this._preOrder;
|
|
562
|
+
}
|
|
563
|
+
get preOrderAvailableDate() {
|
|
564
|
+
return this._preOrderAvailableDate;
|
|
565
|
+
}
|
|
554
566
|
get subscribed() {
|
|
555
567
|
return this._subscribed;
|
|
556
568
|
}
|
|
@@ -908,6 +920,8 @@ class ItemLine extends BaseTransactionLine_1.BaseTransactionLine {
|
|
|
908
920
|
newItemLine._lineNumberFromReturnCanonicalSubItem = this._lineNumberFromReturnCanonicalSubItem;
|
|
909
921
|
newItemLine._fulfillmentGroupId = this._fulfillmentGroupId;
|
|
910
922
|
newItemLine._sendSale = this._sendSale;
|
|
923
|
+
newItemLine._preOrder = this._preOrder;
|
|
924
|
+
newItemLine._preOrderAvailableDate = this._preOrderAvailableDate;
|
|
911
925
|
newItemLine._subscribed = this._subscribed;
|
|
912
926
|
newItemLine._subscriptionQuantity = this._subscriptionQuantity;
|
|
913
927
|
newItemLine._returnable = this._returnable;
|
|
@@ -1035,6 +1049,8 @@ class ItemLine extends BaseTransactionLine_1.BaseTransactionLine {
|
|
|
1035
1049
|
this._lineNumberFromReturnCanonicalSubItem = transactionLineJsonObj._lineNumberFromReturnCanonicalSubItem;
|
|
1036
1050
|
this._fulfillmentGroupId = transactionLineJsonObj._fulfillmentGroupId;
|
|
1037
1051
|
this._sendSale = transactionLineJsonObj._sendSale;
|
|
1052
|
+
this._preOrder = transactionLineJsonObj._preOrder;
|
|
1053
|
+
this._preOrderAvailableDate = transactionLineJsonObj._preOrderAvailableDate;
|
|
1038
1054
|
this._subscribed = transactionLineJsonObj._subscribed;
|
|
1039
1055
|
this._subscriptionQuantity = transactionLineJsonObj._subscriptionQuantity;
|
|
1040
1056
|
this._returnable = transactionLineJsonObj._returnable;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aptos-scp/scp-component-store-selling-features-domain-model",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.39.0",
|
|
4
4
|
"description": "This component library provides the common components to handle the coordination of processing the business events from the UI.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"@aptos-scp/scp-types-customer": "^3.7.0",
|
|
94
94
|
"@aptos-scp/scp-types-einvoice": "^1.17.0",
|
|
95
95
|
"@aptos-scp/scp-types-fiscal-transaction": "^1.4.3",
|
|
96
|
-
"@aptos-scp/scp-types-inventory": "^2.
|
|
96
|
+
"@aptos-scp/scp-types-inventory": "^2.2.0",
|
|
97
97
|
"@aptos-scp/scp-types-loyalty-memberships": "^2.3.0",
|
|
98
98
|
"@aptos-scp/scp-types-orders": "^4.11.0",
|
|
99
99
|
"@aptos-scp/scp-types-pricing": "^4.31.1",
|