@open-tender/cloud 0.0.40 → 0.0.42
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 -1
- package/dist/cjs/app/store.d.ts +3 -3
- package/dist/cjs/slices/customer/groupOrders.d.ts +19 -1
- package/dist/cjs/slices/customer/groupOrders.js +64 -1
- package/dist/cjs/slices/order.d.ts +2 -2
- package/dist/cjs/slices/order.js +4 -3
- package/dist/esm/app/hooks.d.ts +1 -1
- package/dist/esm/app/store.d.ts +3 -3
- package/dist/esm/slices/customer/groupOrders.d.ts +19 -1
- package/dist/esm/slices/customer/groupOrders.js +64 -1
- package/dist/esm/slices/order.d.ts +2 -2
- package/dist/esm/slices/order.js +4 -3
- package/package.json +2 -2
package/dist/cjs/app/hooks.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<i
|
|
|
28
28
|
revenueCenters: import("..").RevenueCentersState;
|
|
29
29
|
completedOrders: import("..").CompletedOrdersState;
|
|
30
30
|
checkout: import("..").CheckoutState;
|
|
31
|
-
order: import("..").OrderState
|
|
31
|
+
order: import("immer/dist/internal").WritableDraft<import("..").OrderState>;
|
|
32
32
|
orderFulfillment: import("..").OrderFulfillmentState;
|
|
33
33
|
orderRating: import("..").OrderRatingState;
|
|
34
34
|
orders: import("..").OrdersState;
|
package/dist/cjs/app/store.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare const appReducer: import("redux").Reducer<import("redux").Combine
|
|
|
27
27
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
28
28
|
completedOrders: import("../slices").CompletedOrdersState;
|
|
29
29
|
checkout: import("../slices").CheckoutState;
|
|
30
|
-
order: import("../slices").OrderState
|
|
30
|
+
order: import("immer/dist/internal").WritableDraft<import("../slices").OrderState>;
|
|
31
31
|
orderFulfillment: import("../slices").OrderFulfillmentState;
|
|
32
32
|
orderRating: import("../slices").OrderRatingState;
|
|
33
33
|
orders: import("../slices").OrdersState;
|
|
@@ -79,7 +79,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
79
79
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
80
80
|
completedOrders: import("../slices").CompletedOrdersState;
|
|
81
81
|
checkout: import("../slices").CheckoutState;
|
|
82
|
-
order: import("../slices").OrderState
|
|
82
|
+
order: import("immer/dist/internal").WritableDraft<import("../slices").OrderState>;
|
|
83
83
|
orderFulfillment: import("../slices").OrderFulfillmentState;
|
|
84
84
|
orderRating: import("../slices").OrderRatingState;
|
|
85
85
|
orders: import("../slices").OrdersState;
|
|
@@ -129,7 +129,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
129
129
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
130
130
|
completedOrders: import("../slices").CompletedOrdersState;
|
|
131
131
|
checkout: import("../slices").CheckoutState;
|
|
132
|
-
order: import("../slices").OrderState
|
|
132
|
+
order: import("immer/dist/internal").WritableDraft<import("../slices").OrderState>;
|
|
133
133
|
orderFulfillment: import("../slices").OrderFulfillmentState;
|
|
134
134
|
orderRating: import("../slices").OrderRatingState;
|
|
135
135
|
orders: import("../slices").OrdersState;
|
|
@@ -7,13 +7,16 @@ export interface CustomerGroupOrdersState {
|
|
|
7
7
|
lookup: {
|
|
8
8
|
[key: number | string]: number;
|
|
9
9
|
};
|
|
10
|
+
closed?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export declare enum CustomerGroupOrdersActionType {
|
|
12
13
|
FetchCustomerGroupOrders = "customer/fetchCustomerGroupOrders",
|
|
13
14
|
FetchCustomerGroupOrder = "customer/fetchCustomerGroupOrder",
|
|
14
15
|
AddCustomerGroupOrder = "customer/addCustomerGroupOrder",
|
|
15
16
|
RemoveCustomerGroupOrder = "customer/removeCustomerGroupOrder",
|
|
16
|
-
ReopenGroupOrder = "customer/reopenGroupOrder"
|
|
17
|
+
ReopenGroupOrder = "customer/reopenGroupOrder",
|
|
18
|
+
UpdateCustomerGroupOrder = "customer/updateCustomerGroupOrder",
|
|
19
|
+
CloseCustomerGroupOrder = "customer/closeCustomerGroupOrder"
|
|
17
20
|
}
|
|
18
21
|
export declare const fetchCustomerGroupOrders: import("@reduxjs/toolkit").AsyncThunk<GroupOrders, void, {
|
|
19
22
|
state: AppState;
|
|
@@ -41,6 +44,21 @@ export declare const reopenGroupOrder: import("@reduxjs/toolkit").AsyncThunk<(Gr
|
|
|
41
44
|
state: AppState;
|
|
42
45
|
rejectValue: RequestError;
|
|
43
46
|
}>;
|
|
47
|
+
export declare const updateCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<GroupOrders, {
|
|
48
|
+
cartId: number;
|
|
49
|
+
data: Partial<GroupOrder>;
|
|
50
|
+
callback?: (() => void) | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
state: AppState;
|
|
53
|
+
rejectValue: RequestError;
|
|
54
|
+
}>;
|
|
55
|
+
export declare const closeCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<boolean, {
|
|
56
|
+
cartId: number;
|
|
57
|
+
closed: boolean;
|
|
58
|
+
}, {
|
|
59
|
+
state: AppState;
|
|
60
|
+
rejectValue: RequestError;
|
|
61
|
+
}>;
|
|
44
62
|
export declare const resetCustomerGroupOrders: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCustomerGroupOrdersError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setCustomerGroupOrders: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
|
|
45
63
|
export declare const selectCustomerGroupOrders: (state: AppState) => CustomerGroupOrdersState;
|
|
46
64
|
export declare const customerGroupOrdersReducer: import("redux").Reducer<CustomerGroupOrdersState, import("redux").AnyAction>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.customerGroupOrdersReducer = exports.selectCustomerGroupOrders = exports.setCustomerGroupOrders = exports.resetCustomerGroupOrdersError = exports.resetCustomerGroupOrders = exports.reopenGroupOrder = exports.removeCustomerGroupOrder = exports.addCustomerGroupOrder = exports.fetchCustomerGroupOrder = exports.fetchCustomerGroupOrders = exports.CustomerGroupOrdersActionType = void 0;
|
|
4
|
+
exports.customerGroupOrdersReducer = exports.selectCustomerGroupOrders = exports.setCustomerGroupOrders = exports.resetCustomerGroupOrdersError = exports.resetCustomerGroupOrders = exports.closeCustomerGroupOrder = exports.updateCustomerGroupOrder = exports.reopenGroupOrder = exports.removeCustomerGroupOrder = exports.addCustomerGroupOrder = exports.fetchCustomerGroupOrder = exports.fetchCustomerGroupOrders = exports.CustomerGroupOrdersActionType = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
7
7
|
const types_1 = require("../types");
|
|
@@ -24,6 +24,8 @@ var CustomerGroupOrdersActionType;
|
|
|
24
24
|
CustomerGroupOrdersActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
|
|
25
25
|
CustomerGroupOrdersActionType["RemoveCustomerGroupOrder"] = "customer/removeCustomerGroupOrder";
|
|
26
26
|
CustomerGroupOrdersActionType["ReopenGroupOrder"] = "customer/reopenGroupOrder";
|
|
27
|
+
CustomerGroupOrdersActionType["UpdateCustomerGroupOrder"] = "customer/updateCustomerGroupOrder";
|
|
28
|
+
CustomerGroupOrdersActionType["CloseCustomerGroupOrder"] = "customer/closeCustomerGroupOrder";
|
|
27
29
|
})(CustomerGroupOrdersActionType = exports.CustomerGroupOrdersActionType || (exports.CustomerGroupOrdersActionType = {}));
|
|
28
30
|
exports.fetchCustomerGroupOrders = (0, toolkit_1.createAsyncThunk)(CustomerGroupOrdersActionType.FetchCustomerGroupOrders, (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
29
31
|
try {
|
|
@@ -145,6 +147,47 @@ exports.reopenGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroupOrdersAc
|
|
|
145
147
|
return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
|
|
146
148
|
}
|
|
147
149
|
}));
|
|
150
|
+
exports.updateCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroupOrdersActionType.UpdateCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
151
|
+
var _b;
|
|
152
|
+
try {
|
|
153
|
+
const api = getState().config.api;
|
|
154
|
+
const token = (0, account_1.selectToken)(getState());
|
|
155
|
+
if (!token)
|
|
156
|
+
throw new Error(types_2.MISSING_CUSTOMER);
|
|
157
|
+
const cartData = makeCartData(getState().order, requestData.data);
|
|
158
|
+
yield api.putCustomerGroupOrder(token, requestData.cartId, cartData);
|
|
159
|
+
const response = yield api.getCustomerGroupOrder(token, requestData.cartId);
|
|
160
|
+
const { requestedAt, revenueCenter } = getState().order;
|
|
161
|
+
if (response.requested_at !== requestedAt) {
|
|
162
|
+
dispatch((0, order_1.setRequestedAt)(response.requested_at));
|
|
163
|
+
const tz = utils_1.timezoneMap[(_b = revenueCenter === null || revenueCenter === void 0 ? void 0 : revenueCenter.timezone) !== null && _b !== void 0 ? _b : 'US/Central'];
|
|
164
|
+
const requestedAtText = (0, utils_1.makeRequestedAtStr)(response.requested_at, tz);
|
|
165
|
+
dispatch((0, order_1.addMessage)(`Requested time updated to ${requestedAtText}`));
|
|
166
|
+
}
|
|
167
|
+
const payload = Object.assign(Object.assign({}, (0, groupOrder_1.makeCartPayload)(response)), { isCartOwner: true });
|
|
168
|
+
if (requestData.callback)
|
|
169
|
+
requestData.callback();
|
|
170
|
+
return payload;
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
const error = err;
|
|
174
|
+
return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
exports.closeCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroupOrdersActionType.CloseCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
178
|
+
try {
|
|
179
|
+
const api = getState().config.api;
|
|
180
|
+
const token = (0, account_1.selectToken)(getState());
|
|
181
|
+
if (!token)
|
|
182
|
+
throw new Error(types_2.MISSING_CUSTOMER);
|
|
183
|
+
yield api.putCustomerGroupOrderStatus(token, requestData.cartId, { closed });
|
|
184
|
+
return requestData.closed;
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
const error = err;
|
|
188
|
+
return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
|
|
189
|
+
}
|
|
190
|
+
}));
|
|
148
191
|
const customerGroupOrdersSlice = (0, toolkit_1.createSlice)({
|
|
149
192
|
name: types_1.ReducerType.GroupOrders,
|
|
150
193
|
initialState,
|
|
@@ -218,6 +261,26 @@ const customerGroupOrdersSlice = (0, toolkit_1.createSlice)({
|
|
|
218
261
|
.addCase(exports.reopenGroupOrder.rejected, (state, action) => {
|
|
219
262
|
state.error = action.payload;
|
|
220
263
|
state.loading = 'idle';
|
|
264
|
+
})
|
|
265
|
+
.addCase(exports.updateCustomerGroupOrder.fulfilled, (state, action) => {
|
|
266
|
+
state = Object.assign(Object.assign(Object.assign({}, state), action.payload), { loading: 'idle', error: null });
|
|
267
|
+
})
|
|
268
|
+
.addCase(exports.updateCustomerGroupOrder.pending, state => {
|
|
269
|
+
state.loading = 'pending';
|
|
270
|
+
})
|
|
271
|
+
.addCase(exports.updateCustomerGroupOrder.rejected, (state, action) => {
|
|
272
|
+
state.error = action.payload;
|
|
273
|
+
state.loading = 'idle';
|
|
274
|
+
})
|
|
275
|
+
.addCase(exports.closeCustomerGroupOrder.fulfilled, (state, action) => {
|
|
276
|
+
state = Object.assign(Object.assign({}, state), { closed: action.payload, loading: 'idle', error: null });
|
|
277
|
+
})
|
|
278
|
+
.addCase(exports.closeCustomerGroupOrder.pending, state => {
|
|
279
|
+
state.loading = 'pending';
|
|
280
|
+
})
|
|
281
|
+
.addCase(exports.closeCustomerGroupOrder.rejected, (state, action) => {
|
|
282
|
+
state.error = action.payload;
|
|
283
|
+
state.loading = 'idle';
|
|
221
284
|
});
|
|
222
285
|
}
|
|
223
286
|
});
|
|
@@ -75,7 +75,7 @@ export declare const reorderPastOrder: import("@reduxjs/toolkit").AsyncThunk<voi
|
|
|
75
75
|
export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
|
|
76
76
|
export declare const selectAlert: (state: AppState) => any;
|
|
77
77
|
export declare const selectTimezone: (state: AppState) => string;
|
|
78
|
-
export declare const selectOrder: (state: AppState) => OrderState
|
|
78
|
+
export declare const selectOrder: (state: AppState) => import("immer/dist/internal").WritableDraft<OrderState>;
|
|
79
79
|
export declare const selectCartQuantity: (state: AppState) => number;
|
|
80
80
|
export declare const selectCartTotal: (state: AppState) => number;
|
|
81
81
|
export declare const selectCanOrder: (state: AppState) => string | null;
|
|
@@ -84,4 +84,4 @@ export declare const selectOrderLimits: (state: AppState) => {
|
|
|
84
84
|
orderMaximum: string | number | null;
|
|
85
85
|
};
|
|
86
86
|
export declare const selectCartIds: (state: AppState) => (number | undefined)[];
|
|
87
|
-
export declare const orderReducer: import("redux").Reducer<OrderState
|
|
87
|
+
export declare const orderReducer: import("redux").Reducer<import("immer/dist/internal").WritableDraft<OrderState>, import("redux").AnyAction>;
|
package/dist/cjs/slices/order.js
CHANGED
|
@@ -231,9 +231,10 @@ const orderSlice = (0, toolkit_1.createSlice)({
|
|
|
231
231
|
resetAlert: state => {
|
|
232
232
|
state.alert = null;
|
|
233
233
|
},
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
234
|
+
updateOrder: (state, action) => {
|
|
235
|
+
state = Object.assign(Object.assign({}, state), action.payload);
|
|
236
|
+
},
|
|
237
|
+
checkout: state => state,
|
|
237
238
|
setAlert: (state, action) => {
|
|
238
239
|
state.alert = action.payload;
|
|
239
240
|
},
|
package/dist/esm/app/hooks.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare const useAppDispatch: () => import("redux-thunk").ThunkDispatch<i
|
|
|
28
28
|
revenueCenters: import("..").RevenueCentersState;
|
|
29
29
|
completedOrders: import("..").CompletedOrdersState;
|
|
30
30
|
checkout: import("..").CheckoutState;
|
|
31
|
-
order: import("..").OrderState
|
|
31
|
+
order: import("immer/dist/internal").WritableDraft<import("..").OrderState>;
|
|
32
32
|
orderFulfillment: import("..").OrderFulfillmentState;
|
|
33
33
|
orderRating: import("..").OrderRatingState;
|
|
34
34
|
orders: import("..").OrdersState;
|
package/dist/esm/app/store.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare const appReducer: import("redux").Reducer<import("redux").Combine
|
|
|
27
27
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
28
28
|
completedOrders: import("../slices").CompletedOrdersState;
|
|
29
29
|
checkout: import("../slices").CheckoutState;
|
|
30
|
-
order: import("../slices").OrderState
|
|
30
|
+
order: import("immer/dist/internal").WritableDraft<import("../slices").OrderState>;
|
|
31
31
|
orderFulfillment: import("../slices").OrderFulfillmentState;
|
|
32
32
|
orderRating: import("../slices").OrderRatingState;
|
|
33
33
|
orders: import("../slices").OrdersState;
|
|
@@ -79,7 +79,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
79
79
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
80
80
|
completedOrders: import("../slices").CompletedOrdersState;
|
|
81
81
|
checkout: import("../slices").CheckoutState;
|
|
82
|
-
order: import("../slices").OrderState
|
|
82
|
+
order: import("immer/dist/internal").WritableDraft<import("../slices").OrderState>;
|
|
83
83
|
orderFulfillment: import("../slices").OrderFulfillmentState;
|
|
84
84
|
orderRating: import("../slices").OrderRatingState;
|
|
85
85
|
orders: import("../slices").OrdersState;
|
|
@@ -129,7 +129,7 @@ declare const store: import("@reduxjs/toolkit").EnhancedStore<import("redux").Co
|
|
|
129
129
|
revenueCenters: import("../slices").RevenueCentersState;
|
|
130
130
|
completedOrders: import("../slices").CompletedOrdersState;
|
|
131
131
|
checkout: import("../slices").CheckoutState;
|
|
132
|
-
order: import("../slices").OrderState
|
|
132
|
+
order: import("immer/dist/internal").WritableDraft<import("../slices").OrderState>;
|
|
133
133
|
orderFulfillment: import("../slices").OrderFulfillmentState;
|
|
134
134
|
orderRating: import("../slices").OrderRatingState;
|
|
135
135
|
orders: import("../slices").OrdersState;
|
|
@@ -7,13 +7,16 @@ export interface CustomerGroupOrdersState {
|
|
|
7
7
|
lookup: {
|
|
8
8
|
[key: number | string]: number;
|
|
9
9
|
};
|
|
10
|
+
closed?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export declare enum CustomerGroupOrdersActionType {
|
|
12
13
|
FetchCustomerGroupOrders = "customer/fetchCustomerGroupOrders",
|
|
13
14
|
FetchCustomerGroupOrder = "customer/fetchCustomerGroupOrder",
|
|
14
15
|
AddCustomerGroupOrder = "customer/addCustomerGroupOrder",
|
|
15
16
|
RemoveCustomerGroupOrder = "customer/removeCustomerGroupOrder",
|
|
16
|
-
ReopenGroupOrder = "customer/reopenGroupOrder"
|
|
17
|
+
ReopenGroupOrder = "customer/reopenGroupOrder",
|
|
18
|
+
UpdateCustomerGroupOrder = "customer/updateCustomerGroupOrder",
|
|
19
|
+
CloseCustomerGroupOrder = "customer/closeCustomerGroupOrder"
|
|
17
20
|
}
|
|
18
21
|
export declare const fetchCustomerGroupOrders: import("@reduxjs/toolkit").AsyncThunk<GroupOrders, void, {
|
|
19
22
|
state: AppState;
|
|
@@ -41,6 +44,21 @@ export declare const reopenGroupOrder: import("@reduxjs/toolkit").AsyncThunk<(Gr
|
|
|
41
44
|
state: AppState;
|
|
42
45
|
rejectValue: RequestError;
|
|
43
46
|
}>;
|
|
47
|
+
export declare const updateCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<GroupOrders, {
|
|
48
|
+
cartId: number;
|
|
49
|
+
data: Partial<GroupOrder>;
|
|
50
|
+
callback?: (() => void) | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
state: AppState;
|
|
53
|
+
rejectValue: RequestError;
|
|
54
|
+
}>;
|
|
55
|
+
export declare const closeCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<boolean, {
|
|
56
|
+
cartId: number;
|
|
57
|
+
closed: boolean;
|
|
58
|
+
}, {
|
|
59
|
+
state: AppState;
|
|
60
|
+
rejectValue: RequestError;
|
|
61
|
+
}>;
|
|
44
62
|
export declare const resetCustomerGroupOrders: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCustomerGroupOrdersError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setCustomerGroupOrders: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
|
|
45
63
|
export declare const selectCustomerGroupOrders: (state: AppState) => CustomerGroupOrdersState;
|
|
46
64
|
export declare const customerGroupOrdersReducer: import("redux").Reducer<CustomerGroupOrdersState, import("redux").AnyAction>;
|
|
@@ -5,7 +5,7 @@ import { MISSING_CUSTOMER, } from '@open-tender/types';
|
|
|
5
5
|
import { checkAuth, selectToken } from './account';
|
|
6
6
|
import { makeCartPayload, resetGroupOrder } from '../groupOrder';
|
|
7
7
|
import { addMessage, resetAlert, setAlert, setCart, setRequestedAt, setRevenueCenter } from '../order';
|
|
8
|
-
import { makeSimpleCart, rehydrateCart } from '@open-tender/utils';
|
|
8
|
+
import { makeRequestedAtStr, makeSimpleCart, rehydrateCart, timezoneMap } from '@open-tender/utils';
|
|
9
9
|
import { showNotification } from '../notifications';
|
|
10
10
|
const initialState = {
|
|
11
11
|
entities: [],
|
|
@@ -20,6 +20,8 @@ export var CustomerGroupOrdersActionType;
|
|
|
20
20
|
CustomerGroupOrdersActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
|
|
21
21
|
CustomerGroupOrdersActionType["RemoveCustomerGroupOrder"] = "customer/removeCustomerGroupOrder";
|
|
22
22
|
CustomerGroupOrdersActionType["ReopenGroupOrder"] = "customer/reopenGroupOrder";
|
|
23
|
+
CustomerGroupOrdersActionType["UpdateCustomerGroupOrder"] = "customer/updateCustomerGroupOrder";
|
|
24
|
+
CustomerGroupOrdersActionType["CloseCustomerGroupOrder"] = "customer/closeCustomerGroupOrder";
|
|
23
25
|
})(CustomerGroupOrdersActionType || (CustomerGroupOrdersActionType = {}));
|
|
24
26
|
export const fetchCustomerGroupOrders = createAsyncThunk(CustomerGroupOrdersActionType.FetchCustomerGroupOrders, (_, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
27
|
try {
|
|
@@ -141,6 +143,47 @@ export const reopenGroupOrder = createAsyncThunk(CustomerGroupOrdersActionType.R
|
|
|
141
143
|
return checkAuth(error, dispatch, () => rejectWithValue(error));
|
|
142
144
|
}
|
|
143
145
|
}));
|
|
146
|
+
export const updateCustomerGroupOrder = createAsyncThunk(CustomerGroupOrdersActionType.UpdateCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
147
|
+
var _a;
|
|
148
|
+
try {
|
|
149
|
+
const api = getState().config.api;
|
|
150
|
+
const token = selectToken(getState());
|
|
151
|
+
if (!token)
|
|
152
|
+
throw new Error(MISSING_CUSTOMER);
|
|
153
|
+
const cartData = makeCartData(getState().order, requestData.data);
|
|
154
|
+
yield api.putCustomerGroupOrder(token, requestData.cartId, cartData);
|
|
155
|
+
const response = yield api.getCustomerGroupOrder(token, requestData.cartId);
|
|
156
|
+
const { requestedAt, revenueCenter } = getState().order;
|
|
157
|
+
if (response.requested_at !== requestedAt) {
|
|
158
|
+
dispatch(setRequestedAt(response.requested_at));
|
|
159
|
+
const tz = timezoneMap[(_a = revenueCenter === null || revenueCenter === void 0 ? void 0 : revenueCenter.timezone) !== null && _a !== void 0 ? _a : 'US/Central'];
|
|
160
|
+
const requestedAtText = makeRequestedAtStr(response.requested_at, tz);
|
|
161
|
+
dispatch(addMessage(`Requested time updated to ${requestedAtText}`));
|
|
162
|
+
}
|
|
163
|
+
const payload = Object.assign(Object.assign({}, makeCartPayload(response)), { isCartOwner: true });
|
|
164
|
+
if (requestData.callback)
|
|
165
|
+
requestData.callback();
|
|
166
|
+
return payload;
|
|
167
|
+
}
|
|
168
|
+
catch (err) {
|
|
169
|
+
const error = err;
|
|
170
|
+
return checkAuth(error, dispatch, () => rejectWithValue(error));
|
|
171
|
+
}
|
|
172
|
+
}));
|
|
173
|
+
export const closeCustomerGroupOrder = createAsyncThunk(CustomerGroupOrdersActionType.CloseCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
174
|
+
try {
|
|
175
|
+
const api = getState().config.api;
|
|
176
|
+
const token = selectToken(getState());
|
|
177
|
+
if (!token)
|
|
178
|
+
throw new Error(MISSING_CUSTOMER);
|
|
179
|
+
yield api.putCustomerGroupOrderStatus(token, requestData.cartId, { closed });
|
|
180
|
+
return requestData.closed;
|
|
181
|
+
}
|
|
182
|
+
catch (err) {
|
|
183
|
+
const error = err;
|
|
184
|
+
return checkAuth(error, dispatch, () => rejectWithValue(error));
|
|
185
|
+
}
|
|
186
|
+
}));
|
|
144
187
|
const customerGroupOrdersSlice = createSlice({
|
|
145
188
|
name: ReducerType.GroupOrders,
|
|
146
189
|
initialState,
|
|
@@ -214,6 +257,26 @@ const customerGroupOrdersSlice = createSlice({
|
|
|
214
257
|
.addCase(reopenGroupOrder.rejected, (state, action) => {
|
|
215
258
|
state.error = action.payload;
|
|
216
259
|
state.loading = 'idle';
|
|
260
|
+
})
|
|
261
|
+
.addCase(updateCustomerGroupOrder.fulfilled, (state, action) => {
|
|
262
|
+
state = Object.assign(Object.assign(Object.assign({}, state), action.payload), { loading: 'idle', error: null });
|
|
263
|
+
})
|
|
264
|
+
.addCase(updateCustomerGroupOrder.pending, state => {
|
|
265
|
+
state.loading = 'pending';
|
|
266
|
+
})
|
|
267
|
+
.addCase(updateCustomerGroupOrder.rejected, (state, action) => {
|
|
268
|
+
state.error = action.payload;
|
|
269
|
+
state.loading = 'idle';
|
|
270
|
+
})
|
|
271
|
+
.addCase(closeCustomerGroupOrder.fulfilled, (state, action) => {
|
|
272
|
+
state = Object.assign(Object.assign({}, state), { closed: action.payload, loading: 'idle', error: null });
|
|
273
|
+
})
|
|
274
|
+
.addCase(closeCustomerGroupOrder.pending, state => {
|
|
275
|
+
state.loading = 'pending';
|
|
276
|
+
})
|
|
277
|
+
.addCase(closeCustomerGroupOrder.rejected, (state, action) => {
|
|
278
|
+
state.error = action.payload;
|
|
279
|
+
state.loading = 'idle';
|
|
217
280
|
});
|
|
218
281
|
}
|
|
219
282
|
});
|
|
@@ -75,7 +75,7 @@ export declare const reorderPastOrder: import("@reduxjs/toolkit").AsyncThunk<voi
|
|
|
75
75
|
export declare const resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, string>;
|
|
76
76
|
export declare const selectAlert: (state: AppState) => any;
|
|
77
77
|
export declare const selectTimezone: (state: AppState) => string;
|
|
78
|
-
export declare const selectOrder: (state: AppState) => OrderState
|
|
78
|
+
export declare const selectOrder: (state: AppState) => import("immer/dist/internal").WritableDraft<OrderState>;
|
|
79
79
|
export declare const selectCartQuantity: (state: AppState) => number;
|
|
80
80
|
export declare const selectCartTotal: (state: AppState) => number;
|
|
81
81
|
export declare const selectCanOrder: (state: AppState) => string | null;
|
|
@@ -84,4 +84,4 @@ export declare const selectOrderLimits: (state: AppState) => {
|
|
|
84
84
|
orderMaximum: string | number | null;
|
|
85
85
|
};
|
|
86
86
|
export declare const selectCartIds: (state: AppState) => (number | undefined)[];
|
|
87
|
-
export declare const orderReducer: import("redux").Reducer<OrderState
|
|
87
|
+
export declare const orderReducer: import("redux").Reducer<import("immer/dist/internal").WritableDraft<OrderState>, import("redux").AnyAction>;
|
package/dist/esm/slices/order.js
CHANGED
|
@@ -227,9 +227,10 @@ const orderSlice = createSlice({
|
|
|
227
227
|
resetAlert: state => {
|
|
228
228
|
state.alert = null;
|
|
229
229
|
},
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
230
|
+
updateOrder: (state, action) => {
|
|
231
|
+
state = Object.assign(Object.assign({}, state), action.payload);
|
|
232
|
+
},
|
|
233
|
+
checkout: state => state,
|
|
233
234
|
setAlert: (state, action) => {
|
|
234
235
|
state.alert = action.payload;
|
|
235
236
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/cloud",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.42",
|
|
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",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"react": "^18.2.0"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@open-tender/types": "^0.0.
|
|
58
|
+
"@open-tender/types": "^0.0.83",
|
|
59
59
|
"@open-tender/utils": "^0.0.23"
|
|
60
60
|
}
|
|
61
61
|
}
|