@open-tender/store 0.5.26 → 0.6.1

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.
@@ -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, 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';
1
+ import { Arrivals, CashEvent, CashSummary, Config, CustomerCheckout, CustomerIdentifier, DeviceRead, Discount, Discounts, Employee, Employees, PosSettingType, 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
  }
@@ -17,7 +17,8 @@ declare class PosAPI {
17
17
  postCardCancel(): Promise<null | undefined>;
18
18
  getBarcodeRead(): Promise<DeviceRead | null | undefined>;
19
19
  postBarcodeCancel(): Promise<null | undefined>;
20
- postSettings(entityType: EntityType): Promise<Settings | null | undefined>;
20
+ getSettings(posSettingType: PosSettingType): Promise<any>;
21
+ postSettings(posSettingType: PosSettingType): Promise<Settings | null | undefined>;
21
22
  getInternalSettings(): Promise<InternalSettings | null | undefined>;
22
23
  postInternalSettings(data: InternalSettings): Promise<InternalSettings | null | undefined>;
23
24
  postGiftCardCredit(data: GiftCardCredit, checkOnly: boolean): Promise<GiftCardCredit | null | undefined>;
@@ -119,8 +119,12 @@ var PosAPI = /** @class */ (function () {
119
119
  PosAPI.prototype.postBarcodeCancel = function () {
120
120
  return this.request("/devices/qrcode/cancel", 'POST', {});
121
121
  };
122
- PosAPI.prototype.postSettings = function (entityType) {
123
- var query = entityType ? "&entity_type=".concat(entityType) : '';
122
+ PosAPI.prototype.getSettings = function (posSettingType) {
123
+ var query = "?pos_setting_type=".concat(posSettingType);
124
+ return this.request("/settings".concat(query));
125
+ };
126
+ PosAPI.prototype.postSettings = function (posSettingType) {
127
+ var query = posSettingType ? "&pos_setting_type=".concat(posSettingType) : '';
124
128
  return this.request("/settings/pull?force=true".concat(query), 'POST', {});
125
129
  };
126
130
  PosAPI.prototype.getInternalSettings = function () {
@@ -1,4 +1,4 @@
1
- import { IpAddress, LevelUp, MenuColors, RequestError, RequestStatus, SelectOptions, Store, Timezone } from '../types';
1
+ import { IpAddress, MenuColors, RequestError, RequestStatus, SelectOptions, Store, Timezone } from '../types';
2
2
  import { AppState } from '../app';
3
3
  export interface ConfigApp {
4
4
  apiUrl: string;
@@ -15,7 +15,6 @@ export interface ConfigState {
15
15
  revenueCenterId: number | null;
16
16
  selectOptions: SelectOptions | null;
17
17
  menuColors: MenuColors | null;
18
- levelup: LevelUp | null;
19
18
  loading: RequestStatus;
20
19
  error: RequestError | null;
21
20
  retries: number;
@@ -22,7 +22,6 @@ var initialState = {
22
22
  revenueCenterId: null,
23
23
  selectOptions: null,
24
24
  menuColors: null,
25
- levelup: null,
26
25
  loading: 'idle',
27
26
  error: null,
28
27
  retries: 0
@@ -35,47 +34,56 @@ exports.fetchConfig = (0, toolkit_1.createAsyncThunk)(ConfigActionType.FetchConf
35
34
  var apiUrl = _a.apiUrl;
36
35
  var dispatch = _b.dispatch, getState = _b.getState, rejectWithValue = _b.rejectWithValue;
37
36
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
38
- var app, api, _c, config, store, _d, selectOptions, _e, menuColors, _f, itemTypes, _g, levelup, err, cashier, employee, tz, businessDate, err_1, revenueCenterId, name_1, ipAddress, hasPinpad, hasCashDrawer, prep_stations, err_2;
39
- return tslib_1.__generator(this, function (_h) {
40
- switch (_h.label) {
37
+ var app, api, _c,
38
+ // config,
39
+ store, _d,
40
+ // selectOptions = null,
41
+ // menuColors = null,
42
+ itemTypes, err, cashier, employee, tz, businessDate, err_1, revenueCenterId, name_1, ipAddress, hasPinpad, hasCashDrawer, selectOptions, menuColors, err_2;
43
+ return tslib_1.__generator(this, function (_e) {
44
+ switch (_e.label) {
41
45
  case 0:
42
- _h.trys.push([0, 6, , 7]);
46
+ _e.trys.push([0, 6, , 7]);
43
47
  app = { apiUrl: apiUrl };
44
48
  api = new services_1.PosAPI(app);
45
49
  return [4 /*yield*/, Promise.all([
46
- api.getConfig(),
50
+ // api.getConfig(),
47
51
  api.getStore(),
48
- api.getSelectOptions(),
49
- api.getMenuColors(),
50
- api.getItemTypes(),
51
- api.getLevelUpSettings()
52
+ // api.getSelectOptions(),
53
+ // api.getMenuColors(),
54
+ api.getItemTypes()
52
55
  ])];
53
56
  case 1:
54
- _c = _h.sent(), config = _c[0], store = _c[1], _d = _c[2], selectOptions = _d === void 0 ? null : _d, _e = _c[3], menuColors = _e === void 0 ? null : _e, _f = _c[4], itemTypes = _f === void 0 ? null : _f, _g = _c[5], levelup = _g === void 0 ? null : _g;
55
- if (!config || !store) {
57
+ _c = _e.sent(), store = _c[0], _d = _c[1], itemTypes = _d === void 0 ? null : _d;
58
+ if (!store) {
56
59
  err = errors_1.errorsApi.internalServerError;
57
60
  return [2 /*return*/, rejectWithValue(err)];
58
61
  }
59
62
  cashier = getState().pos.cashier;
60
63
  if (!!cashier) return [3 /*break*/, 5];
61
- _h.label = 2;
64
+ _e.label = 2;
62
65
  case 2:
63
- _h.trys.push([2, 4, , 5]);
66
+ _e.trys.push([2, 4, , 5]);
64
67
  return [4 /*yield*/, api.getCashier()];
65
68
  case 3:
66
- employee = _h.sent();
69
+ employee = _e.sent();
67
70
  tz = utils_1.timezoneMap[store.timezone];
68
71
  businessDate = (0, utils_1.currentLocalDateStr)(tz);
69
72
  dispatch((0, pos_1.setCashier)(tslib_1.__assign(tslib_1.__assign({}, employee), { businessDate: businessDate })));
70
73
  return [3 /*break*/, 5];
71
74
  case 4:
72
- err_1 = _h.sent();
75
+ err_1 = _e.sent();
73
76
  return [3 /*break*/, 5];
74
77
  case 5:
75
78
  revenueCenterId = store.revenue_center_id;
76
- name_1 = config.name, ipAddress = config.ip_address, hasPinpad = config.has_pinpad, hasCashDrawer = config.has_cashdrawer, prep_stations = config.prep_stations;
79
+ name_1 = null;
80
+ ipAddress = null;
81
+ hasPinpad = false;
82
+ hasCashDrawer = false;
83
+ selectOptions = null;
84
+ menuColors = null;
77
85
  dispatch((0, kds_1.setKdsItemTypes)(itemTypes));
78
- dispatch((0, kds_1.setKdsPrepStations)(prep_stations));
86
+ // dispatch(setKdsPrepStations(prep_stations))
79
87
  return [2 /*return*/, {
80
88
  api: api,
81
89
  app: app,
@@ -87,13 +95,12 @@ exports.fetchConfig = (0, toolkit_1.createAsyncThunk)(ConfigActionType.FetchConf
87
95
  hasCashDrawer: hasCashDrawer,
88
96
  selectOptions: selectOptions,
89
97
  menuColors: menuColors,
90
- levelup: levelup,
91
98
  error: null,
92
99
  loading: 'idle',
93
100
  retries: 0
94
101
  }];
95
102
  case 6:
96
- err_2 = _h.sent();
103
+ err_2 = _e.sent();
97
104
  return [2 /*return*/, rejectWithValue(err_2)];
98
105
  case 7: return [2 /*return*/];
99
106
  }
@@ -120,25 +127,24 @@ var configSlice = (0, toolkit_1.createSlice)({
120
127
  },
121
128
  extraReducers: function (builder) {
122
129
  builder
130
+ .addCase(exports.fetchConfig.pending, function (state) {
131
+ state.loading = 'pending';
132
+ })
123
133
  .addCase(exports.fetchConfig.fulfilled, function (state, action) {
124
- var _a = action.payload, api = _a.api, app = _a.app, store = _a.store, revenueCenterId = _a.revenueCenterId, name = _a.name, ipAddress = _a.ipAddress, hasPinpad = _a.hasPinpad, hasCashDrawer = _a.hasCashDrawer, selectOptions = _a.selectOptions, menuColors = _a.menuColors, levelup = _a.levelup;
134
+ var _a = action.payload, api = _a.api, app = _a.app, store = _a.store, revenueCenterId = _a.revenueCenterId, name = _a.name, ipAddress = _a.ipAddress, hasPinpad = _a.hasPinpad, hasCashDrawer = _a.hasCashDrawer, selectOptions = _a.selectOptions, menuColors = _a.menuColors;
125
135
  state.api = api;
126
136
  state.app = app;
137
+ state.store = store;
138
+ state.revenueCenterId = revenueCenterId;
127
139
  state.name = name;
128
140
  state.ipAddress = ipAddress;
129
141
  state.hasPinpad = hasPinpad;
130
142
  state.hasCashDrawer = hasCashDrawer;
131
- state.store = store;
132
- state.revenueCenterId = revenueCenterId;
133
143
  state.selectOptions = selectOptions;
134
144
  state.menuColors = menuColors;
135
- state.levelup = levelup;
136
145
  state.loading = 'idle';
137
146
  state.retries = 0;
138
147
  state.error = null;
139
- })
140
- .addCase(exports.fetchConfig.pending, function (state) {
141
- state.loading = 'pending';
142
148
  })
143
149
  .addCase(exports.fetchConfig.rejected, function (state, action) {
144
150
  state.error = action.payload;
@@ -1,18 +1,24 @@
1
- import { EntityType, RequestError, RequestStatus, Settings } from '../types';
1
+ import { PosSettingType, RequestError, RequestStatus, Settings } from '../types';
2
2
  import { AppState } from '../app';
3
3
  export interface SettingsState {
4
+ data: any | null;
4
5
  loading: RequestStatus;
5
6
  error: RequestError;
6
7
  }
7
8
  export declare enum SettingsActionType {
9
+ FetchSetting = "settings/fetchSetting",
8
10
  UpdateSetting = "settings/updateSetting",
9
11
  UpdateSettings = "settings/updateSettings"
10
12
  }
11
- export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings, void | EntityType, {
13
+ export declare const fetchSetting: import("@reduxjs/toolkit").AsyncThunk<any, PosSettingType, {
12
14
  state: AppState;
13
15
  rejectValue: RequestError;
14
16
  }>;
15
- export declare const updateSettings: import("@reduxjs/toolkit").AsyncThunk<Settings[], EntityType[], {
17
+ export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings, void | PosSettingType, {
18
+ state: AppState;
19
+ rejectValue: RequestError;
20
+ }>;
21
+ export declare const updateSettings: import("@reduxjs/toolkit").AsyncThunk<Settings[], PosSettingType[], {
16
22
  state: AppState;
17
23
  rejectValue: RequestError;
18
24
  }>;
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.settingsReducer = exports.selectSettings = exports.resetSettings = exports.updateSettings = exports.updateSetting = exports.SettingsActionType = void 0;
3
+ exports.settingsReducer = exports.selectSettings = exports.resetSettings = exports.updateSettings = exports.updateSetting = exports.fetchSetting = exports.SettingsActionType = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var toolkit_1 = require("@reduxjs/toolkit");
6
6
  var types_1 = require("./types");
7
7
  var initialState = {
8
+ data: null,
8
9
  loading: 'idle',
9
10
  error: null
10
11
  };
11
12
  var SettingsActionType;
12
13
  (function (SettingsActionType) {
14
+ SettingsActionType["FetchSetting"] = "settings/fetchSetting";
13
15
  SettingsActionType["UpdateSetting"] = "settings/updateSetting";
14
16
  SettingsActionType["UpdateSettings"] = "settings/updateSettings";
15
17
  })(SettingsActionType = exports.SettingsActionType || (exports.SettingsActionType = {}));
16
- exports.updateSetting = (0, toolkit_1.createAsyncThunk)(SettingsActionType.UpdateSetting, function (entityType, _a) {
18
+ exports.fetchSetting = (0, toolkit_1.createAsyncThunk)(SettingsActionType.FetchSetting, function (posSettingType, _a) {
17
19
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
18
20
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
19
21
  var api, err_1;
@@ -22,7 +24,7 @@ exports.updateSetting = (0, toolkit_1.createAsyncThunk)(SettingsActionType.Updat
22
24
  case 0:
23
25
  _b.trys.push([0, 2, , 3]);
24
26
  api = getState().config.api;
25
- return [4 /*yield*/, api.postSettings(entityType)];
27
+ return [4 /*yield*/, api.getSettings(posSettingType)];
26
28
  case 1: return [2 /*return*/, _b.sent()];
27
29
  case 2:
28
30
  err_1 = _b.sent();
@@ -32,19 +34,38 @@ exports.updateSetting = (0, toolkit_1.createAsyncThunk)(SettingsActionType.Updat
32
34
  });
33
35
  });
34
36
  });
35
- exports.updateSettings = (0, toolkit_1.createAsyncThunk)(SettingsActionType.UpdateSettings, function (entityTypes, _a) {
37
+ exports.updateSetting = (0, toolkit_1.createAsyncThunk)(SettingsActionType.UpdateSetting, function (posSettingType, _a) {
36
38
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
37
39
  return tslib_1.__awaiter(void 0, void 0, void 0, function () {
38
- var api_1, requests, err_2;
40
+ var api, err_2;
41
+ return tslib_1.__generator(this, function (_b) {
42
+ switch (_b.label) {
43
+ case 0:
44
+ _b.trys.push([0, 2, , 3]);
45
+ api = getState().config.api;
46
+ return [4 /*yield*/, api.postSettings(posSettingType)];
47
+ case 1: return [2 /*return*/, _b.sent()];
48
+ case 2:
49
+ err_2 = _b.sent();
50
+ return [2 /*return*/, rejectWithValue(err_2)];
51
+ case 3: return [2 /*return*/];
52
+ }
53
+ });
54
+ });
55
+ });
56
+ exports.updateSettings = (0, toolkit_1.createAsyncThunk)(SettingsActionType.UpdateSettings, function (posSettingTypes, _a) {
57
+ var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
58
+ return tslib_1.__awaiter(void 0, void 0, void 0, function () {
59
+ var api_1, requests, err_3;
39
60
  return tslib_1.__generator(this, function (_b) {
40
61
  switch (_b.label) {
41
62
  case 0:
42
63
  _b.trys.push([0, 2, , 3]);
43
64
  api_1 = getState().config.api;
44
- requests = entityTypes.map(function (entityType) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
65
+ requests = posSettingTypes.map(function (posSettingType) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
45
66
  return tslib_1.__generator(this, function (_a) {
46
67
  switch (_a.label) {
47
- case 0: return [4 /*yield*/, api_1.postSettings(entityType)];
68
+ case 0: return [4 /*yield*/, api_1.postSettings(posSettingType)];
48
69
  case 1: return [2 /*return*/, _a.sent()];
49
70
  }
50
71
  });
@@ -52,8 +73,8 @@ exports.updateSettings = (0, toolkit_1.createAsyncThunk)(SettingsActionType.Upda
52
73
  return [4 /*yield*/, Promise.all(requests)];
53
74
  case 1: return [2 /*return*/, _b.sent()];
54
75
  case 2:
55
- err_2 = _b.sent();
56
- return [2 /*return*/, rejectWithValue(err_2)];
76
+ err_3 = _b.sent();
77
+ return [2 /*return*/, rejectWithValue(err_3)];
57
78
  case 3: return [2 /*return*/];
58
79
  }
59
80
  });
@@ -67,23 +88,35 @@ var settingsSlice = (0, toolkit_1.createSlice)({
67
88
  },
68
89
  extraReducers: function (builder) {
69
90
  builder
70
- .addCase(exports.updateSetting.fulfilled, function (state) {
91
+ .addCase(exports.fetchSetting.pending, function (state) {
92
+ state.loading = 'pending';
93
+ })
94
+ .addCase(exports.fetchSetting.fulfilled, function (state, action) {
95
+ state.data = action.payload;
71
96
  state.loading = 'idle';
72
97
  state.error = null;
98
+ })
99
+ .addCase(exports.fetchSetting.rejected, function (state, action) {
100
+ state.error = action.payload;
101
+ state.loading = 'idle';
73
102
  })
74
103
  .addCase(exports.updateSetting.pending, function (state) {
75
104
  state.loading = 'pending';
105
+ })
106
+ .addCase(exports.updateSetting.fulfilled, function (state) {
107
+ state.loading = 'idle';
108
+ state.error = null;
76
109
  })
77
110
  .addCase(exports.updateSetting.rejected, function (state, action) {
78
111
  state.error = action.payload;
79
112
  state.loading = 'idle';
113
+ })
114
+ .addCase(exports.updateSettings.pending, function (state) {
115
+ state.loading = 'pending';
80
116
  })
81
117
  .addCase(exports.updateSettings.fulfilled, function (state) {
82
118
  state.loading = 'idle';
83
119
  state.error = null;
84
- })
85
- .addCase(exports.updateSettings.pending, function (state) {
86
- state.loading = 'pending';
87
120
  })
88
121
  .addCase(exports.updateSettings.rejected, function (state, action) {
89
122
  state.error = action.payload;
@@ -1,6 +1,6 @@
1
- import { EntityType } from '../global';
1
+ import { PosSettingType } from '../global';
2
2
  export interface Settings {
3
- entity_type: EntityType;
3
+ entity_type: PosSettingType;
4
4
  object_id: number;
5
5
  version: number;
6
6
  data: Record<string, unknown>;
@@ -28,7 +28,7 @@ export declare type ReceiptType = 'SALE' | 'REFUND';
28
28
  export declare type ChannelType = 'POS' | 'ONLINE' | 'APP' | 'PHONE' | 'KIOSK' | 'PORTAL';
29
29
  export declare type OrderStatus = 'OPEN' | 'HELD' | 'CLOSED' | 'VOID';
30
30
  export declare type TenderStatus = 'AUTHORIZED' | 'PAID' | 'REFUNDED' | 'VOID' | 'FAILED';
31
- export declare type EntityType = 'TIME_PUNCH' | 'CASH_EVENT' | 'ORDER' | 'DEPARTMENT' | 'DEVICES' | 'DISCOUNT' | 'EMPLOYEE' | 'HOUSE_ACCOUNT' | 'LOCATION' | 'MENU' | 'MENU_PAGE' | 'SELECT_OPTION' | 'SURCHARGE' | 'TAX' | 'STORE' | 'REVENUE_CENTER' | 'ITEM_TYPE' | 'QRCODE' | 'KIOSK_CONFIG';
31
+ export declare type PosSettingType = 'TIME_PUNCH' | 'CASH_EVENT' | 'ORDER' | 'DEPARTMENT' | 'DEVICES' | 'DISCOUNT' | 'EMPLOYEE' | 'HOUSE_ACCOUNT' | 'LOCATION' | 'MENU' | 'MENU_PAGE' | 'SELECT_OPTION' | 'SURCHARGE' | 'TAX' | 'STORE' | 'REVENUE_CENTER' | 'ITEM_TYPE' | 'QRCODE' | 'KIOSK_CONFIG';
32
32
  export interface PicklistOption {
33
33
  name: string;
34
34
  value: string | number;
@@ -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, 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';
1
+ import { Arrivals, CashEvent, CashSummary, Config, CustomerCheckout, CustomerIdentifier, DeviceRead, Discount, Discounts, Employee, Employees, PosSettingType, 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
  }
@@ -17,7 +17,8 @@ declare class PosAPI {
17
17
  postCardCancel(): Promise<null | undefined>;
18
18
  getBarcodeRead(): Promise<DeviceRead | null | undefined>;
19
19
  postBarcodeCancel(): Promise<null | undefined>;
20
- postSettings(entityType: EntityType): Promise<Settings | null | undefined>;
20
+ getSettings(posSettingType: PosSettingType): Promise<any>;
21
+ postSettings(posSettingType: PosSettingType): Promise<Settings | null | undefined>;
21
22
  getInternalSettings(): Promise<InternalSettings | null | undefined>;
22
23
  postInternalSettings(data: InternalSettings): Promise<InternalSettings | null | undefined>;
23
24
  postGiftCardCredit(data: GiftCardCredit, checkOnly: boolean): Promise<GiftCardCredit | null | undefined>;
@@ -117,8 +117,12 @@ var PosAPI = /** @class */ (function () {
117
117
  PosAPI.prototype.postBarcodeCancel = function () {
118
118
  return this.request("/devices/qrcode/cancel", 'POST', {});
119
119
  };
120
- PosAPI.prototype.postSettings = function (entityType) {
121
- var query = entityType ? "&entity_type=".concat(entityType) : '';
120
+ PosAPI.prototype.getSettings = function (posSettingType) {
121
+ var query = "?pos_setting_type=".concat(posSettingType);
122
+ return this.request("/settings".concat(query));
123
+ };
124
+ PosAPI.prototype.postSettings = function (posSettingType) {
125
+ var query = posSettingType ? "&pos_setting_type=".concat(posSettingType) : '';
122
126
  return this.request("/settings/pull?force=true".concat(query), 'POST', {});
123
127
  };
124
128
  PosAPI.prototype.getInternalSettings = function () {
@@ -1,4 +1,4 @@
1
- import { IpAddress, LevelUp, MenuColors, RequestError, RequestStatus, SelectOptions, Store, Timezone } from '../types';
1
+ import { IpAddress, MenuColors, RequestError, RequestStatus, SelectOptions, Store, Timezone } from '../types';
2
2
  import { AppState } from '../app';
3
3
  export interface ConfigApp {
4
4
  apiUrl: string;
@@ -15,7 +15,6 @@ export interface ConfigState {
15
15
  revenueCenterId: number | null;
16
16
  selectOptions: SelectOptions | null;
17
17
  menuColors: MenuColors | null;
18
- levelup: LevelUp | null;
19
18
  loading: RequestStatus;
20
19
  error: RequestError | null;
21
20
  retries: number;
@@ -6,7 +6,7 @@ import { ReducerType } from './types';
6
6
  import { timezoneMap, getUserTimezone, currentLocalDateStr } from '../utils';
7
7
  import { errorsApi } from '../services/errors';
8
8
  import { setCashier } from './pos';
9
- import { setKdsItemTypes, setKdsPrepStations } from './kds';
9
+ import { setKdsItemTypes } from './kds';
10
10
  var initialState = {
11
11
  api: null,
12
12
  app: null,
@@ -19,7 +19,6 @@ var initialState = {
19
19
  revenueCenterId: null,
20
20
  selectOptions: null,
21
21
  menuColors: null,
22
- levelup: null,
23
22
  loading: 'idle',
24
23
  error: null,
25
24
  retries: 0
@@ -32,47 +31,56 @@ export var fetchConfig = createAsyncThunk(ConfigActionType.FetchConfig, function
32
31
  var apiUrl = _a.apiUrl;
33
32
  var dispatch = _b.dispatch, getState = _b.getState, rejectWithValue = _b.rejectWithValue;
34
33
  return __awaiter(void 0, void 0, void 0, function () {
35
- var app, api, _c, config, store, _d, selectOptions, _e, menuColors, _f, itemTypes, _g, levelup, err, cashier, employee, tz, businessDate, err_1, revenueCenterId, name_1, ipAddress, hasPinpad, hasCashDrawer, prep_stations, err_2;
36
- return __generator(this, function (_h) {
37
- switch (_h.label) {
34
+ var app, api, _c,
35
+ // config,
36
+ store, _d,
37
+ // selectOptions = null,
38
+ // menuColors = null,
39
+ itemTypes, err, cashier, employee, tz, businessDate, err_1, revenueCenterId, name_1, ipAddress, hasPinpad, hasCashDrawer, selectOptions, menuColors, err_2;
40
+ return __generator(this, function (_e) {
41
+ switch (_e.label) {
38
42
  case 0:
39
- _h.trys.push([0, 6, , 7]);
43
+ _e.trys.push([0, 6, , 7]);
40
44
  app = { apiUrl: apiUrl };
41
45
  api = new PosAPI(app);
42
46
  return [4 /*yield*/, Promise.all([
43
- api.getConfig(),
47
+ // api.getConfig(),
44
48
  api.getStore(),
45
- api.getSelectOptions(),
46
- api.getMenuColors(),
47
- api.getItemTypes(),
48
- api.getLevelUpSettings()
49
+ // api.getSelectOptions(),
50
+ // api.getMenuColors(),
51
+ api.getItemTypes()
49
52
  ])];
50
53
  case 1:
51
- _c = _h.sent(), config = _c[0], store = _c[1], _d = _c[2], selectOptions = _d === void 0 ? null : _d, _e = _c[3], menuColors = _e === void 0 ? null : _e, _f = _c[4], itemTypes = _f === void 0 ? null : _f, _g = _c[5], levelup = _g === void 0 ? null : _g;
52
- if (!config || !store) {
54
+ _c = _e.sent(), store = _c[0], _d = _c[1], itemTypes = _d === void 0 ? null : _d;
55
+ if (!store) {
53
56
  err = errorsApi.internalServerError;
54
57
  return [2 /*return*/, rejectWithValue(err)];
55
58
  }
56
59
  cashier = getState().pos.cashier;
57
60
  if (!!cashier) return [3 /*break*/, 5];
58
- _h.label = 2;
61
+ _e.label = 2;
59
62
  case 2:
60
- _h.trys.push([2, 4, , 5]);
63
+ _e.trys.push([2, 4, , 5]);
61
64
  return [4 /*yield*/, api.getCashier()];
62
65
  case 3:
63
- employee = _h.sent();
66
+ employee = _e.sent();
64
67
  tz = timezoneMap[store.timezone];
65
68
  businessDate = currentLocalDateStr(tz);
66
69
  dispatch(setCashier(__assign(__assign({}, employee), { businessDate: businessDate })));
67
70
  return [3 /*break*/, 5];
68
71
  case 4:
69
- err_1 = _h.sent();
72
+ err_1 = _e.sent();
70
73
  return [3 /*break*/, 5];
71
74
  case 5:
72
75
  revenueCenterId = store.revenue_center_id;
73
- name_1 = config.name, ipAddress = config.ip_address, hasPinpad = config.has_pinpad, hasCashDrawer = config.has_cashdrawer, prep_stations = config.prep_stations;
76
+ name_1 = null;
77
+ ipAddress = null;
78
+ hasPinpad = false;
79
+ hasCashDrawer = false;
80
+ selectOptions = null;
81
+ menuColors = null;
74
82
  dispatch(setKdsItemTypes(itemTypes));
75
- dispatch(setKdsPrepStations(prep_stations));
83
+ // dispatch(setKdsPrepStations(prep_stations))
76
84
  return [2 /*return*/, {
77
85
  api: api,
78
86
  app: app,
@@ -84,13 +92,12 @@ export var fetchConfig = createAsyncThunk(ConfigActionType.FetchConfig, function
84
92
  hasCashDrawer: hasCashDrawer,
85
93
  selectOptions: selectOptions,
86
94
  menuColors: menuColors,
87
- levelup: levelup,
88
95
  error: null,
89
96
  loading: 'idle',
90
97
  retries: 0
91
98
  }];
92
99
  case 6:
93
- err_2 = _h.sent();
100
+ err_2 = _e.sent();
94
101
  return [2 /*return*/, rejectWithValue(err_2)];
95
102
  case 7: return [2 /*return*/];
96
103
  }
@@ -117,25 +124,24 @@ var configSlice = createSlice({
117
124
  },
118
125
  extraReducers: function (builder) {
119
126
  builder
127
+ .addCase(fetchConfig.pending, function (state) {
128
+ state.loading = 'pending';
129
+ })
120
130
  .addCase(fetchConfig.fulfilled, function (state, action) {
121
- var _a = action.payload, api = _a.api, app = _a.app, store = _a.store, revenueCenterId = _a.revenueCenterId, name = _a.name, ipAddress = _a.ipAddress, hasPinpad = _a.hasPinpad, hasCashDrawer = _a.hasCashDrawer, selectOptions = _a.selectOptions, menuColors = _a.menuColors, levelup = _a.levelup;
131
+ var _a = action.payload, api = _a.api, app = _a.app, store = _a.store, revenueCenterId = _a.revenueCenterId, name = _a.name, ipAddress = _a.ipAddress, hasPinpad = _a.hasPinpad, hasCashDrawer = _a.hasCashDrawer, selectOptions = _a.selectOptions, menuColors = _a.menuColors;
122
132
  state.api = api;
123
133
  state.app = app;
134
+ state.store = store;
135
+ state.revenueCenterId = revenueCenterId;
124
136
  state.name = name;
125
137
  state.ipAddress = ipAddress;
126
138
  state.hasPinpad = hasPinpad;
127
139
  state.hasCashDrawer = hasCashDrawer;
128
- state.store = store;
129
- state.revenueCenterId = revenueCenterId;
130
140
  state.selectOptions = selectOptions;
131
141
  state.menuColors = menuColors;
132
- state.levelup = levelup;
133
142
  state.loading = 'idle';
134
143
  state.retries = 0;
135
144
  state.error = null;
136
- })
137
- .addCase(fetchConfig.pending, function (state) {
138
- state.loading = 'pending';
139
145
  })
140
146
  .addCase(fetchConfig.rejected, function (state, action) {
141
147
  state.error = action.payload;
@@ -1,18 +1,24 @@
1
- import { EntityType, RequestError, RequestStatus, Settings } from '../types';
1
+ import { PosSettingType, RequestError, RequestStatus, Settings } from '../types';
2
2
  import { AppState } from '../app';
3
3
  export interface SettingsState {
4
+ data: any | null;
4
5
  loading: RequestStatus;
5
6
  error: RequestError;
6
7
  }
7
8
  export declare enum SettingsActionType {
9
+ FetchSetting = "settings/fetchSetting",
8
10
  UpdateSetting = "settings/updateSetting",
9
11
  UpdateSettings = "settings/updateSettings"
10
12
  }
11
- export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings, void | EntityType, {
13
+ export declare const fetchSetting: import("@reduxjs/toolkit").AsyncThunk<any, PosSettingType, {
12
14
  state: AppState;
13
15
  rejectValue: RequestError;
14
16
  }>;
15
- export declare const updateSettings: import("@reduxjs/toolkit").AsyncThunk<Settings[], EntityType[], {
17
+ export declare const updateSetting: import("@reduxjs/toolkit").AsyncThunk<Settings, void | PosSettingType, {
18
+ state: AppState;
19
+ rejectValue: RequestError;
20
+ }>;
21
+ export declare const updateSettings: import("@reduxjs/toolkit").AsyncThunk<Settings[], PosSettingType[], {
16
22
  state: AppState;
17
23
  rejectValue: RequestError;
18
24
  }>;
@@ -2,15 +2,17 @@ import { __awaiter, __generator } from "tslib";
2
2
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
3
  import { ReducerType } from './types';
4
4
  var initialState = {
5
+ data: null,
5
6
  loading: 'idle',
6
7
  error: null
7
8
  };
8
9
  export var SettingsActionType;
9
10
  (function (SettingsActionType) {
11
+ SettingsActionType["FetchSetting"] = "settings/fetchSetting";
10
12
  SettingsActionType["UpdateSetting"] = "settings/updateSetting";
11
13
  SettingsActionType["UpdateSettings"] = "settings/updateSettings";
12
14
  })(SettingsActionType || (SettingsActionType = {}));
13
- export var updateSetting = createAsyncThunk(SettingsActionType.UpdateSetting, function (entityType, _a) {
15
+ export var fetchSetting = createAsyncThunk(SettingsActionType.FetchSetting, function (posSettingType, _a) {
14
16
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
15
17
  return __awaiter(void 0, void 0, void 0, function () {
16
18
  var api, err_1;
@@ -19,7 +21,7 @@ export var updateSetting = createAsyncThunk(SettingsActionType.UpdateSetting, fu
19
21
  case 0:
20
22
  _b.trys.push([0, 2, , 3]);
21
23
  api = getState().config.api;
22
- return [4 /*yield*/, api.postSettings(entityType)];
24
+ return [4 /*yield*/, api.getSettings(posSettingType)];
23
25
  case 1: return [2 /*return*/, _b.sent()];
24
26
  case 2:
25
27
  err_1 = _b.sent();
@@ -29,19 +31,38 @@ export var updateSetting = createAsyncThunk(SettingsActionType.UpdateSetting, fu
29
31
  });
30
32
  });
31
33
  });
32
- export var updateSettings = createAsyncThunk(SettingsActionType.UpdateSettings, function (entityTypes, _a) {
34
+ export var updateSetting = createAsyncThunk(SettingsActionType.UpdateSetting, function (posSettingType, _a) {
33
35
  var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
34
36
  return __awaiter(void 0, void 0, void 0, function () {
35
- var api_1, requests, err_2;
37
+ var api, err_2;
38
+ return __generator(this, function (_b) {
39
+ switch (_b.label) {
40
+ case 0:
41
+ _b.trys.push([0, 2, , 3]);
42
+ api = getState().config.api;
43
+ return [4 /*yield*/, api.postSettings(posSettingType)];
44
+ case 1: return [2 /*return*/, _b.sent()];
45
+ case 2:
46
+ err_2 = _b.sent();
47
+ return [2 /*return*/, rejectWithValue(err_2)];
48
+ case 3: return [2 /*return*/];
49
+ }
50
+ });
51
+ });
52
+ });
53
+ export var updateSettings = createAsyncThunk(SettingsActionType.UpdateSettings, function (posSettingTypes, _a) {
54
+ var getState = _a.getState, rejectWithValue = _a.rejectWithValue;
55
+ return __awaiter(void 0, void 0, void 0, function () {
56
+ var api_1, requests, err_3;
36
57
  return __generator(this, function (_b) {
37
58
  switch (_b.label) {
38
59
  case 0:
39
60
  _b.trys.push([0, 2, , 3]);
40
61
  api_1 = getState().config.api;
41
- requests = entityTypes.map(function (entityType) { return __awaiter(void 0, void 0, void 0, function () {
62
+ requests = posSettingTypes.map(function (posSettingType) { return __awaiter(void 0, void 0, void 0, function () {
42
63
  return __generator(this, function (_a) {
43
64
  switch (_a.label) {
44
- case 0: return [4 /*yield*/, api_1.postSettings(entityType)];
65
+ case 0: return [4 /*yield*/, api_1.postSettings(posSettingType)];
45
66
  case 1: return [2 /*return*/, _a.sent()];
46
67
  }
47
68
  });
@@ -49,8 +70,8 @@ export var updateSettings = createAsyncThunk(SettingsActionType.UpdateSettings,
49
70
  return [4 /*yield*/, Promise.all(requests)];
50
71
  case 1: return [2 /*return*/, _b.sent()];
51
72
  case 2:
52
- err_2 = _b.sent();
53
- return [2 /*return*/, rejectWithValue(err_2)];
73
+ err_3 = _b.sent();
74
+ return [2 /*return*/, rejectWithValue(err_3)];
54
75
  case 3: return [2 /*return*/];
55
76
  }
56
77
  });
@@ -64,23 +85,35 @@ var settingsSlice = createSlice({
64
85
  },
65
86
  extraReducers: function (builder) {
66
87
  builder
67
- .addCase(updateSetting.fulfilled, function (state) {
88
+ .addCase(fetchSetting.pending, function (state) {
89
+ state.loading = 'pending';
90
+ })
91
+ .addCase(fetchSetting.fulfilled, function (state, action) {
92
+ state.data = action.payload;
68
93
  state.loading = 'idle';
69
94
  state.error = null;
95
+ })
96
+ .addCase(fetchSetting.rejected, function (state, action) {
97
+ state.error = action.payload;
98
+ state.loading = 'idle';
70
99
  })
71
100
  .addCase(updateSetting.pending, function (state) {
72
101
  state.loading = 'pending';
102
+ })
103
+ .addCase(updateSetting.fulfilled, function (state) {
104
+ state.loading = 'idle';
105
+ state.error = null;
73
106
  })
74
107
  .addCase(updateSetting.rejected, function (state, action) {
75
108
  state.error = action.payload;
76
109
  state.loading = 'idle';
110
+ })
111
+ .addCase(updateSettings.pending, function (state) {
112
+ state.loading = 'pending';
77
113
  })
78
114
  .addCase(updateSettings.fulfilled, function (state) {
79
115
  state.loading = 'idle';
80
116
  state.error = null;
81
- })
82
- .addCase(updateSettings.pending, function (state) {
83
- state.loading = 'pending';
84
117
  })
85
118
  .addCase(updateSettings.rejected, function (state, action) {
86
119
  state.error = action.payload;
@@ -1,6 +1,6 @@
1
- import { EntityType } from '../global';
1
+ import { PosSettingType } from '../global';
2
2
  export interface Settings {
3
- entity_type: EntityType;
3
+ entity_type: PosSettingType;
4
4
  object_id: number;
5
5
  version: number;
6
6
  data: Record<string, unknown>;
@@ -28,7 +28,7 @@ export declare type ReceiptType = 'SALE' | 'REFUND';
28
28
  export declare type ChannelType = 'POS' | 'ONLINE' | 'APP' | 'PHONE' | 'KIOSK' | 'PORTAL';
29
29
  export declare type OrderStatus = 'OPEN' | 'HELD' | 'CLOSED' | 'VOID';
30
30
  export declare type TenderStatus = 'AUTHORIZED' | 'PAID' | 'REFUNDED' | 'VOID' | 'FAILED';
31
- export declare type EntityType = 'TIME_PUNCH' | 'CASH_EVENT' | 'ORDER' | 'DEPARTMENT' | 'DEVICES' | 'DISCOUNT' | 'EMPLOYEE' | 'HOUSE_ACCOUNT' | 'LOCATION' | 'MENU' | 'MENU_PAGE' | 'SELECT_OPTION' | 'SURCHARGE' | 'TAX' | 'STORE' | 'REVENUE_CENTER' | 'ITEM_TYPE' | 'QRCODE' | 'KIOSK_CONFIG';
31
+ export declare type PosSettingType = 'TIME_PUNCH' | 'CASH_EVENT' | 'ORDER' | 'DEPARTMENT' | 'DEVICES' | 'DISCOUNT' | 'EMPLOYEE' | 'HOUSE_ACCOUNT' | 'LOCATION' | 'MENU' | 'MENU_PAGE' | 'SELECT_OPTION' | 'SURCHARGE' | 'TAX' | 'STORE' | 'REVENUE_CENTER' | 'ITEM_TYPE' | 'QRCODE' | 'KIOSK_CONFIG';
32
32
  export interface PicklistOption {
33
33
  name: string;
34
34
  value: string | number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-tender/store",
3
- "version": "0.5.26",
3
+ "version": "0.6.1",
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",
package/dist/.DS_Store DELETED
Binary file