@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.
@@ -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;
@@ -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;
@@ -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>;
@@ -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
  };
@@ -6,6 +6,7 @@ export * from './config';
6
6
  export * from './discounts';
7
7
  export * from './errorAlerts';
8
8
  export * from './kds';
9
+ export * from './kiosk';
9
10
  export * from './menu';
10
11
  export * from './menuPages';
11
12
  export * from './modal';
@@ -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;
@@ -7,6 +7,7 @@ export declare enum ReducerType {
7
7
  Discounts = "discounts",
8
8
  ErrorAlerts = "errorAlerts",
9
9
  Kds = "kds",
10
+ Kiosk = "kiosk",
10
11
  MenuPages = "menuPages",
11
12
  Menu = "menu",
12
13
  Modal = "modal",
@@ -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";
@@ -11,6 +11,7 @@ export * from './errorAlerts';
11
11
  export * from './favorite';
12
12
  export * from './giftCard';
13
13
  export * from './kds';
14
+ export * from './kiosk';
14
15
  export * from './menu';
15
16
  export * from './menuPages';
16
17
  export * from './messages';
@@ -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
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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;
@@ -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;
@@ -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>;
@@ -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
  };
@@ -6,6 +6,7 @@ export * from './config';
6
6
  export * from './discounts';
7
7
  export * from './errorAlerts';
8
8
  export * from './kds';
9
+ export * from './kiosk';
9
10
  export * from './menu';
10
11
  export * from './menuPages';
11
12
  export * from './modal';
@@ -6,6 +6,7 @@ export * from './config';
6
6
  export * from './discounts';
7
7
  export * from './errorAlerts';
8
8
  export * from './kds';
9
+ export * from './kiosk';
9
10
  export * from './menu';
10
11
  export * from './menuPages';
11
12
  export * from './modal';
@@ -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;
@@ -7,6 +7,7 @@ export declare enum ReducerType {
7
7
  Discounts = "discounts",
8
8
  ErrorAlerts = "errorAlerts",
9
9
  Kds = "kds",
10
+ Kiosk = "kiosk",
10
11
  MenuPages = "menuPages",
11
12
  Menu = "menu",
12
13
  Modal = "modal",
@@ -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";
@@ -11,6 +11,7 @@ export * from './errorAlerts';
11
11
  export * from './favorite';
12
12
  export * from './giftCard';
13
13
  export * from './kds';
14
+ export * from './kiosk';
14
15
  export * from './menu';
15
16
  export * from './menuPages';
16
17
  export * from './messages';
@@ -11,6 +11,7 @@ export * from './errorAlerts';
11
11
  export * from './favorite';
12
12
  export * from './giftCard';
13
13
  export * from './kds';
14
+ export * from './kiosk';
14
15
  export * from './menu';
15
16
  export * from './menuPages';
16
17
  export * from './messages';
@@ -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.4.1",
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",