@open-tender/store 0.4.1 → 0.5.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/dist/cjs/app/hooks.d.ts +1 -0
- package/dist/cjs/app/store.d.ts +3 -0
- package/dist/cjs/app/store.js +1 -0
- package/dist/cjs/services/api.d.ts +2 -1
- package/dist/cjs/services/api.js +3 -0
- package/dist/cjs/slices/index.d.ts +1 -0
- package/dist/cjs/slices/index.js +1 -0
- package/dist/cjs/slices/kiosk.d.ts +32 -0
- package/dist/cjs/slices/kiosk.js +116 -0
- package/dist/cjs/slices/types.d.ts +1 -0
- package/dist/cjs/slices/types.js +1 -0
- package/dist/cjs/types/api/index.d.ts +1 -0
- package/dist/cjs/types/api/index.js +1 -0
- package/dist/cjs/types/api/kiosk.d.ts +8 -0
- package/dist/cjs/types/api/kiosk.js +2 -0
- package/dist/esm/app/hooks.d.ts +1 -0
- package/dist/esm/app/store.d.ts +3 -0
- package/dist/esm/app/store.js +2 -1
- package/dist/esm/services/api.d.ts +2 -1
- package/dist/esm/services/api.js +3 -0
- package/dist/esm/slices/index.d.ts +1 -0
- package/dist/esm/slices/index.js +1 -0
- package/dist/esm/slices/kiosk.d.ts +32 -0
- package/dist/esm/slices/kiosk.js +110 -0
- package/dist/esm/slices/types.d.ts +1 -0
- package/dist/esm/slices/types.js +1 -0
- package/dist/esm/types/api/index.d.ts +1 -0
- package/dist/esm/types/api/index.js +1 -0
- package/dist/esm/types/api/kiosk.d.ts +8 -0
- package/dist/esm/types/api/kiosk.js +1 -0
- package/package.json +1 -1
package/dist/cjs/app/hooks.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<i
|
|
|
9
9
|
discounts: import("..").DiscountsState;
|
|
10
10
|
errorAlerts: import("..").ErrorAlertsState;
|
|
11
11
|
kds: import("..").KdsState;
|
|
12
|
+
kiosk: import("..").KioskState;
|
|
12
13
|
menu: import("..").MenuState;
|
|
13
14
|
menuPages: import("..").MenuPagesState;
|
|
14
15
|
modal: import("..").ModalState;
|
package/dist/cjs/app/store.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const appReducer: import("redux").Reducer<import("redux").Combine
|
|
|
8
8
|
discounts: import("../slices").DiscountsState;
|
|
9
9
|
errorAlerts: import("../slices").ErrorAlertsState;
|
|
10
10
|
kds: import("../slices").KdsState;
|
|
11
|
+
kiosk: import("../slices").KioskState;
|
|
11
12
|
menu: import("../slices").MenuState;
|
|
12
13
|
menuPages: import("../slices").MenuPagesState;
|
|
13
14
|
modal: import("../slices").ModalState;
|
|
@@ -32,6 +33,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
32
33
|
discounts: import("../slices").DiscountsState;
|
|
33
34
|
errorAlerts: import("../slices").ErrorAlertsState;
|
|
34
35
|
kds: import("../slices").KdsState;
|
|
36
|
+
kiosk: import("../slices").KioskState;
|
|
35
37
|
menu: import("../slices").MenuState;
|
|
36
38
|
menuPages: import("../slices").MenuPagesState;
|
|
37
39
|
modal: import("../slices").ModalState;
|
|
@@ -54,6 +56,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
54
56
|
discounts: import("../slices").DiscountsState;
|
|
55
57
|
errorAlerts: import("../slices").ErrorAlertsState;
|
|
56
58
|
kds: import("../slices").KdsState;
|
|
59
|
+
kiosk: import("../slices").KioskState;
|
|
57
60
|
menu: import("../slices").MenuState;
|
|
58
61
|
menuPages: import("../slices").MenuPagesState;
|
|
59
62
|
modal: import("../slices").ModalState;
|
package/dist/cjs/app/store.js
CHANGED
|
@@ -12,6 +12,7 @@ exports.appReducer = (0, toolkit_1.combineReducers)({
|
|
|
12
12
|
discounts: slices_1.discountsReducer,
|
|
13
13
|
errorAlerts: slices_1.errorAlertsReducer,
|
|
14
14
|
kds: slices_1.kdsReducer,
|
|
15
|
+
kiosk: slices_1.kioskReducer,
|
|
15
16
|
menu: slices_1.menuReducer,
|
|
16
17
|
menuPages: slices_1.menuPagesReducer,
|
|
17
18
|
modal: slices_1.modalReducer,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Arrivals, CashEvent, CashSummary, Config, CustomerCheckout, CustomerIdentifier, DeviceRead, Discount, Discounts, Employee, Employees, EntityType, ErrorAlert, ErrorAlerts, FetchOrdersAPIArgs, GiftCardBalance, GiftCardCredit, InternalSettings, ItemTypes, LevelUp, Menu, MenuColors, MenuPages, OfflineAuths, OfflineAuthsResult, Order, OrderCreate, Orders, OrderTender, OrderType, OrderUpdate, Punch, Refund, RequestedAt, RevenueCenter, SelectOptions, ServiceType, Settings, Store, Surcharges, Taxes, Tender, TicketStatusUpdate, TicketsUpdate, TicketUpdate } from '../types';
|
|
1
|
+
import { Arrivals, CashEvent, CashSummary, Config, CustomerCheckout, CustomerIdentifier, DeviceRead, Discount, Discounts, Employee, Employees, EntityType, ErrorAlert, ErrorAlerts, FetchOrdersAPIArgs, GiftCardBalance, GiftCardCredit, InternalSettings, ItemTypes, KioskConfig, LevelUp, Menu, MenuColors, MenuPages, OfflineAuths, OfflineAuthsResult, Order, OrderCreate, Orders, OrderTender, OrderType, OrderUpdate, Punch, Refund, RequestedAt, RevenueCenter, SelectOptions, ServiceType, Settings, Store, Surcharges, Taxes, Tender, TicketStatusUpdate, TicketsUpdate, TicketUpdate } from '../types';
|
|
2
2
|
interface ConfigAPI {
|
|
3
3
|
apiUrl: string;
|
|
4
4
|
}
|
|
@@ -8,6 +8,7 @@ declare class PosAPI {
|
|
|
8
8
|
request: <T>(endpoint: string, method?: string, data?: any) => Promise<T | null | undefined>;
|
|
9
9
|
post(endpoint: string, data: Record<string, unknown>): Promise<Record<string, unknown> | null | undefined>;
|
|
10
10
|
getConfig(): Promise<Config | null | undefined>;
|
|
11
|
+
getKioskConfig(): Promise<KioskConfig | null | undefined>;
|
|
11
12
|
getStore(): Promise<Store | null | undefined>;
|
|
12
13
|
getSelectOptions(): Promise<SelectOptions | null | undefined>;
|
|
13
14
|
getItemTypes(): Promise<ItemTypes | null | undefined>;
|
package/dist/cjs/services/api.js
CHANGED
|
@@ -92,6 +92,9 @@ var PosAPI = /** @class */ (function () {
|
|
|
92
92
|
PosAPI.prototype.getConfig = function () {
|
|
93
93
|
return this.request("/config");
|
|
94
94
|
};
|
|
95
|
+
PosAPI.prototype.getKioskConfig = function () {
|
|
96
|
+
return this.request("/config-kiosk");
|
|
97
|
+
};
|
|
95
98
|
PosAPI.prototype.getStore = function () {
|
|
96
99
|
return this.request("/store");
|
|
97
100
|
};
|
package/dist/cjs/slices/index.js
CHANGED
|
@@ -9,6 +9,7 @@ tslib_1.__exportStar(require("./config"), exports);
|
|
|
9
9
|
tslib_1.__exportStar(require("./discounts"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./errorAlerts"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./kds"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./kiosk"), exports);
|
|
12
13
|
tslib_1.__exportStar(require("./menu"), exports);
|
|
13
14
|
tslib_1.__exportStar(require("./menuPages"), exports);
|
|
14
15
|
tslib_1.__exportStar(require("./modal"), exports);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { KioskBrand, KioskContent, KioskTheme, RequestError, RequestStatus, Store } from '../types';
|
|
2
|
+
import { AppState } from '../app';
|
|
3
|
+
export interface KioskApp {
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
}
|
|
6
|
+
export interface KioskState {
|
|
7
|
+
api: any;
|
|
8
|
+
app: KioskApp | null;
|
|
9
|
+
version?: string | null;
|
|
10
|
+
store: Store | null;
|
|
11
|
+
revenueCenterId: number | null;
|
|
12
|
+
brand: KioskBrand | null;
|
|
13
|
+
content: KioskContent | null;
|
|
14
|
+
theme: KioskTheme | null;
|
|
15
|
+
loading: RequestStatus;
|
|
16
|
+
error: RequestError | null;
|
|
17
|
+
retries: number;
|
|
18
|
+
}
|
|
19
|
+
export declare enum KioskActionType {
|
|
20
|
+
FetchKiosk = "kiosk/getKiosk"
|
|
21
|
+
}
|
|
22
|
+
export declare const fetchKioskConfig: import("@reduxjs/toolkit").AsyncThunk<KioskState, {
|
|
23
|
+
apiUrl: string;
|
|
24
|
+
}, {
|
|
25
|
+
state: AppState;
|
|
26
|
+
rejectValue: RequestError;
|
|
27
|
+
}>;
|
|
28
|
+
export declare const resetKiosk: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetKioskRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, incrementKioskRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKioskVersion: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
|
|
29
|
+
export declare const selectKiosk: (state: AppState) => KioskState;
|
|
30
|
+
export declare const selectKioskApi: (state: AppState) => any;
|
|
31
|
+
export declare const selectKioskVersion: (state: AppState) => string | null | undefined;
|
|
32
|
+
export declare const kioskReducer: import("redux").Reducer<KioskState, import("redux").AnyAction>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.kioskReducer = exports.selectKioskVersion = exports.selectKioskApi = exports.selectKiosk = exports.setKioskVersion = exports.incrementKioskRetries = exports.resetKioskRetries = exports.resetKiosk = exports.fetchKioskConfig = exports.KioskActionType = void 0;
|
|
5
|
+
var tslib_1 = require("tslib");
|
|
6
|
+
var toolkit_1 = require("@reduxjs/toolkit");
|
|
7
|
+
var services_1 = require("../services");
|
|
8
|
+
var types_1 = require("./types");
|
|
9
|
+
var errors_1 = require("../services/errors");
|
|
10
|
+
var initialState = {
|
|
11
|
+
api: null,
|
|
12
|
+
app: null,
|
|
13
|
+
version: null,
|
|
14
|
+
store: null,
|
|
15
|
+
revenueCenterId: null,
|
|
16
|
+
brand: null,
|
|
17
|
+
content: null,
|
|
18
|
+
theme: null,
|
|
19
|
+
loading: 'idle',
|
|
20
|
+
error: null,
|
|
21
|
+
retries: 0
|
|
22
|
+
};
|
|
23
|
+
var KioskActionType;
|
|
24
|
+
(function (KioskActionType) {
|
|
25
|
+
KioskActionType["FetchKiosk"] = "kiosk/getKiosk";
|
|
26
|
+
})(KioskActionType = exports.KioskActionType || (exports.KioskActionType = {}));
|
|
27
|
+
exports.fetchKioskConfig = (0, toolkit_1.createAsyncThunk)(KioskActionType.FetchKiosk, function (_a, _b) {
|
|
28
|
+
var apiUrl = _a.apiUrl;
|
|
29
|
+
var rejectWithValue = _b.rejectWithValue;
|
|
30
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
31
|
+
var app, api, _c, kioskConfig, store, err, brand, content, theme, revenueCenterId, err_1;
|
|
32
|
+
return tslib_1.__generator(this, function (_d) {
|
|
33
|
+
switch (_d.label) {
|
|
34
|
+
case 0:
|
|
35
|
+
_d.trys.push([0, 2, , 3]);
|
|
36
|
+
app = { apiUrl: apiUrl };
|
|
37
|
+
api = new services_1.PosAPI(app);
|
|
38
|
+
return [4 /*yield*/, Promise.all([
|
|
39
|
+
api.getKioskConfig(),
|
|
40
|
+
api.getStore()
|
|
41
|
+
])];
|
|
42
|
+
case 1:
|
|
43
|
+
_c = _d.sent(), kioskConfig = _c[0], store = _c[1];
|
|
44
|
+
if (!kioskConfig || !store) {
|
|
45
|
+
err = errors_1.errorsApi.internalServerError;
|
|
46
|
+
return [2 /*return*/, rejectWithValue(err)];
|
|
47
|
+
}
|
|
48
|
+
brand = kioskConfig.brand, content = kioskConfig.content, theme = kioskConfig.theme;
|
|
49
|
+
revenueCenterId = store.revenue_center_id;
|
|
50
|
+
return [2 /*return*/, {
|
|
51
|
+
api: api,
|
|
52
|
+
app: app,
|
|
53
|
+
store: store,
|
|
54
|
+
revenueCenterId: revenueCenterId,
|
|
55
|
+
brand: brand,
|
|
56
|
+
content: content,
|
|
57
|
+
theme: theme,
|
|
58
|
+
error: null,
|
|
59
|
+
loading: 'idle',
|
|
60
|
+
retries: 0
|
|
61
|
+
}];
|
|
62
|
+
case 2:
|
|
63
|
+
err_1 = _d.sent();
|
|
64
|
+
return [2 /*return*/, rejectWithValue(err_1)];
|
|
65
|
+
case 3: return [2 /*return*/];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
var kioskSlice = (0, toolkit_1.createSlice)({
|
|
71
|
+
name: types_1.ReducerType.Kiosk,
|
|
72
|
+
initialState: initialState,
|
|
73
|
+
reducers: {
|
|
74
|
+
resetKiosk: function () { return initialState; },
|
|
75
|
+
resetKioskRetries: function (state) {
|
|
76
|
+
state.retries = 0;
|
|
77
|
+
},
|
|
78
|
+
incrementKioskRetries: function (state) {
|
|
79
|
+
state.retries = state.retries + 1;
|
|
80
|
+
},
|
|
81
|
+
setKioskVersion: function (state, action) {
|
|
82
|
+
state.version = action.payload;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
extraReducers: function (builder) {
|
|
86
|
+
builder
|
|
87
|
+
.addCase(exports.fetchKioskConfig.fulfilled, function (state, action) {
|
|
88
|
+
var _a = action.payload, api = _a.api, app = _a.app, store = _a.store, revenueCenterId = _a.revenueCenterId, brand = _a.brand, content = _a.content, theme = _a.theme;
|
|
89
|
+
state.api = api;
|
|
90
|
+
state.app = app;
|
|
91
|
+
state.store = store;
|
|
92
|
+
state.revenueCenterId = revenueCenterId;
|
|
93
|
+
state.brand = brand;
|
|
94
|
+
state.content = content;
|
|
95
|
+
state.theme = theme;
|
|
96
|
+
state.loading = 'idle';
|
|
97
|
+
state.retries = 0;
|
|
98
|
+
state.error = null;
|
|
99
|
+
})
|
|
100
|
+
.addCase(exports.fetchKioskConfig.pending, function (state) {
|
|
101
|
+
state.loading = 'pending';
|
|
102
|
+
})
|
|
103
|
+
.addCase(exports.fetchKioskConfig.rejected, function (state, action) {
|
|
104
|
+
state.error = action.payload;
|
|
105
|
+
state.loading = 'idle';
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
exports.resetKiosk = (_a = kioskSlice.actions, _a.resetKiosk), exports.resetKioskRetries = _a.resetKioskRetries, exports.incrementKioskRetries = _a.incrementKioskRetries, exports.setKioskVersion = _a.setKioskVersion;
|
|
110
|
+
var selectKiosk = function (state) { return state.kiosk; };
|
|
111
|
+
exports.selectKiosk = selectKiosk;
|
|
112
|
+
var selectKioskApi = function (state) { return state.kiosk.api; };
|
|
113
|
+
exports.selectKioskApi = selectKioskApi;
|
|
114
|
+
var selectKioskVersion = function (state) { return state.kiosk.version; };
|
|
115
|
+
exports.selectKioskVersion = selectKioskVersion;
|
|
116
|
+
exports.kioskReducer = kioskSlice.reducer;
|
package/dist/cjs/slices/types.js
CHANGED
|
@@ -11,6 +11,7 @@ var ReducerType;
|
|
|
11
11
|
ReducerType["Discounts"] = "discounts";
|
|
12
12
|
ReducerType["ErrorAlerts"] = "errorAlerts";
|
|
13
13
|
ReducerType["Kds"] = "kds";
|
|
14
|
+
ReducerType["Kiosk"] = "kiosk";
|
|
14
15
|
ReducerType["MenuPages"] = "menuPages";
|
|
15
16
|
ReducerType["Menu"] = "menu";
|
|
16
17
|
ReducerType["Modal"] = "modal";
|
|
@@ -14,6 +14,7 @@ tslib_1.__exportStar(require("./errorAlerts"), exports);
|
|
|
14
14
|
tslib_1.__exportStar(require("./favorite"), exports);
|
|
15
15
|
tslib_1.__exportStar(require("./giftCard"), exports);
|
|
16
16
|
tslib_1.__exportStar(require("./kds"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./kiosk"), exports);
|
|
17
18
|
tslib_1.__exportStar(require("./menu"), exports);
|
|
18
19
|
tslib_1.__exportStar(require("./menuPages"), exports);
|
|
19
20
|
tslib_1.__exportStar(require("./messages"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare type KioskBrand = Record<string, unknown>;
|
|
2
|
+
export declare type KioskContent = Record<string, unknown>;
|
|
3
|
+
export declare type KioskTheme = Record<string, unknown>;
|
|
4
|
+
export interface KioskConfig {
|
|
5
|
+
brand: KioskBrand;
|
|
6
|
+
content: KioskContent;
|
|
7
|
+
theme: KioskTheme;
|
|
8
|
+
}
|
package/dist/esm/app/hooks.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<i
|
|
|
9
9
|
discounts: import("..").DiscountsState;
|
|
10
10
|
errorAlerts: import("..").ErrorAlertsState;
|
|
11
11
|
kds: import("..").KdsState;
|
|
12
|
+
kiosk: import("..").KioskState;
|
|
12
13
|
menu: import("..").MenuState;
|
|
13
14
|
menuPages: import("..").MenuPagesState;
|
|
14
15
|
modal: import("..").ModalState;
|
package/dist/esm/app/store.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const appReducer: import("redux").Reducer<import("redux").Combine
|
|
|
8
8
|
discounts: import("../slices").DiscountsState;
|
|
9
9
|
errorAlerts: import("../slices").ErrorAlertsState;
|
|
10
10
|
kds: import("../slices").KdsState;
|
|
11
|
+
kiosk: import("../slices").KioskState;
|
|
11
12
|
menu: import("../slices").MenuState;
|
|
12
13
|
menuPages: import("../slices").MenuPagesState;
|
|
13
14
|
modal: import("../slices").ModalState;
|
|
@@ -32,6 +33,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
32
33
|
discounts: import("../slices").DiscountsState;
|
|
33
34
|
errorAlerts: import("../slices").ErrorAlertsState;
|
|
34
35
|
kds: import("../slices").KdsState;
|
|
36
|
+
kiosk: import("../slices").KioskState;
|
|
35
37
|
menu: import("../slices").MenuState;
|
|
36
38
|
menuPages: import("../slices").MenuPagesState;
|
|
37
39
|
modal: import("../slices").ModalState;
|
|
@@ -54,6 +56,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
54
56
|
discounts: import("../slices").DiscountsState;
|
|
55
57
|
errorAlerts: import("../slices").ErrorAlertsState;
|
|
56
58
|
kds: import("../slices").KdsState;
|
|
59
|
+
kiosk: import("../slices").KioskState;
|
|
57
60
|
menu: import("../slices").MenuState;
|
|
58
61
|
menuPages: import("../slices").MenuPagesState;
|
|
59
62
|
modal: import("../slices").ModalState;
|
package/dist/esm/app/store.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { combineReducers, configureStore } from '@reduxjs/toolkit';
|
|
2
|
-
import { alertsReducer, arrivalsReducer, checkoutReducer, completedOrdersReducer, configReducer, discountsReducer, errorAlertsReducer, kdsReducer, menuReducer, menuPagesReducer, modalReducer, notificationsReducer, offlineAuthsReducer, orderReducer, posReducer, punchesReducer, refundReducer, settingsReducer, sidebarReducer, surchargesReducer, taxesReducer } from '../slices';
|
|
2
|
+
import { alertsReducer, arrivalsReducer, checkoutReducer, completedOrdersReducer, configReducer, discountsReducer, errorAlertsReducer, kdsReducer, kioskReducer, menuReducer, menuPagesReducer, modalReducer, notificationsReducer, offlineAuthsReducer, orderReducer, posReducer, punchesReducer, refundReducer, settingsReducer, sidebarReducer, surchargesReducer, taxesReducer } from '../slices';
|
|
3
3
|
export var appReducer = combineReducers({
|
|
4
4
|
alerts: alertsReducer,
|
|
5
5
|
arrivals: arrivalsReducer,
|
|
@@ -9,6 +9,7 @@ export var appReducer = combineReducers({
|
|
|
9
9
|
discounts: discountsReducer,
|
|
10
10
|
errorAlerts: errorAlertsReducer,
|
|
11
11
|
kds: kdsReducer,
|
|
12
|
+
kiosk: kioskReducer,
|
|
12
13
|
menu: menuReducer,
|
|
13
14
|
menuPages: menuPagesReducer,
|
|
14
15
|
modal: modalReducer,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Arrivals, CashEvent, CashSummary, Config, CustomerCheckout, CustomerIdentifier, DeviceRead, Discount, Discounts, Employee, Employees, EntityType, ErrorAlert, ErrorAlerts, FetchOrdersAPIArgs, GiftCardBalance, GiftCardCredit, InternalSettings, ItemTypes, LevelUp, Menu, MenuColors, MenuPages, OfflineAuths, OfflineAuthsResult, Order, OrderCreate, Orders, OrderTender, OrderType, OrderUpdate, Punch, Refund, RequestedAt, RevenueCenter, SelectOptions, ServiceType, Settings, Store, Surcharges, Taxes, Tender, TicketStatusUpdate, TicketsUpdate, TicketUpdate } from '../types';
|
|
1
|
+
import { Arrivals, CashEvent, CashSummary, Config, CustomerCheckout, CustomerIdentifier, DeviceRead, Discount, Discounts, Employee, Employees, EntityType, ErrorAlert, ErrorAlerts, FetchOrdersAPIArgs, GiftCardBalance, GiftCardCredit, InternalSettings, ItemTypes, KioskConfig, LevelUp, Menu, MenuColors, MenuPages, OfflineAuths, OfflineAuthsResult, Order, OrderCreate, Orders, OrderTender, OrderType, OrderUpdate, Punch, Refund, RequestedAt, RevenueCenter, SelectOptions, ServiceType, Settings, Store, Surcharges, Taxes, Tender, TicketStatusUpdate, TicketsUpdate, TicketUpdate } from '../types';
|
|
2
2
|
interface ConfigAPI {
|
|
3
3
|
apiUrl: string;
|
|
4
4
|
}
|
|
@@ -8,6 +8,7 @@ declare class PosAPI {
|
|
|
8
8
|
request: <T>(endpoint: string, method?: string, data?: any) => Promise<T | null | undefined>;
|
|
9
9
|
post(endpoint: string, data: Record<string, unknown>): Promise<Record<string, unknown> | null | undefined>;
|
|
10
10
|
getConfig(): Promise<Config | null | undefined>;
|
|
11
|
+
getKioskConfig(): Promise<KioskConfig | null | undefined>;
|
|
11
12
|
getStore(): Promise<Store | null | undefined>;
|
|
12
13
|
getSelectOptions(): Promise<SelectOptions | null | undefined>;
|
|
13
14
|
getItemTypes(): Promise<ItemTypes | null | undefined>;
|
package/dist/esm/services/api.js
CHANGED
|
@@ -90,6 +90,9 @@ var PosAPI = /** @class */ (function () {
|
|
|
90
90
|
PosAPI.prototype.getConfig = function () {
|
|
91
91
|
return this.request("/config");
|
|
92
92
|
};
|
|
93
|
+
PosAPI.prototype.getKioskConfig = function () {
|
|
94
|
+
return this.request("/config-kiosk");
|
|
95
|
+
};
|
|
93
96
|
PosAPI.prototype.getStore = function () {
|
|
94
97
|
return this.request("/store");
|
|
95
98
|
};
|
package/dist/esm/slices/index.js
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { KioskBrand, KioskContent, KioskTheme, RequestError, RequestStatus, Store } from '../types';
|
|
2
|
+
import { AppState } from '../app';
|
|
3
|
+
export interface KioskApp {
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
}
|
|
6
|
+
export interface KioskState {
|
|
7
|
+
api: any;
|
|
8
|
+
app: KioskApp | null;
|
|
9
|
+
version?: string | null;
|
|
10
|
+
store: Store | null;
|
|
11
|
+
revenueCenterId: number | null;
|
|
12
|
+
brand: KioskBrand | null;
|
|
13
|
+
content: KioskContent | null;
|
|
14
|
+
theme: KioskTheme | null;
|
|
15
|
+
loading: RequestStatus;
|
|
16
|
+
error: RequestError | null;
|
|
17
|
+
retries: number;
|
|
18
|
+
}
|
|
19
|
+
export declare enum KioskActionType {
|
|
20
|
+
FetchKiosk = "kiosk/getKiosk"
|
|
21
|
+
}
|
|
22
|
+
export declare const fetchKioskConfig: import("@reduxjs/toolkit").AsyncThunk<KioskState, {
|
|
23
|
+
apiUrl: string;
|
|
24
|
+
}, {
|
|
25
|
+
state: AppState;
|
|
26
|
+
rejectValue: RequestError;
|
|
27
|
+
}>;
|
|
28
|
+
export declare const resetKiosk: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetKioskRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, incrementKioskRetries: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setKioskVersion: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
|
|
29
|
+
export declare const selectKiosk: (state: AppState) => KioskState;
|
|
30
|
+
export declare const selectKioskApi: (state: AppState) => any;
|
|
31
|
+
export declare const selectKioskVersion: (state: AppState) => string | null | undefined;
|
|
32
|
+
export declare const kioskReducer: import("redux").Reducer<KioskState, import("redux").AnyAction>;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import { __awaiter, __generator } from "tslib";
|
|
3
|
+
import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';
|
|
4
|
+
import { PosAPI } from '../services';
|
|
5
|
+
import { ReducerType } from './types';
|
|
6
|
+
import { errorsApi } from '../services/errors';
|
|
7
|
+
var initialState = {
|
|
8
|
+
api: null,
|
|
9
|
+
app: null,
|
|
10
|
+
version: null,
|
|
11
|
+
store: null,
|
|
12
|
+
revenueCenterId: null,
|
|
13
|
+
brand: null,
|
|
14
|
+
content: null,
|
|
15
|
+
theme: null,
|
|
16
|
+
loading: 'idle',
|
|
17
|
+
error: null,
|
|
18
|
+
retries: 0
|
|
19
|
+
};
|
|
20
|
+
export var KioskActionType;
|
|
21
|
+
(function (KioskActionType) {
|
|
22
|
+
KioskActionType["FetchKiosk"] = "kiosk/getKiosk";
|
|
23
|
+
})(KioskActionType || (KioskActionType = {}));
|
|
24
|
+
export var fetchKioskConfig = createAsyncThunk(KioskActionType.FetchKiosk, function (_a, _b) {
|
|
25
|
+
var apiUrl = _a.apiUrl;
|
|
26
|
+
var rejectWithValue = _b.rejectWithValue;
|
|
27
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
28
|
+
var app, api, _c, kioskConfig, store, err, brand, content, theme, revenueCenterId, err_1;
|
|
29
|
+
return __generator(this, function (_d) {
|
|
30
|
+
switch (_d.label) {
|
|
31
|
+
case 0:
|
|
32
|
+
_d.trys.push([0, 2, , 3]);
|
|
33
|
+
app = { apiUrl: apiUrl };
|
|
34
|
+
api = new PosAPI(app);
|
|
35
|
+
return [4 /*yield*/, Promise.all([
|
|
36
|
+
api.getKioskConfig(),
|
|
37
|
+
api.getStore()
|
|
38
|
+
])];
|
|
39
|
+
case 1:
|
|
40
|
+
_c = _d.sent(), kioskConfig = _c[0], store = _c[1];
|
|
41
|
+
if (!kioskConfig || !store) {
|
|
42
|
+
err = errorsApi.internalServerError;
|
|
43
|
+
return [2 /*return*/, rejectWithValue(err)];
|
|
44
|
+
}
|
|
45
|
+
brand = kioskConfig.brand, content = kioskConfig.content, theme = kioskConfig.theme;
|
|
46
|
+
revenueCenterId = store.revenue_center_id;
|
|
47
|
+
return [2 /*return*/, {
|
|
48
|
+
api: api,
|
|
49
|
+
app: app,
|
|
50
|
+
store: store,
|
|
51
|
+
revenueCenterId: revenueCenterId,
|
|
52
|
+
brand: brand,
|
|
53
|
+
content: content,
|
|
54
|
+
theme: theme,
|
|
55
|
+
error: null,
|
|
56
|
+
loading: 'idle',
|
|
57
|
+
retries: 0
|
|
58
|
+
}];
|
|
59
|
+
case 2:
|
|
60
|
+
err_1 = _d.sent();
|
|
61
|
+
return [2 /*return*/, rejectWithValue(err_1)];
|
|
62
|
+
case 3: return [2 /*return*/];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
var kioskSlice = createSlice({
|
|
68
|
+
name: ReducerType.Kiosk,
|
|
69
|
+
initialState: initialState,
|
|
70
|
+
reducers: {
|
|
71
|
+
resetKiosk: function () { return initialState; },
|
|
72
|
+
resetKioskRetries: function (state) {
|
|
73
|
+
state.retries = 0;
|
|
74
|
+
},
|
|
75
|
+
incrementKioskRetries: function (state) {
|
|
76
|
+
state.retries = state.retries + 1;
|
|
77
|
+
},
|
|
78
|
+
setKioskVersion: function (state, action) {
|
|
79
|
+
state.version = action.payload;
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
extraReducers: function (builder) {
|
|
83
|
+
builder
|
|
84
|
+
.addCase(fetchKioskConfig.fulfilled, function (state, action) {
|
|
85
|
+
var _a = action.payload, api = _a.api, app = _a.app, store = _a.store, revenueCenterId = _a.revenueCenterId, brand = _a.brand, content = _a.content, theme = _a.theme;
|
|
86
|
+
state.api = api;
|
|
87
|
+
state.app = app;
|
|
88
|
+
state.store = store;
|
|
89
|
+
state.revenueCenterId = revenueCenterId;
|
|
90
|
+
state.brand = brand;
|
|
91
|
+
state.content = content;
|
|
92
|
+
state.theme = theme;
|
|
93
|
+
state.loading = 'idle';
|
|
94
|
+
state.retries = 0;
|
|
95
|
+
state.error = null;
|
|
96
|
+
})
|
|
97
|
+
.addCase(fetchKioskConfig.pending, function (state) {
|
|
98
|
+
state.loading = 'pending';
|
|
99
|
+
})
|
|
100
|
+
.addCase(fetchKioskConfig.rejected, function (state, action) {
|
|
101
|
+
state.error = action.payload;
|
|
102
|
+
state.loading = 'idle';
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
export var resetKiosk = (_a = kioskSlice.actions, _a.resetKiosk), resetKioskRetries = _a.resetKioskRetries, incrementKioskRetries = _a.incrementKioskRetries, setKioskVersion = _a.setKioskVersion;
|
|
107
|
+
export var selectKiosk = function (state) { return state.kiosk; };
|
|
108
|
+
export var selectKioskApi = function (state) { return state.kiosk.api; };
|
|
109
|
+
export var selectKioskVersion = function (state) { return state.kiosk.version; };
|
|
110
|
+
export var kioskReducer = kioskSlice.reducer;
|
package/dist/esm/slices/types.js
CHANGED
|
@@ -8,6 +8,7 @@ export var ReducerType;
|
|
|
8
8
|
ReducerType["Discounts"] = "discounts";
|
|
9
9
|
ReducerType["ErrorAlerts"] = "errorAlerts";
|
|
10
10
|
ReducerType["Kds"] = "kds";
|
|
11
|
+
ReducerType["Kiosk"] = "kiosk";
|
|
11
12
|
ReducerType["MenuPages"] = "menuPages";
|
|
12
13
|
ReducerType["Menu"] = "menu";
|
|
13
14
|
ReducerType["Modal"] = "modal";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare type KioskBrand = Record<string, unknown>;
|
|
2
|
+
export declare type KioskContent = Record<string, unknown>;
|
|
3
|
+
export declare type KioskTheme = Record<string, unknown>;
|
|
4
|
+
export interface KioskConfig {
|
|
5
|
+
brand: KioskBrand;
|
|
6
|
+
content: KioskContent;
|
|
7
|
+
theme: KioskTheme;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
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",
|