@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.
@@ -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;
@@ -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, import("redux").AnyAction>;
87
+ export declare const orderReducer: import("redux").Reducer<import("immer/dist/internal").WritableDraft<OrderState>, import("redux").AnyAction>;
@@ -231,9 +231,10 @@ const orderSlice = (0, toolkit_1.createSlice)({
231
231
  resetAlert: state => {
232
232
  state.alert = null;
233
233
  },
234
- // updateOrder: (state, action) => {
235
- // state.alert = action.payload
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
  },
@@ -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;
@@ -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, import("redux").AnyAction>;
87
+ export declare const orderReducer: import("redux").Reducer<import("immer/dist/internal").WritableDraft<OrderState>, import("redux").AnyAction>;
@@ -227,9 +227,10 @@ const orderSlice = createSlice({
227
227
  resetAlert: state => {
228
228
  state.alert = null;
229
229
  },
230
- // updateOrder: (state, action) => {
231
- // state.alert = action.payload
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.40",
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.79",
58
+ "@open-tender/types": "^0.0.83",
59
59
  "@open-tender/utils": "^0.0.23"
60
60
  }
61
61
  }