@open-tender/store 0.7.2 → 0.7.3
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/cjs/services/api.d.ts +66 -66
- package/dist/cjs/services/api.js +1 -1
- package/dist/cjs/slices/arrivals.js +0 -4
- package/dist/cjs/slices/checkout.d.ts +7 -7
- package/dist/cjs/slices/checkout.js +38 -37
- package/dist/cjs/slices/config.d.ts +3 -2
- package/dist/cjs/slices/config.js +2 -3
- package/dist/cjs/slices/discounts.js +9 -8
- package/dist/cjs/slices/errorAlerts.js +3 -1
- package/dist/cjs/slices/kds.js +3 -3
- package/dist/cjs/slices/settings.d.ts +1 -1
- package/dist/cjs/slices/surcharges.js +4 -3
- package/dist/cjs/slices/taxes.js +9 -8
- package/dist/cjs/types/api/checkout.d.ts +5 -2
- package/dist/esm/services/api.d.ts +66 -66
- package/dist/esm/services/api.js +1 -1
- package/dist/esm/slices/arrivals.js +0 -4
- package/dist/esm/slices/checkout.d.ts +7 -7
- package/dist/esm/slices/checkout.js +38 -37
- package/dist/esm/slices/config.d.ts +3 -2
- package/dist/esm/slices/config.js +2 -3
- package/dist/esm/slices/discounts.js +9 -8
- package/dist/esm/slices/errorAlerts.js +3 -1
- package/dist/esm/slices/kds.js +3 -3
- package/dist/esm/slices/settings.d.ts +1 -1
- package/dist/esm/slices/surcharges.js +4 -3
- package/dist/esm/slices/taxes.js +9 -8
- package/dist/esm/types/api/checkout.d.ts +5 -2
- package/package.json +1 -1
|
@@ -5,72 +5,72 @@ interface ConfigAPI {
|
|
|
5
5
|
declare class PosAPI {
|
|
6
6
|
apiUrl: string;
|
|
7
7
|
constructor(config: ConfigAPI);
|
|
8
|
-
request: <T>(endpoint: string, method?: string, data?: any) => Promise<T
|
|
9
|
-
post(endpoint: string, data: Record<string, unknown>): Promise<Record<string, unknown
|
|
10
|
-
getConfig(): Promise<Config
|
|
11
|
-
getKioskConfig(): Promise<KioskConfig
|
|
12
|
-
getStore(): Promise<Store
|
|
13
|
-
getSelectOptions(): Promise<SelectOptions
|
|
14
|
-
getItemTypes(): Promise<ItemTypes
|
|
15
|
-
getLevelUpSettings(): Promise<LevelUp
|
|
16
|
-
getCardRead(): Promise<DeviceRead
|
|
17
|
-
postCardCancel(): Promise<null
|
|
18
|
-
getBarcodeRead(): Promise<DeviceRead
|
|
19
|
-
postBarcodeCancel(): Promise<null
|
|
20
|
-
getSettings<T>(posSettingType: PosSettingType): Promise<T
|
|
21
|
-
postSettings(posSettingType
|
|
22
|
-
getInternalSettings(): Promise<InternalSettings
|
|
23
|
-
postInternalSettings(data: InternalSettings): Promise<InternalSettings
|
|
24
|
-
postGiftCardCredit(data: GiftCardCredit, checkOnly
|
|
25
|
-
getGiftCardBalance(code: string | null, cardNumber?: string): Promise<GiftCardBalance
|
|
26
|
-
getEmployee(identifier: string | number): Promise<Employee
|
|
27
|
-
getCashier(): Promise<Employee
|
|
28
|
-
postCardAssign(employeeId: number, code: string): Promise<null
|
|
29
|
-
postCardUnassign(code: string): Promise<null
|
|
30
|
-
postTimePunch(data: Punch): Promise<null
|
|
31
|
-
getTimePunchesReport(businessDate
|
|
32
|
-
postPrintShiftSummary(employeeId: number): Promise<null
|
|
33
|
-
postCashEvent(data: CashEvent): Promise<null
|
|
34
|
-
getCashSummary(employeeId: number): Promise<CashSummary
|
|
35
|
-
postPrintCashSummary(employeeId: number): Promise<null
|
|
36
|
-
getAlerts(): Promise<ErrorAlerts
|
|
37
|
-
getAlert(alertId: number): Promise<ErrorAlert
|
|
38
|
-
putAlert(alertId: number, data: ErrorAlert): Promise<ErrorAlert
|
|
39
|
-
deleteAlert(alertId: number): Promise<null
|
|
40
|
-
getOfflineAuths(): Promise<OfflineAuths
|
|
41
|
-
postOfflineAuths(): Promise<OfflineAuthsResult
|
|
42
|
-
getMenu(revenueCenterId: number, serviceType: ServiceType, requestedAt: RequestedAt): Promise<Menu
|
|
43
|
-
getMenuColors(): Promise<MenuColors
|
|
44
|
-
getMenuPages(): Promise<MenuPages
|
|
45
|
-
getSurcharges(serviceType: ServiceType): Promise<Surcharges
|
|
46
|
-
getDiscounts(serviceType: ServiceType, orderType: OrderType): Promise<Discounts
|
|
47
|
-
getDiscount(name: string): Promise<Discount
|
|
48
|
-
getDiscountViaQRCode(code: string): Promise<Discount
|
|
49
|
-
getTaxes(serviceType: ServiceType, orderType: OrderType): Promise<Taxes
|
|
50
|
-
getRevenueCenter(revenueCenterId: number): Promise<RevenueCenter
|
|
51
|
-
postOpenCashDrawer(): Promise<null
|
|
52
|
-
postTender(orderId: string, data: Tender): Promise<OrderTender
|
|
53
|
-
patchTender(orderId: string, index: number, data: Tender): Promise<OrderTender
|
|
54
|
-
postTenderVoid(orderId: string, index: number): Promise<OrderTender
|
|
8
|
+
request: <T>(endpoint: string, method?: string, data?: any) => Promise<T>;
|
|
9
|
+
post(endpoint: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
10
|
+
getConfig(): Promise<Config>;
|
|
11
|
+
getKioskConfig(): Promise<KioskConfig>;
|
|
12
|
+
getStore(): Promise<Store>;
|
|
13
|
+
getSelectOptions(): Promise<SelectOptions>;
|
|
14
|
+
getItemTypes(): Promise<ItemTypes>;
|
|
15
|
+
getLevelUpSettings(): Promise<LevelUp>;
|
|
16
|
+
getCardRead(): Promise<DeviceRead>;
|
|
17
|
+
postCardCancel(): Promise<null>;
|
|
18
|
+
getBarcodeRead(): Promise<DeviceRead>;
|
|
19
|
+
postBarcodeCancel(): Promise<null>;
|
|
20
|
+
getSettings<T>(posSettingType: PosSettingType): Promise<T>;
|
|
21
|
+
postSettings(posSettingType?: PosSettingType): Promise<Settings>;
|
|
22
|
+
getInternalSettings(): Promise<InternalSettings>;
|
|
23
|
+
postInternalSettings(data: InternalSettings): Promise<InternalSettings>;
|
|
24
|
+
postGiftCardCredit(data: GiftCardCredit, checkOnly?: boolean): Promise<GiftCardCredit>;
|
|
25
|
+
getGiftCardBalance(code: string | null, cardNumber?: string): Promise<GiftCardBalance>;
|
|
26
|
+
getEmployee(identifier: string | number): Promise<Employee>;
|
|
27
|
+
getCashier(): Promise<Employee>;
|
|
28
|
+
postCardAssign(employeeId: number, code: string): Promise<null>;
|
|
29
|
+
postCardUnassign(code: string): Promise<null>;
|
|
30
|
+
postTimePunch(data: Punch): Promise<null>;
|
|
31
|
+
getTimePunchesReport(businessDate?: string, employeeId?: number): Promise<Employees>;
|
|
32
|
+
postPrintShiftSummary(employeeId: number): Promise<null>;
|
|
33
|
+
postCashEvent(data: CashEvent): Promise<null>;
|
|
34
|
+
getCashSummary(employeeId: number): Promise<CashSummary>;
|
|
35
|
+
postPrintCashSummary(employeeId: number): Promise<null>;
|
|
36
|
+
getAlerts(): Promise<ErrorAlerts>;
|
|
37
|
+
getAlert(alertId: number): Promise<ErrorAlert>;
|
|
38
|
+
putAlert(alertId: number, data: ErrorAlert): Promise<ErrorAlert>;
|
|
39
|
+
deleteAlert(alertId: number): Promise<null>;
|
|
40
|
+
getOfflineAuths(): Promise<OfflineAuths>;
|
|
41
|
+
postOfflineAuths(): Promise<OfflineAuthsResult>;
|
|
42
|
+
getMenu(revenueCenterId: number, serviceType: ServiceType, requestedAt: RequestedAt): Promise<Menu>;
|
|
43
|
+
getMenuColors(): Promise<MenuColors>;
|
|
44
|
+
getMenuPages(): Promise<MenuPages>;
|
|
45
|
+
getSurcharges(serviceType: ServiceType): Promise<Surcharges>;
|
|
46
|
+
getDiscounts(serviceType: ServiceType, orderType: OrderType): Promise<Discounts>;
|
|
47
|
+
getDiscount(name: string): Promise<Discount>;
|
|
48
|
+
getDiscountViaQRCode(code: string): Promise<Discount>;
|
|
49
|
+
getTaxes(serviceType: ServiceType, orderType: OrderType): Promise<Taxes>;
|
|
50
|
+
getRevenueCenter(revenueCenterId: number): Promise<RevenueCenter>;
|
|
51
|
+
postOpenCashDrawer(): Promise<null>;
|
|
52
|
+
postTender(orderId: string, data: Tender): Promise<OrderTender>;
|
|
53
|
+
patchTender(orderId: string, index: number, data: Tender): Promise<OrderTender>;
|
|
54
|
+
postTenderVoid(orderId: string, index: number): Promise<OrderTender>;
|
|
55
55
|
postChipDNATender(orderId: string, data: Tender): Promise<unknown>;
|
|
56
|
-
postChipDNACancel(): Promise<null
|
|
57
|
-
postChipDNATmsUpdate(): Promise<null
|
|
58
|
-
postIdentifyCustomer(data: CustomerIdentifier): Promise<CustomerCheckout
|
|
59
|
-
postOrderValidate(order: OrderCreate): Promise<Order
|
|
60
|
-
postOrder(order: OrderCreate): Promise<Order
|
|
61
|
-
deleteOrder(order: OrderCreate): Promise<Order
|
|
62
|
-
getOrders(args: FetchOrdersAPIArgs): Promise<Orders
|
|
63
|
-
patchOrder(orderId: string, data: OrderUpdate): Promise<Order
|
|
64
|
-
postReceipt(orderId: string): Promise<Order
|
|
65
|
-
putTicketsStatus(orderId: string, data: TicketsUpdate): Promise<Order
|
|
66
|
-
postTicketsPrint(orderId: string, data?: TicketsUpdate): Promise<Order
|
|
67
|
-
postTicketsReset(orderId: string): Promise<Order
|
|
68
|
-
putTicketStatus(orderId: string, ticketNo: number, data
|
|
69
|
-
postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order
|
|
70
|
-
postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order
|
|
71
|
-
getArrivals(): Promise<Arrivals
|
|
72
|
-
postAcknowledgeArrival(orderId: string): Promise<Order
|
|
73
|
-
postRefundValidate(orderId: string, refund: Refund): Promise<Order
|
|
74
|
-
postRefund(orderId: string, refund: Refund): Promise<Order
|
|
56
|
+
postChipDNACancel(): Promise<null>;
|
|
57
|
+
postChipDNATmsUpdate(): Promise<null>;
|
|
58
|
+
postIdentifyCustomer(data: CustomerIdentifier): Promise<CustomerCheckout>;
|
|
59
|
+
postOrderValidate(order: OrderCreate): Promise<Order>;
|
|
60
|
+
postOrder(order: OrderCreate): Promise<Order>;
|
|
61
|
+
deleteOrder(order: OrderCreate): Promise<Order>;
|
|
62
|
+
getOrders(args: FetchOrdersAPIArgs): Promise<Orders>;
|
|
63
|
+
patchOrder(orderId: string, data: OrderUpdate): Promise<Order>;
|
|
64
|
+
postReceipt(orderId: string): Promise<Order>;
|
|
65
|
+
putTicketsStatus(orderId: string, data: TicketsUpdate): Promise<Order>;
|
|
66
|
+
postTicketsPrint(orderId: string, data?: TicketsUpdate): Promise<Order>;
|
|
67
|
+
postTicketsReset(orderId: string): Promise<Order>;
|
|
68
|
+
putTicketStatus(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order>;
|
|
69
|
+
postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order>;
|
|
70
|
+
postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order>;
|
|
71
|
+
getArrivals(): Promise<Arrivals>;
|
|
72
|
+
postAcknowledgeArrival(orderId: string): Promise<Order>;
|
|
73
|
+
postRefundValidate(orderId: string, refund: Refund): Promise<Order>;
|
|
74
|
+
postRefund(orderId: string, refund: Refund): Promise<Order>;
|
|
75
75
|
}
|
|
76
76
|
export default PosAPI;
|
package/dist/cjs/services/api.js
CHANGED
|
@@ -61,7 +61,7 @@ var PosAPI = /** @class */ (function () {
|
|
|
61
61
|
case 1:
|
|
62
62
|
res = _b.sent();
|
|
63
63
|
if (res.status === 204) {
|
|
64
|
-
return [2 /*return
|
|
64
|
+
return [2 /*return*/];
|
|
65
65
|
}
|
|
66
66
|
contentType = (_a = res.headers.get('Content-Type')) === null || _a === void 0 ? void 0 : _a.split(';')[0];
|
|
67
67
|
if (!contentType) {
|
|
@@ -23,8 +23,6 @@ exports.fetchArrivals = (0, toolkit_1.createAsyncThunk)(ArrivalsActionType.Fetch
|
|
|
23
23
|
case 0:
|
|
24
24
|
_b.trys.push([0, 2, , 3]);
|
|
25
25
|
api = getState().config.api;
|
|
26
|
-
if (!api)
|
|
27
|
-
return [2 /*return*/, null];
|
|
28
26
|
return [4 /*yield*/, api.getArrivals()];
|
|
29
27
|
case 1: return [2 /*return*/, _b.sent()];
|
|
30
28
|
case 2:
|
|
@@ -44,8 +42,6 @@ exports.acknowledgeArrival = (0, toolkit_1.createAsyncThunk)(ArrivalsActionType.
|
|
|
44
42
|
case 0:
|
|
45
43
|
_b.trys.push([0, 2, , 3]);
|
|
46
44
|
api = getState().config.api;
|
|
47
|
-
if (!api)
|
|
48
|
-
return [2 /*return*/, null];
|
|
49
45
|
return [4 /*yield*/, api.postAcknowledgeArrival(orderUuid)];
|
|
50
46
|
case 1: return [2 /*return*/, _b.sent()];
|
|
51
47
|
case 2:
|
|
@@ -32,7 +32,7 @@ export declare enum CheckoutActionType {
|
|
|
32
32
|
VoidPosOrder = "checkout/voidPosOrder",
|
|
33
33
|
ActivateGiftCards = "checkout/activateGiftCards"
|
|
34
34
|
}
|
|
35
|
-
export declare const addTender: import("@reduxjs/toolkit").AsyncThunk<OrderTender, Tender, {
|
|
35
|
+
export declare const addTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, Tender, {
|
|
36
36
|
state: AppState;
|
|
37
37
|
rejectValue: RequestError;
|
|
38
38
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -42,7 +42,7 @@ export declare const addTender: import("@reduxjs/toolkit").AsyncThunk<OrderTende
|
|
|
42
42
|
fulfilledMeta?: unknown;
|
|
43
43
|
rejectedMeta?: unknown;
|
|
44
44
|
}>;
|
|
45
|
-
export declare const removeTender: import("@reduxjs/toolkit").AsyncThunk<OrderTender, number, {
|
|
45
|
+
export declare const removeTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, number, {
|
|
46
46
|
state: AppState;
|
|
47
47
|
rejectValue: RequestError;
|
|
48
48
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -52,7 +52,7 @@ export declare const removeTender: import("@reduxjs/toolkit").AsyncThunk<OrderTe
|
|
|
52
52
|
fulfilledMeta?: unknown;
|
|
53
53
|
rejectedMeta?: unknown;
|
|
54
54
|
}>;
|
|
55
|
-
export declare const updateTender: import("@reduxjs/toolkit").AsyncThunk<OrderTender, void, {
|
|
55
|
+
export declare const updateTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, void, {
|
|
56
56
|
state: AppState;
|
|
57
57
|
rejectValue: RequestError;
|
|
58
58
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -72,7 +72,7 @@ export declare const updateCart: import("@reduxjs/toolkit").AsyncThunk<void, any
|
|
|
72
72
|
fulfilledMeta?: unknown;
|
|
73
73
|
rejectedMeta?: unknown;
|
|
74
74
|
}>;
|
|
75
|
-
export declare const identifyCustomer: import("@reduxjs/toolkit").AsyncThunk<CustomerCheckout, IdentifyCustomer, {
|
|
75
|
+
export declare const identifyCustomer: import("@reduxjs/toolkit").AsyncThunk<void | CustomerCheckout, IdentifyCustomer, {
|
|
76
76
|
state: AppState;
|
|
77
77
|
rejectValue: RequestError;
|
|
78
78
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -92,7 +92,7 @@ export declare const completeChipDNA: import("@reduxjs/toolkit").AsyncThunk<any,
|
|
|
92
92
|
fulfilledMeta?: unknown;
|
|
93
93
|
rejectedMeta?: unknown;
|
|
94
94
|
}>;
|
|
95
|
-
export declare const validatePosOrder: import("@reduxjs/toolkit").AsyncThunk<Order, void, {
|
|
95
|
+
export declare const validatePosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, {
|
|
96
96
|
state: AppState;
|
|
97
97
|
rejectValue: RequestError;
|
|
98
98
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -102,7 +102,7 @@ export declare const validatePosOrder: import("@reduxjs/toolkit").AsyncThunk<Ord
|
|
|
102
102
|
fulfilledMeta?: unknown;
|
|
103
103
|
rejectedMeta?: unknown;
|
|
104
104
|
}>;
|
|
105
|
-
export declare const submitPosOrder: import("@reduxjs/toolkit").AsyncThunk<Order, void, {
|
|
105
|
+
export declare const submitPosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, {
|
|
106
106
|
state: AppState;
|
|
107
107
|
rejectValue: RequestError;
|
|
108
108
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -112,7 +112,7 @@ export declare const submitPosOrder: import("@reduxjs/toolkit").AsyncThunk<Order
|
|
|
112
112
|
fulfilledMeta?: unknown;
|
|
113
113
|
rejectedMeta?: unknown;
|
|
114
114
|
}>;
|
|
115
|
-
export declare const voidPosOrder: import("@reduxjs/toolkit").AsyncThunk<Order, void, {
|
|
115
|
+
export declare const voidPosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, {
|
|
116
116
|
state: AppState;
|
|
117
117
|
rejectValue: RequestError;
|
|
118
118
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -42,6 +42,9 @@ var prepareOrder = function (order, checkout) {
|
|
|
42
42
|
var simpleCart = (0, order_1.makeSimpleCart)(order.cart);
|
|
43
43
|
var cart = simpleCart.filter(function (item) { return item; });
|
|
44
44
|
var revenue_center_id = revenueCenter === null || revenueCenter === void 0 ? void 0 : revenueCenter.revenue_center_id;
|
|
45
|
+
if (!revenue_center_id || !order_type || !service_type) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
45
48
|
var customer = checkout.customer, gift_cards = checkout.giftCards, surcharges = checkout.surcharges, discounts = checkout.discounts, taxes = checkout.taxes, tip = checkout.tip, isTaxExempt = checkout.isTaxExempt, points = checkout.points;
|
|
46
49
|
var is_tax_exempt = isTaxExempt ? true : false;
|
|
47
50
|
return {
|
|
@@ -142,7 +145,7 @@ exports.removeTender = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Remove
|
|
|
142
145
|
exports.updateTender = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.UpdateTender, function (_, _a) {
|
|
143
146
|
var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
144
147
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
145
|
-
var api, orderId, check, tenders, totals, tender, index, amountTender, amountDue, amount,
|
|
148
|
+
var api, orderId, check, tenders, totals, tender, index, amountTender, amountDue, amount, updatedTender, response, err_3;
|
|
146
149
|
return tslib_1.__generator(this, function (_b) {
|
|
147
150
|
switch (_b.label) {
|
|
148
151
|
case 0:
|
|
@@ -161,8 +164,8 @@ exports.updateTender = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Update
|
|
|
161
164
|
amountDue = parseFloat(totals.amount_due || '0.00');
|
|
162
165
|
amount = amountTender + amountDue;
|
|
163
166
|
if (!(amount > 0)) return [3 /*break*/, 2];
|
|
164
|
-
|
|
165
|
-
return [4 /*yield*/, api.patchTender(orderId, index,
|
|
167
|
+
updatedTender = { tender_type: tender.tender_type, amount: amount.toFixed(2) };
|
|
168
|
+
return [4 /*yield*/, api.patchTender(orderId, index, updatedTender)];
|
|
166
169
|
case 1:
|
|
167
170
|
response = _b.sent();
|
|
168
171
|
dispatch((0, exports.validatePosOrder)());
|
|
@@ -172,7 +175,7 @@ exports.updateTender = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Update
|
|
|
172
175
|
var msg = 'Order fully discounted. Tender removed.';
|
|
173
176
|
dispatch((0, notifications_1.showNotification)(msg));
|
|
174
177
|
});
|
|
175
|
-
|
|
178
|
+
return [2 /*return*/];
|
|
176
179
|
case 3: return [3 /*break*/, 5];
|
|
177
180
|
case 4:
|
|
178
181
|
err_3 = _b.sent();
|
|
@@ -222,11 +225,8 @@ exports.identifyCustomer = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Id
|
|
|
222
225
|
return tslib_1.__generator(this, function (_c) {
|
|
223
226
|
switch (_c.label) {
|
|
224
227
|
case 0:
|
|
225
|
-
_c.trys.push([0,
|
|
228
|
+
_c.trys.push([0, 7, , 8]);
|
|
226
229
|
api = getState().config.api;
|
|
227
|
-
if (!api) {
|
|
228
|
-
return [2 /*return*/];
|
|
229
|
-
}
|
|
230
230
|
return [4 /*yield*/, api.postIdentifyCustomer(data)];
|
|
231
231
|
case 1:
|
|
232
232
|
response = _c.sent();
|
|
@@ -244,22 +244,21 @@ exports.identifyCustomer = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Id
|
|
|
244
244
|
return [4 /*yield*/, dispatch((0, exports.validatePosOrder)())];
|
|
245
245
|
case 2:
|
|
246
246
|
_c.sent();
|
|
247
|
-
return [3 /*break*/,
|
|
247
|
+
return [3 /*break*/, 6];
|
|
248
248
|
case 3:
|
|
249
249
|
if (!discounts.length) return [3 /*break*/, 5];
|
|
250
250
|
dispatch((0, exports.setPendingDiscounts)(autoDiscounts.length === 0));
|
|
251
251
|
return [4 /*yield*/, dispatch((0, exports.validatePosOrder)())];
|
|
252
252
|
case 4:
|
|
253
253
|
_c.sent();
|
|
254
|
-
return [3 /*break*/,
|
|
254
|
+
return [3 /*break*/, 6];
|
|
255
255
|
case 5:
|
|
256
|
-
if (
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
_c.
|
|
260
|
-
|
|
261
|
-
case 7:
|
|
262
|
-
case 8:
|
|
256
|
+
if (callback) {
|
|
257
|
+
callback();
|
|
258
|
+
}
|
|
259
|
+
_c.label = 6;
|
|
260
|
+
case 6: return [2 /*return*/, response];
|
|
261
|
+
case 7:
|
|
263
262
|
err_4 = _c.sent();
|
|
264
263
|
if (showError) {
|
|
265
264
|
errMsg = err_4.status === 404
|
|
@@ -267,14 +266,15 @@ exports.identifyCustomer = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Id
|
|
|
267
266
|
: err_4.detail || err_4.message;
|
|
268
267
|
dispatch((0, alerts_1.addAlert)(errMsg));
|
|
269
268
|
}
|
|
270
|
-
if (
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
269
|
+
if (callback) {
|
|
270
|
+
callback();
|
|
271
|
+
return [2 /*return*/];
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
return [2 /*return*/, rejectWithValue(err_4)];
|
|
275
|
+
}
|
|
276
|
+
return [3 /*break*/, 8];
|
|
277
|
+
case 8: return [2 /*return*/];
|
|
278
278
|
}
|
|
279
279
|
});
|
|
280
280
|
});
|
|
@@ -309,10 +309,11 @@ exports.validatePosOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Va
|
|
|
309
309
|
var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
310
310
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
311
311
|
var _b, config, order, checkout, preparedOrder, check, orderDiscountIds, checkDiscountIds_1, toRemove, err_6, errors, fields;
|
|
312
|
-
|
|
313
|
-
|
|
312
|
+
var _c;
|
|
313
|
+
return tslib_1.__generator(this, function (_d) {
|
|
314
|
+
switch (_d.label) {
|
|
314
315
|
case 0:
|
|
315
|
-
|
|
316
|
+
_d.trys.push([0, 2, , 3]);
|
|
316
317
|
_b = getState(), config = _b.config, order = _b.order, checkout = _b.checkout;
|
|
317
318
|
preparedOrder = prepareOrder(order, checkout);
|
|
318
319
|
if (!preparedOrder)
|
|
@@ -321,16 +322,16 @@ exports.validatePosOrder = (0, toolkit_1.createAsyncThunk)(CheckoutActionType.Va
|
|
|
321
322
|
// remove any submitted discounts that aren't applied
|
|
322
323
|
];
|
|
323
324
|
case 1:
|
|
324
|
-
check =
|
|
325
|
-
orderDiscountIds = preparedOrder.discounts.map(function (i) { return i.id; });
|
|
325
|
+
check = _d.sent();
|
|
326
|
+
orderDiscountIds = (_c = preparedOrder.discounts) === null || _c === void 0 ? void 0 : _c.map(function (i) { return i.id; });
|
|
326
327
|
checkDiscountIds_1 = check.discounts.map(function (i) { return i.id; });
|
|
327
|
-
toRemove = orderDiscountIds.filter(function (id) { return !checkDiscountIds_1.includes(id); });
|
|
328
|
-
toRemove.forEach(function (discountId) {
|
|
328
|
+
toRemove = orderDiscountIds === null || orderDiscountIds === void 0 ? void 0 : orderDiscountIds.filter(function (id) { return !checkDiscountIds_1.includes(id); });
|
|
329
|
+
toRemove === null || toRemove === void 0 ? void 0 : toRemove.forEach(function (discountId) {
|
|
329
330
|
return dispatch((0, exports.removeDiscount)(discountId));
|
|
330
331
|
});
|
|
331
332
|
return [2 /*return*/, check];
|
|
332
333
|
case 2:
|
|
333
|
-
err_6 =
|
|
334
|
+
err_6 = _d.sent();
|
|
334
335
|
errors = (0, utils_1.handleRespError)(err_6).errors;
|
|
335
336
|
fields = errors ? Object.keys(errors) : [];
|
|
336
337
|
if (fields.includes('order_uuid')) {
|
|
@@ -592,7 +593,7 @@ var checkoutSlice = (0, toolkit_1.createSlice)({
|
|
|
592
593
|
state.error = action.payload;
|
|
593
594
|
})
|
|
594
595
|
.addCase(exports.validatePosOrder.fulfilled, function (state, action) {
|
|
595
|
-
state.check = action.payload;
|
|
596
|
+
state.check = action.payload || null;
|
|
596
597
|
state.loading = 'idle';
|
|
597
598
|
state.validating = 'idle';
|
|
598
599
|
state.error = null;
|
|
@@ -607,7 +608,7 @@ var checkoutSlice = (0, toolkit_1.createSlice)({
|
|
|
607
608
|
state.error = action.payload;
|
|
608
609
|
})
|
|
609
610
|
.addCase(exports.submitPosOrder.fulfilled, function (state, action) {
|
|
610
|
-
state.check = action.payload;
|
|
611
|
+
state.check = action.payload || null;
|
|
611
612
|
state.loading = 'idle';
|
|
612
613
|
state.submitting = 'idle';
|
|
613
614
|
state.error = null;
|
|
@@ -654,14 +655,14 @@ exports.selectPosCustomer = selectPosCustomer;
|
|
|
654
655
|
var selectPosCustomerName = function (state) {
|
|
655
656
|
if (!state.checkout.customer)
|
|
656
657
|
return null;
|
|
657
|
-
var _a = state.checkout.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
658
|
+
var _a = state.checkout.customer.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
658
659
|
return "".concat(first_name, " ").concat(last_name);
|
|
659
660
|
};
|
|
660
661
|
exports.selectPosCustomerName = selectPosCustomerName;
|
|
661
662
|
var selectPosCustomerNameShort = function (state) {
|
|
662
663
|
if (!state.checkout.customer)
|
|
663
664
|
return null;
|
|
664
|
-
var _a = state.checkout.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
665
|
+
var _a = state.checkout.customer.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
665
666
|
var lastName = (last_name === null || last_name === void 0 ? void 0 : last_name.charAt(0)) || '';
|
|
666
667
|
return "".concat(first_name, " ").concat(lastName);
|
|
667
668
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { PosAPI } from '../services';
|
|
1
2
|
import { Devices, MenuColors, RequestError, RequestStatus, SelectOptions, Store, Timezone } from '../types';
|
|
2
3
|
import { AppState } from '../app';
|
|
3
4
|
export interface ConfigApp {
|
|
4
5
|
apiUrl: string;
|
|
5
6
|
}
|
|
6
7
|
export interface ConfigState {
|
|
7
|
-
api:
|
|
8
|
+
api: PosAPI;
|
|
8
9
|
app: ConfigApp | null;
|
|
9
10
|
version?: string | null;
|
|
10
11
|
devices: Devices | null;
|
|
@@ -37,7 +38,7 @@ export declare const fetchConfig: import("@reduxjs/toolkit").AsyncThunk<ConfigSt
|
|
|
37
38
|
}>;
|
|
38
39
|
export declare const resetConfig: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"config/resetConfig">, resetRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"config/resetRetries">, incrementRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"config/incrementRetries">, setVersion: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "config/setVersion">, setApi: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "config/setApi">;
|
|
39
40
|
export declare const selectConfig: (state: AppState) => ConfigState;
|
|
40
|
-
export declare const selectApi: (state: AppState) =>
|
|
41
|
+
export declare const selectApi: (state: AppState) => PosAPI;
|
|
41
42
|
export declare const selectVersion: (state: AppState) => string | null | undefined;
|
|
42
43
|
export declare const selectDevices: (state: AppState) => Devices | null;
|
|
43
44
|
export declare const selectStore: (state: AppState) => Store | null;
|
|
@@ -10,10 +10,9 @@ var utils_1 = require("../utils");
|
|
|
10
10
|
var errors_1 = require("../services/errors");
|
|
11
11
|
var pos_1 = require("./pos");
|
|
12
12
|
var kds_1 = require("./kds");
|
|
13
|
-
|
|
13
|
+
var defaultApiUrl = "http://".concat(window.location.hostname, ":5001/pos-api");
|
|
14
14
|
var initialState = {
|
|
15
|
-
|
|
16
|
-
api: null,
|
|
15
|
+
api: new services_1.PosAPI({ apiUrl: defaultApiUrl }),
|
|
17
16
|
app: null,
|
|
18
17
|
version: null,
|
|
19
18
|
devices: null,
|
|
@@ -17,18 +17,19 @@ var DiscountsActionType;
|
|
|
17
17
|
exports.fetchDiscounts = (0, toolkit_1.createAsyncThunk)(DiscountsActionType.GetDiscounts, function (_, _a) {
|
|
18
18
|
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
19
19
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
20
|
-
var api,
|
|
21
|
-
return tslib_1.__generator(this, function (
|
|
22
|
-
switch (
|
|
20
|
+
var api, _b, serviceType, orderType, err_1;
|
|
21
|
+
return tslib_1.__generator(this, function (_c) {
|
|
22
|
+
switch (_c.label) {
|
|
23
23
|
case 0:
|
|
24
|
-
|
|
24
|
+
_c.trys.push([0, 2, , 3]);
|
|
25
25
|
api = getState().config.api;
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
_b = getState().order, serviceType = _b.serviceType, orderType = _b.orderType;
|
|
27
|
+
if (!serviceType || !orderType)
|
|
28
|
+
return [2 /*return*/, []];
|
|
28
29
|
return [4 /*yield*/, api.getDiscounts(serviceType, orderType)];
|
|
29
|
-
case 1: return [2 /*return*/,
|
|
30
|
+
case 1: return [2 /*return*/, _c.sent()];
|
|
30
31
|
case 2:
|
|
31
|
-
err_1 =
|
|
32
|
+
err_1 = _c.sent();
|
|
32
33
|
return [2 /*return*/, rejectWithValue(err_1)];
|
|
33
34
|
case 3: return [2 /*return*/];
|
|
34
35
|
}
|
|
@@ -43,7 +43,9 @@ exports.dismissErrorAlert = (0, toolkit_1.createAsyncThunk)(ErrorAlertsActionTyp
|
|
|
43
43
|
_b.trys.push([0, 2, , 3]);
|
|
44
44
|
api = getState().config.api;
|
|
45
45
|
return [4 /*yield*/, api.deleteAlert(alertId)];
|
|
46
|
-
case 1:
|
|
46
|
+
case 1:
|
|
47
|
+
_b.sent();
|
|
48
|
+
return [2 /*return*/];
|
|
47
49
|
case 2:
|
|
48
50
|
err_2 = _b.sent();
|
|
49
51
|
return [2 /*return*/, rejectWithValue(err_2)];
|
package/dist/cjs/slices/kds.js
CHANGED
|
@@ -213,7 +213,7 @@ exports.printTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.PrintTicket,
|
|
|
213
213
|
case 0:
|
|
214
214
|
_c.trys.push([0, 2, , 3]);
|
|
215
215
|
api = getState().config.api;
|
|
216
|
-
data = status ? { ticket_status: status } :
|
|
216
|
+
data = status ? { ticket_status: status } : undefined;
|
|
217
217
|
return [4 /*yield*/, api.postTicketPrint(orderId, ticketNo, data)];
|
|
218
218
|
case 1:
|
|
219
219
|
order = _c.sent();
|
|
@@ -239,7 +239,7 @@ exports.updateTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicke
|
|
|
239
239
|
case 0:
|
|
240
240
|
_c.trys.push([0, 2, , 3]);
|
|
241
241
|
api = getState().config.api;
|
|
242
|
-
data = status ? { ticket_status: status } :
|
|
242
|
+
data = status ? { ticket_status: status } : undefined;
|
|
243
243
|
return [4 /*yield*/, api.putTicketStatus(orderId, ticketNo, data)];
|
|
244
244
|
case 1:
|
|
245
245
|
order = _c.sent();
|
|
@@ -315,7 +315,7 @@ exports.completeTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.CompleteT
|
|
|
315
315
|
case 0:
|
|
316
316
|
_c.trys.push([0, 2, , 3]);
|
|
317
317
|
api = getState().config.api;
|
|
318
|
-
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, '
|
|
318
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'completed')];
|
|
319
319
|
case 1:
|
|
320
320
|
order = _c.sent();
|
|
321
321
|
dispatch((0, exports.replaceKdsOrder)((0, utils_1.makeKdsOrder)(order)));
|
|
@@ -20,7 +20,7 @@ export declare const fetchSetting: import("@reduxjs/toolkit").AsyncThunk<any, Po
|
|
|
20
20
|
fulfilledMeta?: unknown;
|
|
21
21
|
rejectedMeta?: unknown;
|
|
22
22
|
}>;
|
|
23
|
-
export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings,
|
|
23
|
+
export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings, PosSettingType | undefined, {
|
|
24
24
|
state: AppState;
|
|
25
25
|
rejectValue: RequestError;
|
|
26
26
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -17,14 +17,15 @@ var SurchargesActionType;
|
|
|
17
17
|
exports.fetchSurcharges = (0, toolkit_1.createAsyncThunk)(SurchargesActionType.GetSurcharges, function (_, _a) {
|
|
18
18
|
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
19
19
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
20
|
-
var api,
|
|
20
|
+
var api, serviceType, err_1;
|
|
21
21
|
return tslib_1.__generator(this, function (_b) {
|
|
22
22
|
switch (_b.label) {
|
|
23
23
|
case 0:
|
|
24
24
|
_b.trys.push([0, 2, , 3]);
|
|
25
25
|
api = getState().config.api;
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
serviceType = getState().order.serviceType;
|
|
27
|
+
if (!serviceType)
|
|
28
|
+
return [2 /*return*/, []];
|
|
28
29
|
return [4 /*yield*/, api.getSurcharges(serviceType)];
|
|
29
30
|
case 1: return [2 /*return*/, _b.sent()];
|
|
30
31
|
case 2:
|
package/dist/cjs/slices/taxes.js
CHANGED
|
@@ -17,18 +17,19 @@ var TaxesActionType;
|
|
|
17
17
|
exports.fetchTaxes = (0, toolkit_1.createAsyncThunk)(TaxesActionType.GetTaxes, function (_, _a) {
|
|
18
18
|
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
19
19
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
20
|
-
var api,
|
|
21
|
-
return tslib_1.__generator(this, function (
|
|
22
|
-
switch (
|
|
20
|
+
var api, _b, serviceType, orderType, err_1;
|
|
21
|
+
return tslib_1.__generator(this, function (_c) {
|
|
22
|
+
switch (_c.label) {
|
|
23
23
|
case 0:
|
|
24
|
-
|
|
24
|
+
_c.trys.push([0, 2, , 3]);
|
|
25
25
|
api = getState().config.api;
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
_b = getState().order, serviceType = _b.serviceType, orderType = _b.orderType;
|
|
27
|
+
if (!serviceType || !orderType)
|
|
28
|
+
return [2 /*return*/, []];
|
|
28
29
|
return [4 /*yield*/, api.getTaxes(serviceType, orderType)];
|
|
29
|
-
case 1: return [2 /*return*/,
|
|
30
|
+
case 1: return [2 /*return*/, _c.sent()];
|
|
30
31
|
case 2:
|
|
31
|
-
err_1 =
|
|
32
|
+
err_1 = _c.sent();
|
|
32
33
|
return [2 /*return*/, rejectWithValue(err_1)];
|
|
33
34
|
case 3: return [2 /*return*/];
|
|
34
35
|
}
|
|
@@ -27,12 +27,15 @@ export interface CustomerDiscount {
|
|
|
27
27
|
is_loyalty: boolean;
|
|
28
28
|
}
|
|
29
29
|
export type CustomerDiscounts = Array<CustomerDiscount>;
|
|
30
|
-
export interface
|
|
30
|
+
export interface CustomerCheckoutCustomer {
|
|
31
31
|
customer_id: number;
|
|
32
|
+
email: string;
|
|
32
33
|
first_name: string;
|
|
33
34
|
last_name: string;
|
|
34
|
-
email: string;
|
|
35
35
|
phone: string;
|
|
36
|
+
}
|
|
37
|
+
export interface CustomerCheckout {
|
|
38
|
+
customer: CustomerCheckoutCustomer;
|
|
36
39
|
discounts: CustomerDiscounts;
|
|
37
40
|
points: any;
|
|
38
41
|
discount: any;
|
|
@@ -5,72 +5,72 @@ interface ConfigAPI {
|
|
|
5
5
|
declare class PosAPI {
|
|
6
6
|
apiUrl: string;
|
|
7
7
|
constructor(config: ConfigAPI);
|
|
8
|
-
request: <T>(endpoint: string, method?: string, data?: any) => Promise<T
|
|
9
|
-
post(endpoint: string, data: Record<string, unknown>): Promise<Record<string, unknown
|
|
10
|
-
getConfig(): Promise<Config
|
|
11
|
-
getKioskConfig(): Promise<KioskConfig
|
|
12
|
-
getStore(): Promise<Store
|
|
13
|
-
getSelectOptions(): Promise<SelectOptions
|
|
14
|
-
getItemTypes(): Promise<ItemTypes
|
|
15
|
-
getLevelUpSettings(): Promise<LevelUp
|
|
16
|
-
getCardRead(): Promise<DeviceRead
|
|
17
|
-
postCardCancel(): Promise<null
|
|
18
|
-
getBarcodeRead(): Promise<DeviceRead
|
|
19
|
-
postBarcodeCancel(): Promise<null
|
|
20
|
-
getSettings<T>(posSettingType: PosSettingType): Promise<T
|
|
21
|
-
postSettings(posSettingType
|
|
22
|
-
getInternalSettings(): Promise<InternalSettings
|
|
23
|
-
postInternalSettings(data: InternalSettings): Promise<InternalSettings
|
|
24
|
-
postGiftCardCredit(data: GiftCardCredit, checkOnly
|
|
25
|
-
getGiftCardBalance(code: string | null, cardNumber?: string): Promise<GiftCardBalance
|
|
26
|
-
getEmployee(identifier: string | number): Promise<Employee
|
|
27
|
-
getCashier(): Promise<Employee
|
|
28
|
-
postCardAssign(employeeId: number, code: string): Promise<null
|
|
29
|
-
postCardUnassign(code: string): Promise<null
|
|
30
|
-
postTimePunch(data: Punch): Promise<null
|
|
31
|
-
getTimePunchesReport(businessDate
|
|
32
|
-
postPrintShiftSummary(employeeId: number): Promise<null
|
|
33
|
-
postCashEvent(data: CashEvent): Promise<null
|
|
34
|
-
getCashSummary(employeeId: number): Promise<CashSummary
|
|
35
|
-
postPrintCashSummary(employeeId: number): Promise<null
|
|
36
|
-
getAlerts(): Promise<ErrorAlerts
|
|
37
|
-
getAlert(alertId: number): Promise<ErrorAlert
|
|
38
|
-
putAlert(alertId: number, data: ErrorAlert): Promise<ErrorAlert
|
|
39
|
-
deleteAlert(alertId: number): Promise<null
|
|
40
|
-
getOfflineAuths(): Promise<OfflineAuths
|
|
41
|
-
postOfflineAuths(): Promise<OfflineAuthsResult
|
|
42
|
-
getMenu(revenueCenterId: number, serviceType: ServiceType, requestedAt: RequestedAt): Promise<Menu
|
|
43
|
-
getMenuColors(): Promise<MenuColors
|
|
44
|
-
getMenuPages(): Promise<MenuPages
|
|
45
|
-
getSurcharges(serviceType: ServiceType): Promise<Surcharges
|
|
46
|
-
getDiscounts(serviceType: ServiceType, orderType: OrderType): Promise<Discounts
|
|
47
|
-
getDiscount(name: string): Promise<Discount
|
|
48
|
-
getDiscountViaQRCode(code: string): Promise<Discount
|
|
49
|
-
getTaxes(serviceType: ServiceType, orderType: OrderType): Promise<Taxes
|
|
50
|
-
getRevenueCenter(revenueCenterId: number): Promise<RevenueCenter
|
|
51
|
-
postOpenCashDrawer(): Promise<null
|
|
52
|
-
postTender(orderId: string, data: Tender): Promise<OrderTender
|
|
53
|
-
patchTender(orderId: string, index: number, data: Tender): Promise<OrderTender
|
|
54
|
-
postTenderVoid(orderId: string, index: number): Promise<OrderTender
|
|
8
|
+
request: <T>(endpoint: string, method?: string, data?: any) => Promise<T>;
|
|
9
|
+
post(endpoint: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
10
|
+
getConfig(): Promise<Config>;
|
|
11
|
+
getKioskConfig(): Promise<KioskConfig>;
|
|
12
|
+
getStore(): Promise<Store>;
|
|
13
|
+
getSelectOptions(): Promise<SelectOptions>;
|
|
14
|
+
getItemTypes(): Promise<ItemTypes>;
|
|
15
|
+
getLevelUpSettings(): Promise<LevelUp>;
|
|
16
|
+
getCardRead(): Promise<DeviceRead>;
|
|
17
|
+
postCardCancel(): Promise<null>;
|
|
18
|
+
getBarcodeRead(): Promise<DeviceRead>;
|
|
19
|
+
postBarcodeCancel(): Promise<null>;
|
|
20
|
+
getSettings<T>(posSettingType: PosSettingType): Promise<T>;
|
|
21
|
+
postSettings(posSettingType?: PosSettingType): Promise<Settings>;
|
|
22
|
+
getInternalSettings(): Promise<InternalSettings>;
|
|
23
|
+
postInternalSettings(data: InternalSettings): Promise<InternalSettings>;
|
|
24
|
+
postGiftCardCredit(data: GiftCardCredit, checkOnly?: boolean): Promise<GiftCardCredit>;
|
|
25
|
+
getGiftCardBalance(code: string | null, cardNumber?: string): Promise<GiftCardBalance>;
|
|
26
|
+
getEmployee(identifier: string | number): Promise<Employee>;
|
|
27
|
+
getCashier(): Promise<Employee>;
|
|
28
|
+
postCardAssign(employeeId: number, code: string): Promise<null>;
|
|
29
|
+
postCardUnassign(code: string): Promise<null>;
|
|
30
|
+
postTimePunch(data: Punch): Promise<null>;
|
|
31
|
+
getTimePunchesReport(businessDate?: string, employeeId?: number): Promise<Employees>;
|
|
32
|
+
postPrintShiftSummary(employeeId: number): Promise<null>;
|
|
33
|
+
postCashEvent(data: CashEvent): Promise<null>;
|
|
34
|
+
getCashSummary(employeeId: number): Promise<CashSummary>;
|
|
35
|
+
postPrintCashSummary(employeeId: number): Promise<null>;
|
|
36
|
+
getAlerts(): Promise<ErrorAlerts>;
|
|
37
|
+
getAlert(alertId: number): Promise<ErrorAlert>;
|
|
38
|
+
putAlert(alertId: number, data: ErrorAlert): Promise<ErrorAlert>;
|
|
39
|
+
deleteAlert(alertId: number): Promise<null>;
|
|
40
|
+
getOfflineAuths(): Promise<OfflineAuths>;
|
|
41
|
+
postOfflineAuths(): Promise<OfflineAuthsResult>;
|
|
42
|
+
getMenu(revenueCenterId: number, serviceType: ServiceType, requestedAt: RequestedAt): Promise<Menu>;
|
|
43
|
+
getMenuColors(): Promise<MenuColors>;
|
|
44
|
+
getMenuPages(): Promise<MenuPages>;
|
|
45
|
+
getSurcharges(serviceType: ServiceType): Promise<Surcharges>;
|
|
46
|
+
getDiscounts(serviceType: ServiceType, orderType: OrderType): Promise<Discounts>;
|
|
47
|
+
getDiscount(name: string): Promise<Discount>;
|
|
48
|
+
getDiscountViaQRCode(code: string): Promise<Discount>;
|
|
49
|
+
getTaxes(serviceType: ServiceType, orderType: OrderType): Promise<Taxes>;
|
|
50
|
+
getRevenueCenter(revenueCenterId: number): Promise<RevenueCenter>;
|
|
51
|
+
postOpenCashDrawer(): Promise<null>;
|
|
52
|
+
postTender(orderId: string, data: Tender): Promise<OrderTender>;
|
|
53
|
+
patchTender(orderId: string, index: number, data: Tender): Promise<OrderTender>;
|
|
54
|
+
postTenderVoid(orderId: string, index: number): Promise<OrderTender>;
|
|
55
55
|
postChipDNATender(orderId: string, data: Tender): Promise<unknown>;
|
|
56
|
-
postChipDNACancel(): Promise<null
|
|
57
|
-
postChipDNATmsUpdate(): Promise<null
|
|
58
|
-
postIdentifyCustomer(data: CustomerIdentifier): Promise<CustomerCheckout
|
|
59
|
-
postOrderValidate(order: OrderCreate): Promise<Order
|
|
60
|
-
postOrder(order: OrderCreate): Promise<Order
|
|
61
|
-
deleteOrder(order: OrderCreate): Promise<Order
|
|
62
|
-
getOrders(args: FetchOrdersAPIArgs): Promise<Orders
|
|
63
|
-
patchOrder(orderId: string, data: OrderUpdate): Promise<Order
|
|
64
|
-
postReceipt(orderId: string): Promise<Order
|
|
65
|
-
putTicketsStatus(orderId: string, data: TicketsUpdate): Promise<Order
|
|
66
|
-
postTicketsPrint(orderId: string, data?: TicketsUpdate): Promise<Order
|
|
67
|
-
postTicketsReset(orderId: string): Promise<Order
|
|
68
|
-
putTicketStatus(orderId: string, ticketNo: number, data
|
|
69
|
-
postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order
|
|
70
|
-
postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order
|
|
71
|
-
getArrivals(): Promise<Arrivals
|
|
72
|
-
postAcknowledgeArrival(orderId: string): Promise<Order
|
|
73
|
-
postRefundValidate(orderId: string, refund: Refund): Promise<Order
|
|
74
|
-
postRefund(orderId: string, refund: Refund): Promise<Order
|
|
56
|
+
postChipDNACancel(): Promise<null>;
|
|
57
|
+
postChipDNATmsUpdate(): Promise<null>;
|
|
58
|
+
postIdentifyCustomer(data: CustomerIdentifier): Promise<CustomerCheckout>;
|
|
59
|
+
postOrderValidate(order: OrderCreate): Promise<Order>;
|
|
60
|
+
postOrder(order: OrderCreate): Promise<Order>;
|
|
61
|
+
deleteOrder(order: OrderCreate): Promise<Order>;
|
|
62
|
+
getOrders(args: FetchOrdersAPIArgs): Promise<Orders>;
|
|
63
|
+
patchOrder(orderId: string, data: OrderUpdate): Promise<Order>;
|
|
64
|
+
postReceipt(orderId: string): Promise<Order>;
|
|
65
|
+
putTicketsStatus(orderId: string, data: TicketsUpdate): Promise<Order>;
|
|
66
|
+
postTicketsPrint(orderId: string, data?: TicketsUpdate): Promise<Order>;
|
|
67
|
+
postTicketsReset(orderId: string): Promise<Order>;
|
|
68
|
+
putTicketStatus(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order>;
|
|
69
|
+
postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order>;
|
|
70
|
+
postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order>;
|
|
71
|
+
getArrivals(): Promise<Arrivals>;
|
|
72
|
+
postAcknowledgeArrival(orderId: string): Promise<Order>;
|
|
73
|
+
postRefundValidate(orderId: string, refund: Refund): Promise<Order>;
|
|
74
|
+
postRefund(orderId: string, refund: Refund): Promise<Order>;
|
|
75
75
|
}
|
|
76
76
|
export default PosAPI;
|
package/dist/esm/services/api.js
CHANGED
|
@@ -59,7 +59,7 @@ var PosAPI = /** @class */ (function () {
|
|
|
59
59
|
case 1:
|
|
60
60
|
res = _b.sent();
|
|
61
61
|
if (res.status === 204) {
|
|
62
|
-
return [2 /*return
|
|
62
|
+
return [2 /*return*/];
|
|
63
63
|
}
|
|
64
64
|
contentType = (_a = res.headers.get('Content-Type')) === null || _a === void 0 ? void 0 : _a.split(';')[0];
|
|
65
65
|
if (!contentType) {
|
|
@@ -20,8 +20,6 @@ export var fetchArrivals = createAsyncThunk(ArrivalsActionType.FetchArrivals, fu
|
|
|
20
20
|
case 0:
|
|
21
21
|
_b.trys.push([0, 2, , 3]);
|
|
22
22
|
api = getState().config.api;
|
|
23
|
-
if (!api)
|
|
24
|
-
return [2 /*return*/, null];
|
|
25
23
|
return [4 /*yield*/, api.getArrivals()];
|
|
26
24
|
case 1: return [2 /*return*/, _b.sent()];
|
|
27
25
|
case 2:
|
|
@@ -41,8 +39,6 @@ export var acknowledgeArrival = createAsyncThunk(ArrivalsActionType.AcknowledgeA
|
|
|
41
39
|
case 0:
|
|
42
40
|
_b.trys.push([0, 2, , 3]);
|
|
43
41
|
api = getState().config.api;
|
|
44
|
-
if (!api)
|
|
45
|
-
return [2 /*return*/, null];
|
|
46
42
|
return [4 /*yield*/, api.postAcknowledgeArrival(orderUuid)];
|
|
47
43
|
case 1: return [2 /*return*/, _b.sent()];
|
|
48
44
|
case 2:
|
|
@@ -32,7 +32,7 @@ export declare enum CheckoutActionType {
|
|
|
32
32
|
VoidPosOrder = "checkout/voidPosOrder",
|
|
33
33
|
ActivateGiftCards = "checkout/activateGiftCards"
|
|
34
34
|
}
|
|
35
|
-
export declare const addTender: import("@reduxjs/toolkit").AsyncThunk<OrderTender, Tender, {
|
|
35
|
+
export declare const addTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, Tender, {
|
|
36
36
|
state: AppState;
|
|
37
37
|
rejectValue: RequestError;
|
|
38
38
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -42,7 +42,7 @@ export declare const addTender: import("@reduxjs/toolkit").AsyncThunk<OrderTende
|
|
|
42
42
|
fulfilledMeta?: unknown;
|
|
43
43
|
rejectedMeta?: unknown;
|
|
44
44
|
}>;
|
|
45
|
-
export declare const removeTender: import("@reduxjs/toolkit").AsyncThunk<OrderTender, number, {
|
|
45
|
+
export declare const removeTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, number, {
|
|
46
46
|
state: AppState;
|
|
47
47
|
rejectValue: RequestError;
|
|
48
48
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -52,7 +52,7 @@ export declare const removeTender: import("@reduxjs/toolkit").AsyncThunk<OrderTe
|
|
|
52
52
|
fulfilledMeta?: unknown;
|
|
53
53
|
rejectedMeta?: unknown;
|
|
54
54
|
}>;
|
|
55
|
-
export declare const updateTender: import("@reduxjs/toolkit").AsyncThunk<OrderTender, void, {
|
|
55
|
+
export declare const updateTender: import("@reduxjs/toolkit").AsyncThunk<void | OrderTender, void, {
|
|
56
56
|
state: AppState;
|
|
57
57
|
rejectValue: RequestError;
|
|
58
58
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -72,7 +72,7 @@ export declare const updateCart: import("@reduxjs/toolkit").AsyncThunk<void, any
|
|
|
72
72
|
fulfilledMeta?: unknown;
|
|
73
73
|
rejectedMeta?: unknown;
|
|
74
74
|
}>;
|
|
75
|
-
export declare const identifyCustomer: import("@reduxjs/toolkit").AsyncThunk<CustomerCheckout, IdentifyCustomer, {
|
|
75
|
+
export declare const identifyCustomer: import("@reduxjs/toolkit").AsyncThunk<void | CustomerCheckout, IdentifyCustomer, {
|
|
76
76
|
state: AppState;
|
|
77
77
|
rejectValue: RequestError;
|
|
78
78
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -92,7 +92,7 @@ export declare const completeChipDNA: import("@reduxjs/toolkit").AsyncThunk<any,
|
|
|
92
92
|
fulfilledMeta?: unknown;
|
|
93
93
|
rejectedMeta?: unknown;
|
|
94
94
|
}>;
|
|
95
|
-
export declare const validatePosOrder: import("@reduxjs/toolkit").AsyncThunk<Order, void, {
|
|
95
|
+
export declare const validatePosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, {
|
|
96
96
|
state: AppState;
|
|
97
97
|
rejectValue: RequestError;
|
|
98
98
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -102,7 +102,7 @@ export declare const validatePosOrder: import("@reduxjs/toolkit").AsyncThunk<Ord
|
|
|
102
102
|
fulfilledMeta?: unknown;
|
|
103
103
|
rejectedMeta?: unknown;
|
|
104
104
|
}>;
|
|
105
|
-
export declare const submitPosOrder: import("@reduxjs/toolkit").AsyncThunk<Order, void, {
|
|
105
|
+
export declare const submitPosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, {
|
|
106
106
|
state: AppState;
|
|
107
107
|
rejectValue: RequestError;
|
|
108
108
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -112,7 +112,7 @@ export declare const submitPosOrder: import("@reduxjs/toolkit").AsyncThunk<Order
|
|
|
112
112
|
fulfilledMeta?: unknown;
|
|
113
113
|
rejectedMeta?: unknown;
|
|
114
114
|
}>;
|
|
115
|
-
export declare const voidPosOrder: import("@reduxjs/toolkit").AsyncThunk<Order, void, {
|
|
115
|
+
export declare const voidPosOrder: import("@reduxjs/toolkit").AsyncThunk<void | Order, void, {
|
|
116
116
|
state: AppState;
|
|
117
117
|
rejectValue: RequestError;
|
|
118
118
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -39,6 +39,9 @@ var prepareOrder = function (order, checkout) {
|
|
|
39
39
|
var simpleCart = makeSimpleCart(order.cart);
|
|
40
40
|
var cart = simpleCart.filter(function (item) { return item; });
|
|
41
41
|
var revenue_center_id = revenueCenter === null || revenueCenter === void 0 ? void 0 : revenueCenter.revenue_center_id;
|
|
42
|
+
if (!revenue_center_id || !order_type || !service_type) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
42
45
|
var customer = checkout.customer, gift_cards = checkout.giftCards, surcharges = checkout.surcharges, discounts = checkout.discounts, taxes = checkout.taxes, tip = checkout.tip, isTaxExempt = checkout.isTaxExempt, points = checkout.points;
|
|
43
46
|
var is_tax_exempt = isTaxExempt ? true : false;
|
|
44
47
|
return {
|
|
@@ -139,7 +142,7 @@ export var removeTender = createAsyncThunk(CheckoutActionType.RemoveTender, func
|
|
|
139
142
|
export var updateTender = createAsyncThunk(CheckoutActionType.UpdateTender, function (_, _a) {
|
|
140
143
|
var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
141
144
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
142
|
-
var api, orderId, check, tenders, totals, tender, index, amountTender, amountDue, amount,
|
|
145
|
+
var api, orderId, check, tenders, totals, tender, index, amountTender, amountDue, amount, updatedTender, response, err_3;
|
|
143
146
|
return __generator(this, function (_b) {
|
|
144
147
|
switch (_b.label) {
|
|
145
148
|
case 0:
|
|
@@ -158,8 +161,8 @@ export var updateTender = createAsyncThunk(CheckoutActionType.UpdateTender, func
|
|
|
158
161
|
amountDue = parseFloat(totals.amount_due || '0.00');
|
|
159
162
|
amount = amountTender + amountDue;
|
|
160
163
|
if (!(amount > 0)) return [3 /*break*/, 2];
|
|
161
|
-
|
|
162
|
-
return [4 /*yield*/, api.patchTender(orderId, index,
|
|
164
|
+
updatedTender = { tender_type: tender.tender_type, amount: amount.toFixed(2) };
|
|
165
|
+
return [4 /*yield*/, api.patchTender(orderId, index, updatedTender)];
|
|
163
166
|
case 1:
|
|
164
167
|
response = _b.sent();
|
|
165
168
|
dispatch(validatePosOrder());
|
|
@@ -169,7 +172,7 @@ export var updateTender = createAsyncThunk(CheckoutActionType.UpdateTender, func
|
|
|
169
172
|
var msg = 'Order fully discounted. Tender removed.';
|
|
170
173
|
dispatch(showNotification(msg));
|
|
171
174
|
});
|
|
172
|
-
|
|
175
|
+
return [2 /*return*/];
|
|
173
176
|
case 3: return [3 /*break*/, 5];
|
|
174
177
|
case 4:
|
|
175
178
|
err_3 = _b.sent();
|
|
@@ -219,11 +222,8 @@ export var identifyCustomer = createAsyncThunk(CheckoutActionType.IdentifyCustom
|
|
|
219
222
|
return __generator(this, function (_c) {
|
|
220
223
|
switch (_c.label) {
|
|
221
224
|
case 0:
|
|
222
|
-
_c.trys.push([0,
|
|
225
|
+
_c.trys.push([0, 7, , 8]);
|
|
223
226
|
api = getState().config.api;
|
|
224
|
-
if (!api) {
|
|
225
|
-
return [2 /*return*/];
|
|
226
|
-
}
|
|
227
227
|
return [4 /*yield*/, api.postIdentifyCustomer(data)];
|
|
228
228
|
case 1:
|
|
229
229
|
response = _c.sent();
|
|
@@ -241,22 +241,21 @@ export var identifyCustomer = createAsyncThunk(CheckoutActionType.IdentifyCustom
|
|
|
241
241
|
return [4 /*yield*/, dispatch(validatePosOrder())];
|
|
242
242
|
case 2:
|
|
243
243
|
_c.sent();
|
|
244
|
-
return [3 /*break*/,
|
|
244
|
+
return [3 /*break*/, 6];
|
|
245
245
|
case 3:
|
|
246
246
|
if (!discounts.length) return [3 /*break*/, 5];
|
|
247
247
|
dispatch(setPendingDiscounts(autoDiscounts.length === 0));
|
|
248
248
|
return [4 /*yield*/, dispatch(validatePosOrder())];
|
|
249
249
|
case 4:
|
|
250
250
|
_c.sent();
|
|
251
|
-
return [3 /*break*/,
|
|
251
|
+
return [3 /*break*/, 6];
|
|
252
252
|
case 5:
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
_c.
|
|
257
|
-
|
|
258
|
-
case 7:
|
|
259
|
-
case 8:
|
|
253
|
+
if (callback) {
|
|
254
|
+
callback();
|
|
255
|
+
}
|
|
256
|
+
_c.label = 6;
|
|
257
|
+
case 6: return [2 /*return*/, response];
|
|
258
|
+
case 7:
|
|
260
259
|
err_4 = _c.sent();
|
|
261
260
|
if (showError) {
|
|
262
261
|
errMsg = err_4.status === 404
|
|
@@ -264,14 +263,15 @@ export var identifyCustomer = createAsyncThunk(CheckoutActionType.IdentifyCustom
|
|
|
264
263
|
: err_4.detail || err_4.message;
|
|
265
264
|
dispatch(addAlert(errMsg));
|
|
266
265
|
}
|
|
267
|
-
if (
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
266
|
+
if (callback) {
|
|
267
|
+
callback();
|
|
268
|
+
return [2 /*return*/];
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
return [2 /*return*/, rejectWithValue(err_4)];
|
|
272
|
+
}
|
|
273
|
+
return [3 /*break*/, 8];
|
|
274
|
+
case 8: return [2 /*return*/];
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
277
|
});
|
|
@@ -306,10 +306,11 @@ export var validatePosOrder = createAsyncThunk(CheckoutActionType.ValidatePosOrd
|
|
|
306
306
|
var dispatch = _a.dispatch, getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
307
307
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
308
308
|
var _b, config, order, checkout, preparedOrder, check, orderDiscountIds, checkDiscountIds_1, toRemove, err_6, errors, fields;
|
|
309
|
-
|
|
310
|
-
|
|
309
|
+
var _c;
|
|
310
|
+
return __generator(this, function (_d) {
|
|
311
|
+
switch (_d.label) {
|
|
311
312
|
case 0:
|
|
312
|
-
|
|
313
|
+
_d.trys.push([0, 2, , 3]);
|
|
313
314
|
_b = getState(), config = _b.config, order = _b.order, checkout = _b.checkout;
|
|
314
315
|
preparedOrder = prepareOrder(order, checkout);
|
|
315
316
|
if (!preparedOrder)
|
|
@@ -318,16 +319,16 @@ export var validatePosOrder = createAsyncThunk(CheckoutActionType.ValidatePosOrd
|
|
|
318
319
|
// remove any submitted discounts that aren't applied
|
|
319
320
|
];
|
|
320
321
|
case 1:
|
|
321
|
-
check =
|
|
322
|
-
orderDiscountIds = preparedOrder.discounts.map(function (i) { return i.id; });
|
|
322
|
+
check = _d.sent();
|
|
323
|
+
orderDiscountIds = (_c = preparedOrder.discounts) === null || _c === void 0 ? void 0 : _c.map(function (i) { return i.id; });
|
|
323
324
|
checkDiscountIds_1 = check.discounts.map(function (i) { return i.id; });
|
|
324
|
-
toRemove = orderDiscountIds.filter(function (id) { return !checkDiscountIds_1.includes(id); });
|
|
325
|
-
toRemove.forEach(function (discountId) {
|
|
325
|
+
toRemove = orderDiscountIds === null || orderDiscountIds === void 0 ? void 0 : orderDiscountIds.filter(function (id) { return !checkDiscountIds_1.includes(id); });
|
|
326
|
+
toRemove === null || toRemove === void 0 ? void 0 : toRemove.forEach(function (discountId) {
|
|
326
327
|
return dispatch(removeDiscount(discountId));
|
|
327
328
|
});
|
|
328
329
|
return [2 /*return*/, check];
|
|
329
330
|
case 2:
|
|
330
|
-
err_6 =
|
|
331
|
+
err_6 = _d.sent();
|
|
331
332
|
errors = handleRespError(err_6).errors;
|
|
332
333
|
fields = errors ? Object.keys(errors) : [];
|
|
333
334
|
if (fields.includes('order_uuid')) {
|
|
@@ -589,7 +590,7 @@ var checkoutSlice = createSlice({
|
|
|
589
590
|
state.error = action.payload;
|
|
590
591
|
})
|
|
591
592
|
.addCase(validatePosOrder.fulfilled, function (state, action) {
|
|
592
|
-
state.check = action.payload;
|
|
593
|
+
state.check = action.payload || null;
|
|
593
594
|
state.loading = 'idle';
|
|
594
595
|
state.validating = 'idle';
|
|
595
596
|
state.error = null;
|
|
@@ -604,7 +605,7 @@ var checkoutSlice = createSlice({
|
|
|
604
605
|
state.error = action.payload;
|
|
605
606
|
})
|
|
606
607
|
.addCase(submitPosOrder.fulfilled, function (state, action) {
|
|
607
|
-
state.check = action.payload;
|
|
608
|
+
state.check = action.payload || null;
|
|
608
609
|
state.loading = 'idle';
|
|
609
610
|
state.submitting = 'idle';
|
|
610
611
|
state.error = null;
|
|
@@ -648,13 +649,13 @@ export var selectPosCustomer = function (state) { return state.checkout.customer
|
|
|
648
649
|
export var selectPosCustomerName = function (state) {
|
|
649
650
|
if (!state.checkout.customer)
|
|
650
651
|
return null;
|
|
651
|
-
var _a = state.checkout.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
652
|
+
var _a = state.checkout.customer.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
652
653
|
return "".concat(first_name, " ").concat(last_name);
|
|
653
654
|
};
|
|
654
655
|
export var selectPosCustomerNameShort = function (state) {
|
|
655
656
|
if (!state.checkout.customer)
|
|
656
657
|
return null;
|
|
657
|
-
var _a = state.checkout.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
658
|
+
var _a = state.checkout.customer.customer, first_name = _a.first_name, last_name = _a.last_name;
|
|
658
659
|
var lastName = (last_name === null || last_name === void 0 ? void 0 : last_name.charAt(0)) || '';
|
|
659
660
|
return "".concat(first_name, " ").concat(lastName);
|
|
660
661
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { PosAPI } from '../services';
|
|
1
2
|
import { Devices, MenuColors, RequestError, RequestStatus, SelectOptions, Store, Timezone } from '../types';
|
|
2
3
|
import { AppState } from '../app';
|
|
3
4
|
export interface ConfigApp {
|
|
4
5
|
apiUrl: string;
|
|
5
6
|
}
|
|
6
7
|
export interface ConfigState {
|
|
7
|
-
api:
|
|
8
|
+
api: PosAPI;
|
|
8
9
|
app: ConfigApp | null;
|
|
9
10
|
version?: string | null;
|
|
10
11
|
devices: Devices | null;
|
|
@@ -37,7 +38,7 @@ export declare const fetchConfig: import("@reduxjs/toolkit").AsyncThunk<ConfigSt
|
|
|
37
38
|
}>;
|
|
38
39
|
export declare const resetConfig: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"config/resetConfig">, resetRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"config/resetRetries">, incrementRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"config/incrementRetries">, setVersion: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "config/setVersion">, setApi: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "config/setApi">;
|
|
39
40
|
export declare const selectConfig: (state: AppState) => ConfigState;
|
|
40
|
-
export declare const selectApi: (state: AppState) =>
|
|
41
|
+
export declare const selectApi: (state: AppState) => PosAPI;
|
|
41
42
|
export declare const selectVersion: (state: AppState) => string | null | undefined;
|
|
42
43
|
export declare const selectDevices: (state: AppState) => Devices | null;
|
|
43
44
|
export declare const selectStore: (state: AppState) => Store | null;
|
|
@@ -7,10 +7,9 @@ import { timezoneMap, getUserTimezone, currentLocalDateStr } from '../utils';
|
|
|
7
7
|
import { errorsApi } from '../services/errors';
|
|
8
8
|
import { setCashier } from './pos';
|
|
9
9
|
import { setKdsItemTypes, setKdsPrepStations } from './kds';
|
|
10
|
-
|
|
10
|
+
var defaultApiUrl = "http://".concat(window.location.hostname, ":5001/pos-api");
|
|
11
11
|
var initialState = {
|
|
12
|
-
|
|
13
|
-
api: null,
|
|
12
|
+
api: new PosAPI({ apiUrl: defaultApiUrl }),
|
|
14
13
|
app: null,
|
|
15
14
|
version: null,
|
|
16
15
|
devices: null,
|
|
@@ -14,18 +14,19 @@ export var DiscountsActionType;
|
|
|
14
14
|
export var fetchDiscounts = createAsyncThunk(DiscountsActionType.GetDiscounts, function (_, _a) {
|
|
15
15
|
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
16
16
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
17
|
-
var api,
|
|
18
|
-
return __generator(this, function (
|
|
19
|
-
switch (
|
|
17
|
+
var api, _b, serviceType, orderType, err_1;
|
|
18
|
+
return __generator(this, function (_c) {
|
|
19
|
+
switch (_c.label) {
|
|
20
20
|
case 0:
|
|
21
|
-
|
|
21
|
+
_c.trys.push([0, 2, , 3]);
|
|
22
22
|
api = getState().config.api;
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
_b = getState().order, serviceType = _b.serviceType, orderType = _b.orderType;
|
|
24
|
+
if (!serviceType || !orderType)
|
|
25
|
+
return [2 /*return*/, []];
|
|
25
26
|
return [4 /*yield*/, api.getDiscounts(serviceType, orderType)];
|
|
26
|
-
case 1: return [2 /*return*/,
|
|
27
|
+
case 1: return [2 /*return*/, _c.sent()];
|
|
27
28
|
case 2:
|
|
28
|
-
err_1 =
|
|
29
|
+
err_1 = _c.sent();
|
|
29
30
|
return [2 /*return*/, rejectWithValue(err_1)];
|
|
30
31
|
case 3: return [2 /*return*/];
|
|
31
32
|
}
|
|
@@ -40,7 +40,9 @@ export var dismissErrorAlert = createAsyncThunk(ErrorAlertsActionType.DismissErr
|
|
|
40
40
|
_b.trys.push([0, 2, , 3]);
|
|
41
41
|
api = getState().config.api;
|
|
42
42
|
return [4 /*yield*/, api.deleteAlert(alertId)];
|
|
43
|
-
case 1:
|
|
43
|
+
case 1:
|
|
44
|
+
_b.sent();
|
|
45
|
+
return [2 /*return*/];
|
|
44
46
|
case 2:
|
|
45
47
|
err_2 = _b.sent();
|
|
46
48
|
return [2 /*return*/, rejectWithValue(err_2)];
|
package/dist/esm/slices/kds.js
CHANGED
|
@@ -209,7 +209,7 @@ export var printTicket = createAsyncThunk(KdsActionType.PrintTicket, function (_
|
|
|
209
209
|
case 0:
|
|
210
210
|
_c.trys.push([0, 2, , 3]);
|
|
211
211
|
api = getState().config.api;
|
|
212
|
-
data = status ? { ticket_status: status } :
|
|
212
|
+
data = status ? { ticket_status: status } : undefined;
|
|
213
213
|
return [4 /*yield*/, api.postTicketPrint(orderId, ticketNo, data)];
|
|
214
214
|
case 1:
|
|
215
215
|
order = _c.sent();
|
|
@@ -235,7 +235,7 @@ export var updateTicket = createAsyncThunk(KdsActionType.UpdateTicket, function
|
|
|
235
235
|
case 0:
|
|
236
236
|
_c.trys.push([0, 2, , 3]);
|
|
237
237
|
api = getState().config.api;
|
|
238
|
-
data = status ? { ticket_status: status } :
|
|
238
|
+
data = status ? { ticket_status: status } : undefined;
|
|
239
239
|
return [4 /*yield*/, api.putTicketStatus(orderId, ticketNo, data)];
|
|
240
240
|
case 1:
|
|
241
241
|
order = _c.sent();
|
|
@@ -311,7 +311,7 @@ export var completeTicket = createAsyncThunk(KdsActionType.CompleteTicket, funct
|
|
|
311
311
|
case 0:
|
|
312
312
|
_c.trys.push([0, 2, , 3]);
|
|
313
313
|
api = getState().config.api;
|
|
314
|
-
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, '
|
|
314
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'completed')];
|
|
315
315
|
case 1:
|
|
316
316
|
order = _c.sent();
|
|
317
317
|
dispatch(replaceKdsOrder(makeKdsOrder(order)));
|
|
@@ -20,7 +20,7 @@ export declare const fetchSetting: import("@reduxjs/toolkit").AsyncThunk<any, Po
|
|
|
20
20
|
fulfilledMeta?: unknown;
|
|
21
21
|
rejectedMeta?: unknown;
|
|
22
22
|
}>;
|
|
23
|
-
export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings,
|
|
23
|
+
export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings, PosSettingType | undefined, {
|
|
24
24
|
state: AppState;
|
|
25
25
|
rejectValue: RequestError;
|
|
26
26
|
dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
|
|
@@ -14,14 +14,15 @@ export var SurchargesActionType;
|
|
|
14
14
|
export var fetchSurcharges = createAsyncThunk(SurchargesActionType.GetSurcharges, function (_, _a) {
|
|
15
15
|
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
16
16
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
17
|
-
var api,
|
|
17
|
+
var api, serviceType, err_1;
|
|
18
18
|
return __generator(this, function (_b) {
|
|
19
19
|
switch (_b.label) {
|
|
20
20
|
case 0:
|
|
21
21
|
_b.trys.push([0, 2, , 3]);
|
|
22
22
|
api = getState().config.api;
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
serviceType = getState().order.serviceType;
|
|
24
|
+
if (!serviceType)
|
|
25
|
+
return [2 /*return*/, []];
|
|
25
26
|
return [4 /*yield*/, api.getSurcharges(serviceType)];
|
|
26
27
|
case 1: return [2 /*return*/, _b.sent()];
|
|
27
28
|
case 2:
|
package/dist/esm/slices/taxes.js
CHANGED
|
@@ -14,18 +14,19 @@ export var TaxesActionType;
|
|
|
14
14
|
export var fetchTaxes = createAsyncThunk(TaxesActionType.GetTaxes, function (_, _a) {
|
|
15
15
|
var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
|
|
16
16
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
17
|
-
var api,
|
|
18
|
-
return __generator(this, function (
|
|
19
|
-
switch (
|
|
17
|
+
var api, _b, serviceType, orderType, err_1;
|
|
18
|
+
return __generator(this, function (_c) {
|
|
19
|
+
switch (_c.label) {
|
|
20
20
|
case 0:
|
|
21
|
-
|
|
21
|
+
_c.trys.push([0, 2, , 3]);
|
|
22
22
|
api = getState().config.api;
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
_b = getState().order, serviceType = _b.serviceType, orderType = _b.orderType;
|
|
24
|
+
if (!serviceType || !orderType)
|
|
25
|
+
return [2 /*return*/, []];
|
|
25
26
|
return [4 /*yield*/, api.getTaxes(serviceType, orderType)];
|
|
26
|
-
case 1: return [2 /*return*/,
|
|
27
|
+
case 1: return [2 /*return*/, _c.sent()];
|
|
27
28
|
case 2:
|
|
28
|
-
err_1 =
|
|
29
|
+
err_1 = _c.sent();
|
|
29
30
|
return [2 /*return*/, rejectWithValue(err_1)];
|
|
30
31
|
case 3: return [2 /*return*/];
|
|
31
32
|
}
|
|
@@ -27,12 +27,15 @@ export interface CustomerDiscount {
|
|
|
27
27
|
is_loyalty: boolean;
|
|
28
28
|
}
|
|
29
29
|
export type CustomerDiscounts = Array<CustomerDiscount>;
|
|
30
|
-
export interface
|
|
30
|
+
export interface CustomerCheckoutCustomer {
|
|
31
31
|
customer_id: number;
|
|
32
|
+
email: string;
|
|
32
33
|
first_name: string;
|
|
33
34
|
last_name: string;
|
|
34
|
-
email: string;
|
|
35
35
|
phone: string;
|
|
36
|
+
}
|
|
37
|
+
export interface CustomerCheckout {
|
|
38
|
+
customer: CustomerCheckoutCustomer;
|
|
36
39
|
discounts: CustomerDiscounts;
|
|
37
40
|
points: any;
|
|
38
41
|
discount: any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|