@open-tender/cloud 0.1.92 → 0.1.94
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,5 +1,5 @@
|
|
|
1
1
|
import { AppState } from '../../app';
|
|
2
|
-
import { GroupOrder, GroupOrderExpanded,
|
|
2
|
+
import { GroupOrder, GroupOrderExpanded, GroupOrdersExpanded, RequestError, RequestStatus } from '@open-tender/types';
|
|
3
3
|
import { OrderState } from '../order';
|
|
4
4
|
export interface CustomerGroupOrdersState {
|
|
5
5
|
entities: GroupOrdersExpanded;
|
|
@@ -64,7 +64,7 @@ export declare const makeCartData: (order: OrderState, spendingLimit?: string) =
|
|
|
64
64
|
notes: string;
|
|
65
65
|
}[];
|
|
66
66
|
} | null;
|
|
67
|
-
export declare const updateCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<
|
|
67
|
+
export declare const updateCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
68
68
|
cartId: number;
|
|
69
69
|
callback?: (() => void) | undefined;
|
|
70
70
|
}, {
|
|
@@ -71,7 +71,6 @@ const makeCartData = (order, spendingLimit) => {
|
|
|
71
71
|
};
|
|
72
72
|
exports.makeCartData = makeCartData;
|
|
73
73
|
exports.updateCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroupOrdersActionType.UpdateCustomerGroupOrder, ({ cartId, callback }, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
74
|
-
var _b;
|
|
75
74
|
try {
|
|
76
75
|
const api = getState().config.api;
|
|
77
76
|
const token = (0, account_1.selectToken)(getState());
|
|
@@ -83,14 +82,16 @@ exports.updateCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroup
|
|
|
83
82
|
const { requestedAt, revenueCenter } = getState().order;
|
|
84
83
|
if (response.requested_at !== requestedAt) {
|
|
85
84
|
dispatch((0, order_1.setRequestedAt)(response.requested_at));
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
if (revenueCenter) {
|
|
86
|
+
const tz = utils_1.timezoneMap[revenueCenter.timezone];
|
|
87
|
+
const requestedAtText = (0, utils_1.makeRequestedAtStr)(response.requested_at, tz);
|
|
88
|
+
dispatch((0, order_1.addMessage)(`Requested time updated to ${requestedAtText}`));
|
|
89
|
+
}
|
|
89
90
|
}
|
|
90
91
|
const payload = Object.assign(Object.assign({}, (0, groupOrder_1.makeCartPayload)(response)), { isCartOwner: true });
|
|
92
|
+
dispatch((0, groupOrder_1.adjustGroupOrder)(payload));
|
|
91
93
|
if (callback)
|
|
92
94
|
callback();
|
|
93
|
-
return payload;
|
|
94
95
|
}
|
|
95
96
|
catch (err) {
|
|
96
97
|
const error = err;
|
|
@@ -158,9 +159,9 @@ exports.reopenGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroupOrdersAc
|
|
|
158
159
|
const { cart: customerCart } = (0, utils_1.rehydrateCart)(menuItems, items);
|
|
159
160
|
dispatch((0, order_1.setCart)(customerCart));
|
|
160
161
|
const payload = Object.assign(Object.assign({}, (0, groupOrder_1.makeCartPayload)(response)), { isCartOwner: true, cartOwner: customer });
|
|
162
|
+
dispatch((0, groupOrder_1.adjustGroupOrder)(payload));
|
|
161
163
|
dispatch((0, notifications_1.showNotification)('Group order reopened!'));
|
|
162
164
|
dispatch((0, order_1.setAlert)({ type: 'groupOrder' }));
|
|
163
|
-
return payload;
|
|
164
165
|
}
|
|
165
166
|
catch (err) {
|
|
166
167
|
dispatch((0, order_1.resetAlert)());
|
|
@@ -221,8 +222,9 @@ const customerGroupOrdersSlice = (0, toolkit_1.createSlice)({
|
|
|
221
222
|
state.error = action.payload;
|
|
222
223
|
state.loading = 'idle';
|
|
223
224
|
})
|
|
224
|
-
.addCase(exports.reopenGroupOrder.fulfilled,
|
|
225
|
-
|
|
225
|
+
.addCase(exports.reopenGroupOrder.fulfilled, state => {
|
|
226
|
+
state.error = null;
|
|
227
|
+
state.loading = 'idle';
|
|
226
228
|
})
|
|
227
229
|
.addCase(exports.reopenGroupOrder.pending, state => {
|
|
228
230
|
state.loading = 'pending';
|
|
@@ -231,8 +233,9 @@ const customerGroupOrdersSlice = (0, toolkit_1.createSlice)({
|
|
|
231
233
|
state.error = action.payload;
|
|
232
234
|
state.loading = 'idle';
|
|
233
235
|
})
|
|
234
|
-
.addCase(exports.updateCustomerGroupOrder.fulfilled,
|
|
235
|
-
|
|
236
|
+
.addCase(exports.updateCustomerGroupOrder.fulfilled, state => {
|
|
237
|
+
state.error = null;
|
|
238
|
+
state.loading = 'idle';
|
|
236
239
|
})
|
|
237
240
|
.addCase(exports.updateCustomerGroupOrder.pending, state => {
|
|
238
241
|
state.loading = 'pending';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppState } from '../../app';
|
|
2
|
-
import { GroupOrder, GroupOrderExpanded,
|
|
2
|
+
import { GroupOrder, GroupOrderExpanded, GroupOrdersExpanded, RequestError, RequestStatus } from '@open-tender/types';
|
|
3
3
|
import { OrderState } from '../order';
|
|
4
4
|
export interface CustomerGroupOrdersState {
|
|
5
5
|
entities: GroupOrdersExpanded;
|
|
@@ -64,7 +64,7 @@ export declare const makeCartData: (order: OrderState, spendingLimit?: string) =
|
|
|
64
64
|
notes: string;
|
|
65
65
|
}[];
|
|
66
66
|
} | null;
|
|
67
|
-
export declare const updateCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<
|
|
67
|
+
export declare const updateCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
68
68
|
cartId: number;
|
|
69
69
|
callback?: (() => void) | undefined;
|
|
70
70
|
}, {
|
|
@@ -3,7 +3,7 @@ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
|
3
3
|
import { ReducerType } from '../types';
|
|
4
4
|
import { MISSING_CUSTOMER } from '@open-tender/types';
|
|
5
5
|
import { checkAuth, selectToken } from './account';
|
|
6
|
-
import { makeCartPayload, resetGroupOrder } from '../groupOrder';
|
|
6
|
+
import { adjustGroupOrder, makeCartPayload, resetGroupOrder } from '../groupOrder';
|
|
7
7
|
import { addMessage, resetAlert, setAlert, setCart, setRequestedAt, setRevenueCenter } from '../order';
|
|
8
8
|
import { makeRequestedAtStr, makeSimpleCart, rehydrateCart, timezoneMap } from '@open-tender/utils';
|
|
9
9
|
import { showNotification } from '../notifications';
|
|
@@ -66,7 +66,6 @@ export const makeCartData = (order, spendingLimit) => {
|
|
|
66
66
|
? Object.assign(Object.assign({}, orderData), { spending_limit: spendingLimit }) : orderData;
|
|
67
67
|
};
|
|
68
68
|
export const updateCustomerGroupOrder = createAsyncThunk(CustomerGroupOrdersActionType.UpdateCustomerGroupOrder, ({ cartId, callback }, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
-
var _a;
|
|
70
69
|
try {
|
|
71
70
|
const api = getState().config.api;
|
|
72
71
|
const token = selectToken(getState());
|
|
@@ -78,14 +77,16 @@ export const updateCustomerGroupOrder = createAsyncThunk(CustomerGroupOrdersActi
|
|
|
78
77
|
const { requestedAt, revenueCenter } = getState().order;
|
|
79
78
|
if (response.requested_at !== requestedAt) {
|
|
80
79
|
dispatch(setRequestedAt(response.requested_at));
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
if (revenueCenter) {
|
|
81
|
+
const tz = timezoneMap[revenueCenter.timezone];
|
|
82
|
+
const requestedAtText = makeRequestedAtStr(response.requested_at, tz);
|
|
83
|
+
dispatch(addMessage(`Requested time updated to ${requestedAtText}`));
|
|
84
|
+
}
|
|
84
85
|
}
|
|
85
86
|
const payload = Object.assign(Object.assign({}, makeCartPayload(response)), { isCartOwner: true });
|
|
87
|
+
dispatch(adjustGroupOrder(payload));
|
|
86
88
|
if (callback)
|
|
87
89
|
callback();
|
|
88
|
-
return payload;
|
|
89
90
|
}
|
|
90
91
|
catch (err) {
|
|
91
92
|
const error = err;
|
|
@@ -153,9 +154,9 @@ export const reopenGroupOrder = createAsyncThunk(CustomerGroupOrdersActionType.R
|
|
|
153
154
|
const { cart: customerCart } = rehydrateCart(menuItems, items);
|
|
154
155
|
dispatch(setCart(customerCart));
|
|
155
156
|
const payload = Object.assign(Object.assign({}, makeCartPayload(response)), { isCartOwner: true, cartOwner: customer });
|
|
157
|
+
dispatch(adjustGroupOrder(payload));
|
|
156
158
|
dispatch(showNotification('Group order reopened!'));
|
|
157
159
|
dispatch(setAlert({ type: 'groupOrder' }));
|
|
158
|
-
return payload;
|
|
159
160
|
}
|
|
160
161
|
catch (err) {
|
|
161
162
|
dispatch(resetAlert());
|
|
@@ -216,8 +217,9 @@ const customerGroupOrdersSlice = createSlice({
|
|
|
216
217
|
state.error = action.payload;
|
|
217
218
|
state.loading = 'idle';
|
|
218
219
|
})
|
|
219
|
-
.addCase(reopenGroupOrder.fulfilled,
|
|
220
|
-
|
|
220
|
+
.addCase(reopenGroupOrder.fulfilled, state => {
|
|
221
|
+
state.error = null;
|
|
222
|
+
state.loading = 'idle';
|
|
221
223
|
})
|
|
222
224
|
.addCase(reopenGroupOrder.pending, state => {
|
|
223
225
|
state.loading = 'pending';
|
|
@@ -226,8 +228,9 @@ const customerGroupOrdersSlice = createSlice({
|
|
|
226
228
|
state.error = action.payload;
|
|
227
229
|
state.loading = 'idle';
|
|
228
230
|
})
|
|
229
|
-
.addCase(updateCustomerGroupOrder.fulfilled,
|
|
230
|
-
|
|
231
|
+
.addCase(updateCustomerGroupOrder.fulfilled, state => {
|
|
232
|
+
state.error = null;
|
|
233
|
+
state.loading = 'idle';
|
|
231
234
|
})
|
|
232
235
|
.addCase(updateCustomerGroupOrder.pending, state => {
|
|
233
236
|
state.loading = 'pending';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/cloud",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.94",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our cloud-based Order API.",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|