@open-tender/cloud 0.0.84 → 0.0.85
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/slices/customer/groupOrders.d.ts +39 -9
- package/dist/cjs/slices/customer/groupOrders.js +3 -34
- package/dist/cjs/slices/groupOrder.d.ts +9 -1
- package/dist/cjs/slices/groupOrder.js +33 -1
- package/dist/esm/slices/customer/groupOrders.d.ts +39 -9
- package/dist/esm/slices/customer/groupOrders.js +1 -33
- package/dist/esm/slices/groupOrder.d.ts +9 -1
- package/dist/esm/slices/groupOrder.js +35 -0
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AppState } from '../../app';
|
|
2
|
-
import { GroupOrder, GroupOrders, RequestError, RequestStatus } from '@open-tender/types';
|
|
2
|
+
import { GroupOrder, GroupOrders, OrderItem, RequestError, RequestStatus } from '@open-tender/types';
|
|
3
|
+
import { OrderState } from '../order';
|
|
3
4
|
export interface CustomerGroupOrdersState {
|
|
4
5
|
entities: GroupOrders;
|
|
5
6
|
error: RequestError;
|
|
@@ -12,7 +13,6 @@ export interface CustomerGroupOrdersState {
|
|
|
12
13
|
export declare enum CustomerGroupOrdersActionType {
|
|
13
14
|
FetchCustomerGroupOrders = "customer/fetchCustomerGroupOrders",
|
|
14
15
|
FetchCustomerGroupOrder = "customer/fetchCustomerGroupOrder",
|
|
15
|
-
AddCustomerGroupOrder = "customer/addCustomerGroupOrder",
|
|
16
16
|
RemoveCustomerGroupOrder = "customer/removeCustomerGroupOrder",
|
|
17
17
|
ReopenGroupOrder = "customer/reopenGroupOrder",
|
|
18
18
|
UpdateCustomerGroupOrder = "customer/updateCustomerGroupOrder",
|
|
@@ -26,13 +26,43 @@ export declare const fetchCustomerGroupOrder: import("@reduxjs/toolkit").AsyncTh
|
|
|
26
26
|
state: AppState;
|
|
27
27
|
rejectValue: RequestError;
|
|
28
28
|
}>;
|
|
29
|
-
export declare const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
export declare const makeCartData: (order: OrderState, data?: Partial<GroupOrder>) => {
|
|
30
|
+
order_id?: string | null | undefined;
|
|
31
|
+
address: import("@open-tender/types").Address | null;
|
|
32
|
+
cart: OrderItem[] | {
|
|
33
|
+
id: number;
|
|
34
|
+
quantity: number | undefined;
|
|
35
|
+
groups: {
|
|
36
|
+
id: number | undefined;
|
|
37
|
+
options: {
|
|
38
|
+
id: number;
|
|
39
|
+
quantity: number | undefined;
|
|
40
|
+
}[];
|
|
41
|
+
}[] | undefined;
|
|
42
|
+
made_for: string;
|
|
43
|
+
notes: string;
|
|
44
|
+
}[];
|
|
45
|
+
cartGuest?: any;
|
|
46
|
+
cartGuests?: any;
|
|
47
|
+
cart_guests?: any;
|
|
48
|
+
cart_id?: number | undefined;
|
|
49
|
+
cartOwner?: import("@open-tender/types").CartOwner | undefined;
|
|
50
|
+
customer?: import("@open-tender/types").CartOwner | undefined;
|
|
51
|
+
closed?: boolean | undefined;
|
|
52
|
+
cutoff_at?: string | undefined;
|
|
53
|
+
error?: import("@open-tender/types").RequestErrorAPI | undefined;
|
|
54
|
+
guest_count?: number | undefined;
|
|
55
|
+
guest_limit?: number | undefined;
|
|
56
|
+
isCartOwner?: boolean | undefined;
|
|
57
|
+
loading?: RequestStatus | undefined;
|
|
58
|
+
requested_at: string | null;
|
|
59
|
+
revenue_center?: import("@open-tender/types").OrderRevenueCenter | undefined;
|
|
60
|
+
revenue_center_id: number | undefined;
|
|
61
|
+
service_type: import("@open-tender/types").ServiceType | null;
|
|
62
|
+
spending_limit: string | null;
|
|
63
|
+
token?: string | undefined;
|
|
64
|
+
spendingLimit?: string | undefined;
|
|
65
|
+
};
|
|
36
66
|
export declare const removeCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<GroupOrders, {
|
|
37
67
|
cartId: number;
|
|
38
68
|
callback?: (() => void) | undefined;
|
|
@@ -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.closeGroupOrder = exports.updateCustomerGroupOrder = exports.reopenGroupOrder = exports.removeCustomerGroupOrder = exports.
|
|
4
|
+
exports.customerGroupOrdersReducer = exports.selectCustomerGroupOrders = exports.setCustomerGroupOrders = exports.resetCustomerGroupOrdersError = exports.resetCustomerGroupOrders = exports.closeGroupOrder = exports.updateCustomerGroupOrder = exports.reopenGroupOrder = exports.removeCustomerGroupOrder = exports.makeCartData = 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");
|
|
@@ -21,7 +21,6 @@ var CustomerGroupOrdersActionType;
|
|
|
21
21
|
(function (CustomerGroupOrdersActionType) {
|
|
22
22
|
CustomerGroupOrdersActionType["FetchCustomerGroupOrders"] = "customer/fetchCustomerGroupOrders";
|
|
23
23
|
CustomerGroupOrdersActionType["FetchCustomerGroupOrder"] = "customer/fetchCustomerGroupOrder";
|
|
24
|
-
CustomerGroupOrdersActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
|
|
25
24
|
CustomerGroupOrdersActionType["RemoveCustomerGroupOrder"] = "customer/removeCustomerGroupOrder";
|
|
26
25
|
CustomerGroupOrdersActionType["ReopenGroupOrder"] = "customer/reopenGroupOrder";
|
|
27
26
|
CustomerGroupOrdersActionType["UpdateCustomerGroupOrder"] = "customer/updateCustomerGroupOrder";
|
|
@@ -75,25 +74,7 @@ const makeCartData = (order, data = {}) => {
|
|
|
75
74
|
}
|
|
76
75
|
return Object.assign(Object.assign({}, orderData), data);
|
|
77
76
|
};
|
|
78
|
-
exports.
|
|
79
|
-
try {
|
|
80
|
-
const api = getState().config.api;
|
|
81
|
-
const token = (0, account_1.selectToken)(getState());
|
|
82
|
-
if (!token)
|
|
83
|
-
throw new Error(types_2.MISSING_CUSTOMER);
|
|
84
|
-
const cartData = makeCartData(getState().order, requestData.data);
|
|
85
|
-
const response = yield api.postCustomerGroupOrder(token, cartData);
|
|
86
|
-
const customer = getState().customer.account.profile;
|
|
87
|
-
const payload = Object.assign(Object.assign({}, (0, groupOrder_1.makeCartPayload)(response)), { isCartOwner: true, cartOwner: customer });
|
|
88
|
-
if (requestData.callback)
|
|
89
|
-
requestData.callback();
|
|
90
|
-
return payload;
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
const error = err;
|
|
94
|
-
return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
|
|
95
|
-
}
|
|
96
|
-
}));
|
|
77
|
+
exports.makeCartData = makeCartData;
|
|
97
78
|
exports.removeCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroupOrdersActionType.RemoveCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
98
79
|
try {
|
|
99
80
|
const api = getState().config.api;
|
|
@@ -154,7 +135,7 @@ exports.updateCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(CustomerGroup
|
|
|
154
135
|
const token = (0, account_1.selectToken)(getState());
|
|
155
136
|
if (!token)
|
|
156
137
|
throw new Error(types_2.MISSING_CUSTOMER);
|
|
157
|
-
const cartData = makeCartData(getState().order, requestData.data);
|
|
138
|
+
const cartData = (0, exports.makeCartData)(getState().order, requestData.data);
|
|
158
139
|
yield api.putCustomerGroupOrder(token, requestData.cartId, cartData);
|
|
159
140
|
const response = yield api.getCustomerGroupOrder(token, requestData.cartId);
|
|
160
141
|
const { requestedAt, revenueCenter } = getState().order;
|
|
@@ -227,18 +208,6 @@ const customerGroupOrdersSlice = (0, toolkit_1.createSlice)({
|
|
|
227
208
|
.addCase(exports.fetchCustomerGroupOrder.rejected, (state, action) => {
|
|
228
209
|
state.error = action.payload;
|
|
229
210
|
state.loading = 'idle';
|
|
230
|
-
})
|
|
231
|
-
.addCase(exports.addCustomerGroupOrder.fulfilled, (state, action) => {
|
|
232
|
-
state.entities = action.payload;
|
|
233
|
-
state.loading = 'idle';
|
|
234
|
-
state.error = null;
|
|
235
|
-
})
|
|
236
|
-
.addCase(exports.addCustomerGroupOrder.pending, state => {
|
|
237
|
-
state.loading = 'pending';
|
|
238
|
-
})
|
|
239
|
-
.addCase(exports.addCustomerGroupOrder.rejected, (state, action) => {
|
|
240
|
-
state.error = action.payload;
|
|
241
|
-
state.loading = 'idle';
|
|
242
211
|
})
|
|
243
212
|
.addCase(exports.removeCustomerGroupOrder.fulfilled, (state, action) => {
|
|
244
213
|
state.entities = action.payload;
|
|
@@ -23,7 +23,8 @@ export declare enum GroupOrderActionType {
|
|
|
23
23
|
JoinGroupOrder = "groupOrder/joinGroupOrder",
|
|
24
24
|
FetchGroupOrder = "groupOrder/fetchGroupOrder",
|
|
25
25
|
UpdateGroupOrder = "groupOrder/updateGroupOrder",
|
|
26
|
-
ReloadGuestOrder = "groupOrder/reloadGuestOrder"
|
|
26
|
+
ReloadGuestOrder = "groupOrder/reloadGuestOrder",
|
|
27
|
+
AddCustomerGroupOrder = "customer/addCustomerGroupOrder"
|
|
27
28
|
}
|
|
28
29
|
export declare const makeCartPayload: (response: GroupOrder, cartGuestId?: number) => {
|
|
29
30
|
cartId: number;
|
|
@@ -60,6 +61,13 @@ export declare const reloadGuestOrder: import("@reduxjs/toolkit").AsyncThunk<voi
|
|
|
60
61
|
state: AppState;
|
|
61
62
|
rejectValue: any;
|
|
62
63
|
}>;
|
|
64
|
+
export declare const addCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<GroupOrderState, {
|
|
65
|
+
data: Partial<GroupOrder>;
|
|
66
|
+
callback?: (() => void) | undefined;
|
|
67
|
+
}, {
|
|
68
|
+
state: AppState;
|
|
69
|
+
rejectValue: RequestError;
|
|
70
|
+
}>;
|
|
63
71
|
export declare const resetGroupOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
64
72
|
export declare const selectGroupOrder: (state: AppState) => GroupOrderState;
|
|
65
73
|
export declare const selectGroupOrderToken: (state: AppState) => string | null;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.groupOrderReducer = exports.selectGroupOrderPrepTimes = exports.selectGroupOrderTests = exports.selectGroupOrderClosed = exports.selectSpendingLimit = exports.selectGroupOrderToken = exports.selectGroupOrder = exports.resetGroupOrder = exports.reloadGuestOrder = exports.updateGroupOrder = exports.fetchGroupOrder = exports.joinGroupOrder = exports.makeCartPayload = exports.GroupOrderActionType = void 0;
|
|
3
|
+
exports.groupOrderReducer = exports.selectGroupOrderPrepTimes = exports.selectGroupOrderTests = exports.selectGroupOrderClosed = exports.selectSpendingLimit = exports.selectGroupOrderToken = exports.selectGroupOrder = exports.resetGroupOrder = exports.addCustomerGroupOrder = exports.reloadGuestOrder = exports.updateGroupOrder = exports.fetchGroupOrder = exports.joinGroupOrder = exports.makeCartPayload = exports.GroupOrderActionType = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
const types_1 = require("./types");
|
|
7
|
+
const types_2 = require("@open-tender/types");
|
|
7
8
|
const order_1 = require("./order");
|
|
8
9
|
const utils_1 = require("@open-tender/utils");
|
|
10
|
+
const customer_1 = require("./customer");
|
|
9
11
|
const initialState = {
|
|
10
12
|
cartId: null,
|
|
11
13
|
token: null,
|
|
@@ -31,6 +33,7 @@ var GroupOrderActionType;
|
|
|
31
33
|
GroupOrderActionType["FetchGroupOrder"] = "groupOrder/fetchGroupOrder";
|
|
32
34
|
GroupOrderActionType["UpdateGroupOrder"] = "groupOrder/updateGroupOrder";
|
|
33
35
|
GroupOrderActionType["ReloadGuestOrder"] = "groupOrder/reloadGuestOrder";
|
|
36
|
+
GroupOrderActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
|
|
34
37
|
})(GroupOrderActionType = exports.GroupOrderActionType || (exports.GroupOrderActionType = {}));
|
|
35
38
|
const makeCartPayload = (response, cartGuestId) => {
|
|
36
39
|
const { customer = null, closed, cart_id: cartId, token, cart, revenue_center_id: revenueCenterId, service_type: serviceType, requested_at: requestedAt, cutoff_at: cutoffAt, spending_limit: spendingLimit, guest_limit: guestLimit, guest_count: guestCount, cart_guests: cartGuests } = response;
|
|
@@ -129,6 +132,25 @@ exports.reloadGuestOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.
|
|
|
129
132
|
return rejectWithValue(err);
|
|
130
133
|
}
|
|
131
134
|
}));
|
|
135
|
+
exports.addCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.AddCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
136
|
+
try {
|
|
137
|
+
const api = getState().config.api;
|
|
138
|
+
const token = (0, customer_1.selectToken)(getState());
|
|
139
|
+
if (!token)
|
|
140
|
+
throw new Error(types_2.MISSING_CUSTOMER);
|
|
141
|
+
const cartData = (0, customer_1.makeCartData)(getState().order, requestData.data);
|
|
142
|
+
const response = yield api.postCustomerGroupOrder(token, cartData);
|
|
143
|
+
const customer = getState().customer.account.profile;
|
|
144
|
+
const payload = Object.assign(Object.assign({}, (0, exports.makeCartPayload)(response)), { isCartOwner: true, cartOwner: customer });
|
|
145
|
+
if (requestData.callback)
|
|
146
|
+
requestData.callback();
|
|
147
|
+
return payload;
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
const error = err;
|
|
151
|
+
return (0, customer_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
|
|
152
|
+
}
|
|
153
|
+
}));
|
|
132
154
|
const groupOrderSlice = (0, toolkit_1.createSlice)({
|
|
133
155
|
name: types_1.ReducerType.GroupOrder,
|
|
134
156
|
initialState,
|
|
@@ -179,6 +201,16 @@ const groupOrderSlice = (0, toolkit_1.createSlice)({
|
|
|
179
201
|
.addCase(exports.reloadGuestOrder.rejected, (state, action) => {
|
|
180
202
|
state.loading = 'idle';
|
|
181
203
|
state.error = action.payload;
|
|
204
|
+
})
|
|
205
|
+
.addCase(exports.addCustomerGroupOrder.fulfilled, (state, action) => {
|
|
206
|
+
return Object.assign(Object.assign(Object.assign({}, state), action.payload), { loading: 'idle', error: null });
|
|
207
|
+
})
|
|
208
|
+
.addCase(exports.addCustomerGroupOrder.pending, state => {
|
|
209
|
+
state.loading = 'pending';
|
|
210
|
+
})
|
|
211
|
+
.addCase(exports.addCustomerGroupOrder.rejected, (state, action) => {
|
|
212
|
+
state.error = action.payload;
|
|
213
|
+
state.loading = 'idle';
|
|
182
214
|
});
|
|
183
215
|
}
|
|
184
216
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AppState } from '../../app';
|
|
2
|
-
import { GroupOrder, GroupOrders, RequestError, RequestStatus } from '@open-tender/types';
|
|
2
|
+
import { GroupOrder, GroupOrders, OrderItem, RequestError, RequestStatus } from '@open-tender/types';
|
|
3
|
+
import { OrderState } from '../order';
|
|
3
4
|
export interface CustomerGroupOrdersState {
|
|
4
5
|
entities: GroupOrders;
|
|
5
6
|
error: RequestError;
|
|
@@ -12,7 +13,6 @@ export interface CustomerGroupOrdersState {
|
|
|
12
13
|
export declare enum CustomerGroupOrdersActionType {
|
|
13
14
|
FetchCustomerGroupOrders = "customer/fetchCustomerGroupOrders",
|
|
14
15
|
FetchCustomerGroupOrder = "customer/fetchCustomerGroupOrder",
|
|
15
|
-
AddCustomerGroupOrder = "customer/addCustomerGroupOrder",
|
|
16
16
|
RemoveCustomerGroupOrder = "customer/removeCustomerGroupOrder",
|
|
17
17
|
ReopenGroupOrder = "customer/reopenGroupOrder",
|
|
18
18
|
UpdateCustomerGroupOrder = "customer/updateCustomerGroupOrder",
|
|
@@ -26,13 +26,43 @@ export declare const fetchCustomerGroupOrder: import("@reduxjs/toolkit").AsyncTh
|
|
|
26
26
|
state: AppState;
|
|
27
27
|
rejectValue: RequestError;
|
|
28
28
|
}>;
|
|
29
|
-
export declare const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
export declare const makeCartData: (order: OrderState, data?: Partial<GroupOrder>) => {
|
|
30
|
+
order_id?: string | null | undefined;
|
|
31
|
+
address: import("@open-tender/types").Address | null;
|
|
32
|
+
cart: OrderItem[] | {
|
|
33
|
+
id: number;
|
|
34
|
+
quantity: number | undefined;
|
|
35
|
+
groups: {
|
|
36
|
+
id: number | undefined;
|
|
37
|
+
options: {
|
|
38
|
+
id: number;
|
|
39
|
+
quantity: number | undefined;
|
|
40
|
+
}[];
|
|
41
|
+
}[] | undefined;
|
|
42
|
+
made_for: string;
|
|
43
|
+
notes: string;
|
|
44
|
+
}[];
|
|
45
|
+
cartGuest?: any;
|
|
46
|
+
cartGuests?: any;
|
|
47
|
+
cart_guests?: any;
|
|
48
|
+
cart_id?: number | undefined;
|
|
49
|
+
cartOwner?: import("@open-tender/types").CartOwner | undefined;
|
|
50
|
+
customer?: import("@open-tender/types").CartOwner | undefined;
|
|
51
|
+
closed?: boolean | undefined;
|
|
52
|
+
cutoff_at?: string | undefined;
|
|
53
|
+
error?: import("@open-tender/types").RequestErrorAPI | undefined;
|
|
54
|
+
guest_count?: number | undefined;
|
|
55
|
+
guest_limit?: number | undefined;
|
|
56
|
+
isCartOwner?: boolean | undefined;
|
|
57
|
+
loading?: RequestStatus | undefined;
|
|
58
|
+
requested_at: string | null;
|
|
59
|
+
revenue_center?: import("@open-tender/types").OrderRevenueCenter | undefined;
|
|
60
|
+
revenue_center_id: number | undefined;
|
|
61
|
+
service_type: import("@open-tender/types").ServiceType | null;
|
|
62
|
+
spending_limit: string | null;
|
|
63
|
+
token?: string | undefined;
|
|
64
|
+
spendingLimit?: string | undefined;
|
|
65
|
+
};
|
|
36
66
|
export declare const removeCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<GroupOrders, {
|
|
37
67
|
cartId: number;
|
|
38
68
|
callback?: (() => void) | undefined;
|
|
@@ -17,7 +17,6 @@ export var CustomerGroupOrdersActionType;
|
|
|
17
17
|
(function (CustomerGroupOrdersActionType) {
|
|
18
18
|
CustomerGroupOrdersActionType["FetchCustomerGroupOrders"] = "customer/fetchCustomerGroupOrders";
|
|
19
19
|
CustomerGroupOrdersActionType["FetchCustomerGroupOrder"] = "customer/fetchCustomerGroupOrder";
|
|
20
|
-
CustomerGroupOrdersActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
|
|
21
20
|
CustomerGroupOrdersActionType["RemoveCustomerGroupOrder"] = "customer/removeCustomerGroupOrder";
|
|
22
21
|
CustomerGroupOrdersActionType["ReopenGroupOrder"] = "customer/reopenGroupOrder";
|
|
23
22
|
CustomerGroupOrdersActionType["UpdateCustomerGroupOrder"] = "customer/updateCustomerGroupOrder";
|
|
@@ -52,7 +51,7 @@ export const fetchCustomerGroupOrder = createAsyncThunk(CustomerGroupOrdersActio
|
|
|
52
51
|
return checkAuth(error, dispatch, () => rejectWithValue(error));
|
|
53
52
|
}
|
|
54
53
|
}));
|
|
55
|
-
const makeCartData = (order, data = {}) => {
|
|
54
|
+
export const makeCartData = (order, data = {}) => {
|
|
56
55
|
const { address, revenueCenter, requestedAt, serviceType, cart } = order;
|
|
57
56
|
const orderData = {
|
|
58
57
|
address,
|
|
@@ -71,25 +70,6 @@ const makeCartData = (order, data = {}) => {
|
|
|
71
70
|
}
|
|
72
71
|
return Object.assign(Object.assign({}, orderData), data);
|
|
73
72
|
};
|
|
74
|
-
export const addCustomerGroupOrder = createAsyncThunk(CustomerGroupOrdersActionType.AddCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
-
try {
|
|
76
|
-
const api = getState().config.api;
|
|
77
|
-
const token = selectToken(getState());
|
|
78
|
-
if (!token)
|
|
79
|
-
throw new Error(MISSING_CUSTOMER);
|
|
80
|
-
const cartData = makeCartData(getState().order, requestData.data);
|
|
81
|
-
const response = yield api.postCustomerGroupOrder(token, cartData);
|
|
82
|
-
const customer = getState().customer.account.profile;
|
|
83
|
-
const payload = Object.assign(Object.assign({}, makeCartPayload(response)), { isCartOwner: true, cartOwner: customer });
|
|
84
|
-
if (requestData.callback)
|
|
85
|
-
requestData.callback();
|
|
86
|
-
return payload;
|
|
87
|
-
}
|
|
88
|
-
catch (err) {
|
|
89
|
-
const error = err;
|
|
90
|
-
return checkAuth(error, dispatch, () => rejectWithValue(error));
|
|
91
|
-
}
|
|
92
|
-
}));
|
|
93
73
|
export const removeCustomerGroupOrder = createAsyncThunk(CustomerGroupOrdersActionType.RemoveCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
74
|
try {
|
|
95
75
|
const api = getState().config.api;
|
|
@@ -223,18 +203,6 @@ const customerGroupOrdersSlice = createSlice({
|
|
|
223
203
|
.addCase(fetchCustomerGroupOrder.rejected, (state, action) => {
|
|
224
204
|
state.error = action.payload;
|
|
225
205
|
state.loading = 'idle';
|
|
226
|
-
})
|
|
227
|
-
.addCase(addCustomerGroupOrder.fulfilled, (state, action) => {
|
|
228
|
-
state.entities = action.payload;
|
|
229
|
-
state.loading = 'idle';
|
|
230
|
-
state.error = null;
|
|
231
|
-
})
|
|
232
|
-
.addCase(addCustomerGroupOrder.pending, state => {
|
|
233
|
-
state.loading = 'pending';
|
|
234
|
-
})
|
|
235
|
-
.addCase(addCustomerGroupOrder.rejected, (state, action) => {
|
|
236
|
-
state.error = action.payload;
|
|
237
|
-
state.loading = 'idle';
|
|
238
206
|
})
|
|
239
207
|
.addCase(removeCustomerGroupOrder.fulfilled, (state, action) => {
|
|
240
208
|
state.entities = action.payload;
|
|
@@ -23,7 +23,8 @@ export declare enum GroupOrderActionType {
|
|
|
23
23
|
JoinGroupOrder = "groupOrder/joinGroupOrder",
|
|
24
24
|
FetchGroupOrder = "groupOrder/fetchGroupOrder",
|
|
25
25
|
UpdateGroupOrder = "groupOrder/updateGroupOrder",
|
|
26
|
-
ReloadGuestOrder = "groupOrder/reloadGuestOrder"
|
|
26
|
+
ReloadGuestOrder = "groupOrder/reloadGuestOrder",
|
|
27
|
+
AddCustomerGroupOrder = "customer/addCustomerGroupOrder"
|
|
27
28
|
}
|
|
28
29
|
export declare const makeCartPayload: (response: GroupOrder, cartGuestId?: number) => {
|
|
29
30
|
cartId: number;
|
|
@@ -60,6 +61,13 @@ export declare const reloadGuestOrder: import("@reduxjs/toolkit").AsyncThunk<voi
|
|
|
60
61
|
state: AppState;
|
|
61
62
|
rejectValue: any;
|
|
62
63
|
}>;
|
|
64
|
+
export declare const addCustomerGroupOrder: import("@reduxjs/toolkit").AsyncThunk<GroupOrderState, {
|
|
65
|
+
data: Partial<GroupOrder>;
|
|
66
|
+
callback?: (() => void) | undefined;
|
|
67
|
+
}, {
|
|
68
|
+
state: AppState;
|
|
69
|
+
rejectValue: RequestError;
|
|
70
|
+
}>;
|
|
63
71
|
export declare const resetGroupOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
64
72
|
export declare const selectGroupOrder: (state: AppState) => GroupOrderState;
|
|
65
73
|
export declare const selectGroupOrderToken: (state: AppState) => string | null;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
3
3
|
import { ReducerType } from './types';
|
|
4
|
+
import { MISSING_CUSTOMER,
|
|
5
|
+
// CartGuests,
|
|
6
|
+
// CartGuest
|
|
7
|
+
} from '@open-tender/types';
|
|
4
8
|
import { resetOrder, selectTimezone, setCart, setMenuVars } from './order';
|
|
5
9
|
import { isoToDate, makeSimpleCart, rehydrateCart } from '@open-tender/utils';
|
|
10
|
+
import { checkAuth, makeCartData, selectToken } from './customer';
|
|
6
11
|
const initialState = {
|
|
7
12
|
cartId: null,
|
|
8
13
|
token: null,
|
|
@@ -28,6 +33,7 @@ export var GroupOrderActionType;
|
|
|
28
33
|
GroupOrderActionType["FetchGroupOrder"] = "groupOrder/fetchGroupOrder";
|
|
29
34
|
GroupOrderActionType["UpdateGroupOrder"] = "groupOrder/updateGroupOrder";
|
|
30
35
|
GroupOrderActionType["ReloadGuestOrder"] = "groupOrder/reloadGuestOrder";
|
|
36
|
+
GroupOrderActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
|
|
31
37
|
})(GroupOrderActionType || (GroupOrderActionType = {}));
|
|
32
38
|
export const makeCartPayload = (response, cartGuestId) => {
|
|
33
39
|
const { customer = null, closed, cart_id: cartId, token, cart, revenue_center_id: revenueCenterId, service_type: serviceType, requested_at: requestedAt, cutoff_at: cutoffAt, spending_limit: spendingLimit, guest_limit: guestLimit, guest_count: guestCount, cart_guests: cartGuests } = response;
|
|
@@ -125,6 +131,25 @@ export const reloadGuestOrder = createAsyncThunk(GroupOrderActionType.ReloadGues
|
|
|
125
131
|
return rejectWithValue(err);
|
|
126
132
|
}
|
|
127
133
|
}));
|
|
134
|
+
export const addCustomerGroupOrder = createAsyncThunk(GroupOrderActionType.AddCustomerGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
135
|
+
try {
|
|
136
|
+
const api = getState().config.api;
|
|
137
|
+
const token = selectToken(getState());
|
|
138
|
+
if (!token)
|
|
139
|
+
throw new Error(MISSING_CUSTOMER);
|
|
140
|
+
const cartData = makeCartData(getState().order, requestData.data);
|
|
141
|
+
const response = yield api.postCustomerGroupOrder(token, cartData);
|
|
142
|
+
const customer = getState().customer.account.profile;
|
|
143
|
+
const payload = Object.assign(Object.assign({}, makeCartPayload(response)), { isCartOwner: true, cartOwner: customer });
|
|
144
|
+
if (requestData.callback)
|
|
145
|
+
requestData.callback();
|
|
146
|
+
return payload;
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
const error = err;
|
|
150
|
+
return checkAuth(error, dispatch, () => rejectWithValue(error));
|
|
151
|
+
}
|
|
152
|
+
}));
|
|
128
153
|
const groupOrderSlice = createSlice({
|
|
129
154
|
name: ReducerType.GroupOrder,
|
|
130
155
|
initialState,
|
|
@@ -175,6 +200,16 @@ const groupOrderSlice = createSlice({
|
|
|
175
200
|
.addCase(reloadGuestOrder.rejected, (state, action) => {
|
|
176
201
|
state.loading = 'idle';
|
|
177
202
|
state.error = action.payload;
|
|
203
|
+
})
|
|
204
|
+
.addCase(addCustomerGroupOrder.fulfilled, (state, action) => {
|
|
205
|
+
return Object.assign(Object.assign(Object.assign({}, state), action.payload), { loading: 'idle', error: null });
|
|
206
|
+
})
|
|
207
|
+
.addCase(addCustomerGroupOrder.pending, state => {
|
|
208
|
+
state.loading = 'pending';
|
|
209
|
+
})
|
|
210
|
+
.addCase(addCustomerGroupOrder.rejected, (state, action) => {
|
|
211
|
+
state.error = action.payload;
|
|
212
|
+
state.loading = 'idle';
|
|
178
213
|
});
|
|
179
214
|
}
|
|
180
215
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/cloud",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.85",
|
|
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",
|