@open-tender/cloud 0.5.8 → 0.5.9

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.
Files changed (283) hide show
  1. package/LICENSE.md +21 -21
  2. package/README.md +3 -3
  3. package/dist/cjs/app/hooks.d.ts +67 -67
  4. package/dist/cjs/app/hooks.js +8 -8
  5. package/dist/cjs/app/index.d.ts +2 -2
  6. package/dist/cjs/app/index.js +5 -5
  7. package/dist/cjs/app/store.d.ts +197 -197
  8. package/dist/cjs/app/store.js +65 -65
  9. package/dist/cjs/index.d.ts +5 -5
  10. package/dist/cjs/index.js +11 -11
  11. package/dist/cjs/services/api.d.ts +173 -173
  12. package/dist/cjs/services/api.js +741 -741
  13. package/dist/cjs/services/errors.d.ts +50 -50
  14. package/dist/cjs/services/errors.js +53 -53
  15. package/dist/cjs/services/index.d.ts +3 -3
  16. package/dist/cjs/services/index.js +7 -7
  17. package/dist/cjs/slices/alerts.d.ts +5 -5
  18. package/dist/cjs/slices/alerts.js +29 -29
  19. package/dist/cjs/slices/allergens.d.ts +101 -101
  20. package/dist/cjs/slices/allergens.js +83 -83
  21. package/dist/cjs/slices/announcements.d.ts +180 -180
  22. package/dist/cjs/slices/announcements.js +81 -81
  23. package/dist/cjs/slices/checkout.d.ts +69 -69
  24. package/dist/cjs/slices/checkout.js +326 -326
  25. package/dist/cjs/slices/completedOrders.d.ts +31 -31
  26. package/dist/cjs/slices/completedOrders.js +61 -61
  27. package/dist/cjs/slices/config.d.ts +317 -317
  28. package/dist/cjs/slices/config.js +195 -195
  29. package/dist/cjs/slices/confirmation.d.ts +8 -8
  30. package/dist/cjs/slices/confirmation.js +23 -23
  31. package/dist/cjs/slices/customer/account.d.ts +128 -128
  32. package/dist/cjs/slices/customer/account.js +351 -351
  33. package/dist/cjs/slices/customer/addresses.d.ts +55 -55
  34. package/dist/cjs/slices/customer/addresses.js +132 -132
  35. package/dist/cjs/slices/customer/allergens.d.ts +37 -37
  36. package/dist/cjs/slices/customer/allergens.js +94 -94
  37. package/dist/cjs/slices/customer/communicationPreferences.d.ts +69 -69
  38. package/dist/cjs/slices/customer/communicationPreferences.js +164 -164
  39. package/dist/cjs/slices/customer/creditCards.d.ts +137 -137
  40. package/dist/cjs/slices/customer/creditCards.js +170 -170
  41. package/dist/cjs/slices/customer/favorites.d.ts +68 -68
  42. package/dist/cjs/slices/customer/favorites.js +173 -173
  43. package/dist/cjs/slices/customer/fcmToken.d.ts +49 -49
  44. package/dist/cjs/slices/customer/fcmToken.js +110 -110
  45. package/dist/cjs/slices/customer/giftCards.d.ts +98 -98
  46. package/dist/cjs/slices/customer/giftCards.js +222 -222
  47. package/dist/cjs/slices/customer/groupOrders.d.ts +118 -118
  48. package/dist/cjs/slices/customer/groupOrders.js +262 -262
  49. package/dist/cjs/slices/customer/history.d.ts +23 -23
  50. package/dist/cjs/slices/customer/history.js +57 -57
  51. package/dist/cjs/slices/customer/houseAccounts.d.ts +26 -26
  52. package/dist/cjs/slices/customer/houseAccounts.js +67 -67
  53. package/dist/cjs/slices/customer/index.d.ts +42 -42
  54. package/dist/cjs/slices/customer/index.js +68 -68
  55. package/dist/cjs/slices/customer/loyalty.d.ts +251 -251
  56. package/dist/cjs/slices/customer/loyalty.js +110 -110
  57. package/dist/cjs/slices/customer/order.d.ts +116 -116
  58. package/dist/cjs/slices/customer/order.js +98 -98
  59. package/dist/cjs/slices/customer/orders.d.ts +27 -27
  60. package/dist/cjs/slices/customer/orders.js +69 -69
  61. package/dist/cjs/slices/customer/pointsShop.d.ts +35 -35
  62. package/dist/cjs/slices/customer/pointsShop.js +86 -86
  63. package/dist/cjs/slices/customer/qrCode.d.ts +23 -23
  64. package/dist/cjs/slices/customer/qrCode.js +57 -57
  65. package/dist/cjs/slices/customer/rewards.d.ts +26 -26
  66. package/dist/cjs/slices/customer/rewards.js +67 -67
  67. package/dist/cjs/slices/customer/thanx.d.ts +23 -23
  68. package/dist/cjs/slices/customer/thanx.js +56 -56
  69. package/dist/cjs/slices/customer/tpls.d.ts +238 -238
  70. package/dist/cjs/slices/customer/tpls.js +102 -102
  71. package/dist/cjs/slices/customer/tplsPointsShop.d.ts +38 -38
  72. package/dist/cjs/slices/customer/tplsPointsShop.js +88 -88
  73. package/dist/cjs/slices/deals.d.ts +25 -25
  74. package/dist/cjs/slices/deals.js +96 -96
  75. package/dist/cjs/slices/donations.d.ts +27 -27
  76. package/dist/cjs/slices/donations.js +57 -57
  77. package/dist/cjs/slices/geolocation.d.ts +11 -11
  78. package/dist/cjs/slices/geolocation.js +36 -36
  79. package/dist/cjs/slices/giftCards.d.ts +27 -27
  80. package/dist/cjs/slices/giftCards.js +58 -58
  81. package/dist/cjs/slices/groupOrder.d.ts +418 -418
  82. package/dist/cjs/slices/groupOrder.js +266 -266
  83. package/dist/cjs/slices/guest.d.ts +51 -51
  84. package/dist/cjs/slices/guest.js +91 -91
  85. package/dist/cjs/slices/index.d.ts +41 -41
  86. package/dist/cjs/slices/index.js +44 -44
  87. package/dist/cjs/slices/loader.d.ts +9 -9
  88. package/dist/cjs/slices/loader.js +25 -25
  89. package/dist/cjs/slices/menu.d.ts +31 -31
  90. package/dist/cjs/slices/menu.js +97 -97
  91. package/dist/cjs/slices/menuDisplay.d.ts +32 -32
  92. package/dist/cjs/slices/menuDisplay.js +59 -59
  93. package/dist/cjs/slices/menuItems.d.ts +26 -26
  94. package/dist/cjs/slices/menuItems.js +57 -57
  95. package/dist/cjs/slices/misc.d.ts +17 -17
  96. package/dist/cjs/slices/misc.js +51 -51
  97. package/dist/cjs/slices/modal.d.ts +5 -5
  98. package/dist/cjs/slices/modal.js +30 -30
  99. package/dist/cjs/slices/nav.d.ts +7 -7
  100. package/dist/cjs/slices/nav.js +23 -23
  101. package/dist/cjs/slices/navSite.d.ts +7 -7
  102. package/dist/cjs/slices/navSite.js +23 -23
  103. package/dist/cjs/slices/notifications.d.ts +5 -5
  104. package/dist/cjs/slices/notifications.js +27 -27
  105. package/dist/cjs/slices/oneTimePasscode.d.ts +40 -40
  106. package/dist/cjs/slices/oneTimePasscode.js +91 -91
  107. package/dist/cjs/slices/order.d.ts +372 -372
  108. package/dist/cjs/slices/order.js +528 -528
  109. package/dist/cjs/slices/orderFulfillment.d.ts +37 -37
  110. package/dist/cjs/slices/orderFulfillment.js +77 -77
  111. package/dist/cjs/slices/orderRating.d.ts +52 -52
  112. package/dist/cjs/slices/orderRating.js +105 -105
  113. package/dist/cjs/slices/posts.d.ts +24 -24
  114. package/dist/cjs/slices/posts.js +55 -55
  115. package/dist/cjs/slices/pushNotifications.d.ts +9 -9
  116. package/dist/cjs/slices/pushNotifications.js +29 -29
  117. package/dist/cjs/slices/qr.d.ts +11 -11
  118. package/dist/cjs/slices/qr.js +34 -34
  119. package/dist/cjs/slices/quote.d.ts +102 -102
  120. package/dist/cjs/slices/quote.js +65 -65
  121. package/dist/cjs/slices/resetPassword.d.ts +41 -41
  122. package/dist/cjs/slices/resetPassword.js +80 -80
  123. package/dist/cjs/slices/revenueCenters.d.ts +35 -35
  124. package/dist/cjs/slices/revenueCenters.js +95 -96
  125. package/dist/cjs/slices/sidebar.d.ts +7 -7
  126. package/dist/cjs/slices/sidebar.js +23 -23
  127. package/dist/cjs/slices/sidebarModal.d.ts +7 -7
  128. package/dist/cjs/slices/sidebarModal.js +23 -23
  129. package/dist/cjs/slices/signUp.d.ts +25 -25
  130. package/dist/cjs/slices/signUp.js +60 -60
  131. package/dist/cjs/slices/tags.d.ts +101 -101
  132. package/dist/cjs/slices/tags.js +90 -90
  133. package/dist/cjs/slices/terms.d.ts +20 -20
  134. package/dist/cjs/slices/terms.js +51 -51
  135. package/dist/cjs/slices/types.d.ts +62 -62
  136. package/dist/cjs/slices/types.js +66 -66
  137. package/dist/cjs/slices/unsubscribe.d.ts +39 -39
  138. package/dist/cjs/slices/unsubscribe.js +78 -78
  139. package/dist/cjs/slices/validTimes.d.ts +23 -23
  140. package/dist/cjs/slices/validTimes.js +57 -57
  141. package/dist/cjs/slices/verifyAccount.d.ts +23 -23
  142. package/dist/cjs/slices/verifyAccount.js +54 -54
  143. package/dist/esm/app/hooks.d.ts +67 -67
  144. package/dist/esm/app/hooks.js +4 -4
  145. package/dist/esm/app/index.d.ts +2 -2
  146. package/dist/esm/app/index.js +2 -2
  147. package/dist/esm/app/store.d.ts +197 -197
  148. package/dist/esm/app/store.js +62 -62
  149. package/dist/esm/index.d.ts +5 -5
  150. package/dist/esm/index.js +5 -5
  151. package/dist/esm/services/api.d.ts +173 -173
  152. package/dist/esm/services/api.js +739 -739
  153. package/dist/esm/services/errors.d.ts +50 -50
  154. package/dist/esm/services/errors.js +50 -50
  155. package/dist/esm/services/index.d.ts +3 -3
  156. package/dist/esm/services/index.js +3 -3
  157. package/dist/esm/slices/alerts.d.ts +5 -5
  158. package/dist/esm/slices/alerts.js +24 -24
  159. package/dist/esm/slices/allergens.d.ts +101 -101
  160. package/dist/esm/slices/allergens.js +77 -77
  161. package/dist/esm/slices/announcements.d.ts +180 -180
  162. package/dist/esm/slices/announcements.js +75 -75
  163. package/dist/esm/slices/checkout.d.ts +69 -69
  164. package/dist/esm/slices/checkout.js +318 -318
  165. package/dist/esm/slices/completedOrders.d.ts +31 -31
  166. package/dist/esm/slices/completedOrders.js +57 -57
  167. package/dist/esm/slices/config.d.ts +317 -317
  168. package/dist/esm/slices/config.js +168 -168
  169. package/dist/esm/slices/confirmation.d.ts +8 -8
  170. package/dist/esm/slices/confirmation.js +18 -18
  171. package/dist/esm/slices/customer/account.d.ts +128 -128
  172. package/dist/esm/slices/customer/account.js +344 -344
  173. package/dist/esm/slices/customer/addresses.d.ts +55 -55
  174. package/dist/esm/slices/customer/addresses.js +127 -127
  175. package/dist/esm/slices/customer/allergens.d.ts +37 -37
  176. package/dist/esm/slices/customer/allergens.js +89 -89
  177. package/dist/esm/slices/customer/communicationPreferences.d.ts +69 -69
  178. package/dist/esm/slices/customer/communicationPreferences.js +159 -159
  179. package/dist/esm/slices/customer/creditCards.d.ts +137 -137
  180. package/dist/esm/slices/customer/creditCards.js +165 -165
  181. package/dist/esm/slices/customer/favorites.d.ts +68 -68
  182. package/dist/esm/slices/customer/favorites.js +168 -168
  183. package/dist/esm/slices/customer/fcmToken.d.ts +49 -49
  184. package/dist/esm/slices/customer/fcmToken.js +106 -106
  185. package/dist/esm/slices/customer/giftCards.d.ts +98 -98
  186. package/dist/esm/slices/customer/giftCards.js +217 -217
  187. package/dist/esm/slices/customer/groupOrders.d.ts +118 -118
  188. package/dist/esm/slices/customer/groupOrders.js +256 -256
  189. package/dist/esm/slices/customer/history.d.ts +23 -23
  190. package/dist/esm/slices/customer/history.js +53 -53
  191. package/dist/esm/slices/customer/houseAccounts.d.ts +26 -26
  192. package/dist/esm/slices/customer/houseAccounts.js +62 -62
  193. package/dist/esm/slices/customer/index.d.ts +42 -42
  194. package/dist/esm/slices/customer/index.js +64 -64
  195. package/dist/esm/slices/customer/loyalty.d.ts +251 -251
  196. package/dist/esm/slices/customer/loyalty.js +102 -102
  197. package/dist/esm/slices/customer/order.d.ts +116 -116
  198. package/dist/esm/slices/customer/order.js +94 -94
  199. package/dist/esm/slices/customer/orders.d.ts +27 -27
  200. package/dist/esm/slices/customer/orders.js +63 -63
  201. package/dist/esm/slices/customer/pointsShop.d.ts +35 -35
  202. package/dist/esm/slices/customer/pointsShop.js +82 -82
  203. package/dist/esm/slices/customer/qrCode.d.ts +23 -23
  204. package/dist/esm/slices/customer/qrCode.js +53 -53
  205. package/dist/esm/slices/customer/rewards.d.ts +26 -26
  206. package/dist/esm/slices/customer/rewards.js +62 -62
  207. package/dist/esm/slices/customer/thanx.d.ts +23 -23
  208. package/dist/esm/slices/customer/thanx.js +52 -52
  209. package/dist/esm/slices/customer/tpls.d.ts +238 -238
  210. package/dist/esm/slices/customer/tpls.js +98 -98
  211. package/dist/esm/slices/customer/tplsPointsShop.d.ts +38 -38
  212. package/dist/esm/slices/customer/tplsPointsShop.js +84 -84
  213. package/dist/esm/slices/deals.d.ts +25 -25
  214. package/dist/esm/slices/deals.js +90 -90
  215. package/dist/esm/slices/donations.d.ts +27 -27
  216. package/dist/esm/slices/donations.js +53 -53
  217. package/dist/esm/slices/geolocation.d.ts +11 -11
  218. package/dist/esm/slices/geolocation.js +30 -30
  219. package/dist/esm/slices/giftCards.d.ts +27 -27
  220. package/dist/esm/slices/giftCards.js +54 -54
  221. package/dist/esm/slices/groupOrder.d.ts +418 -418
  222. package/dist/esm/slices/groupOrder.js +259 -259
  223. package/dist/esm/slices/guest.d.ts +51 -51
  224. package/dist/esm/slices/guest.js +86 -86
  225. package/dist/esm/slices/index.d.ts +41 -41
  226. package/dist/esm/slices/index.js +41 -41
  227. package/dist/esm/slices/loader.d.ts +9 -9
  228. package/dist/esm/slices/loader.js +21 -21
  229. package/dist/esm/slices/menu.d.ts +31 -31
  230. package/dist/esm/slices/menu.js +90 -90
  231. package/dist/esm/slices/menuDisplay.d.ts +32 -32
  232. package/dist/esm/slices/menuDisplay.js +55 -55
  233. package/dist/esm/slices/menuItems.d.ts +26 -26
  234. package/dist/esm/slices/menuItems.js +52 -52
  235. package/dist/esm/slices/misc.d.ts +17 -17
  236. package/dist/esm/slices/misc.js +41 -41
  237. package/dist/esm/slices/modal.d.ts +5 -5
  238. package/dist/esm/slices/modal.js +25 -25
  239. package/dist/esm/slices/nav.d.ts +7 -7
  240. package/dist/esm/slices/nav.js +19 -19
  241. package/dist/esm/slices/navSite.d.ts +7 -7
  242. package/dist/esm/slices/navSite.js +19 -19
  243. package/dist/esm/slices/notifications.d.ts +5 -5
  244. package/dist/esm/slices/notifications.js +22 -22
  245. package/dist/esm/slices/oneTimePasscode.d.ts +40 -40
  246. package/dist/esm/slices/oneTimePasscode.js +86 -86
  247. package/dist/esm/slices/order.d.ts +372 -372
  248. package/dist/esm/slices/order.js +508 -508
  249. package/dist/esm/slices/orderFulfillment.d.ts +37 -37
  250. package/dist/esm/slices/orderFulfillment.js +73 -73
  251. package/dist/esm/slices/orderRating.d.ts +52 -52
  252. package/dist/esm/slices/orderRating.js +101 -101
  253. package/dist/esm/slices/posts.d.ts +24 -24
  254. package/dist/esm/slices/posts.js +51 -51
  255. package/dist/esm/slices/pushNotifications.d.ts +9 -9
  256. package/dist/esm/slices/pushNotifications.js +23 -23
  257. package/dist/esm/slices/qr.d.ts +11 -11
  258. package/dist/esm/slices/qr.js +29 -29
  259. package/dist/esm/slices/quote.d.ts +102 -102
  260. package/dist/esm/slices/quote.js +61 -61
  261. package/dist/esm/slices/resetPassword.d.ts +41 -41
  262. package/dist/esm/slices/resetPassword.js +76 -76
  263. package/dist/esm/slices/revenueCenters.d.ts +35 -35
  264. package/dist/esm/slices/revenueCenters.js +89 -90
  265. package/dist/esm/slices/sidebar.d.ts +7 -7
  266. package/dist/esm/slices/sidebar.js +19 -19
  267. package/dist/esm/slices/sidebarModal.d.ts +7 -7
  268. package/dist/esm/slices/sidebarModal.js +19 -19
  269. package/dist/esm/slices/signUp.d.ts +25 -25
  270. package/dist/esm/slices/signUp.js +56 -56
  271. package/dist/esm/slices/tags.d.ts +101 -101
  272. package/dist/esm/slices/tags.js +84 -84
  273. package/dist/esm/slices/terms.d.ts +20 -20
  274. package/dist/esm/slices/terms.js +47 -47
  275. package/dist/esm/slices/types.d.ts +62 -62
  276. package/dist/esm/slices/types.js +63 -63
  277. package/dist/esm/slices/unsubscribe.d.ts +39 -39
  278. package/dist/esm/slices/unsubscribe.js +74 -74
  279. package/dist/esm/slices/validTimes.d.ts +23 -23
  280. package/dist/esm/slices/validTimes.js +52 -52
  281. package/dist/esm/slices/verifyAccount.d.ts +23 -23
  282. package/dist/esm/slices/verifyAccount.js +50 -50
  283. package/package.json +61 -61
@@ -1,266 +1,266 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.groupOrderReducer = exports.selectGroupOrderPrepTimes = exports.selectGroupOrderTests = exports.selectGroupOrderClosed = exports.selectSpendingLimit = exports.selectGroupOrderToken = exports.selectGroupOrder = exports.adjustGroupOrder = exports.resetGroupOrder = exports.addCustomerGroupOrder = exports.reloadGuestOrder = exports.updateGroupOrder = exports.fetchGroupOrder = exports.joinGroupOrder = exports.makeCartPayload = exports.GroupOrderActionType = void 0;
5
- const tslib_1 = require("tslib");
6
- const toolkit_1 = require("@reduxjs/toolkit");
7
- const types_1 = require("./types");
8
- const types_2 = require("@open-tender/types");
9
- const utils_1 = require("@open-tender/utils");
10
- const order_1 = require("./order");
11
- const customer_1 = require("./customer");
12
- const initialState = {
13
- cart: [],
14
- cartGuest: null,
15
- cartGuests: [],
16
- cartId: null,
17
- cartOwner: null,
18
- closed: false,
19
- cutoffAt: null,
20
- guestCount: null,
21
- guestLimit: null,
22
- isCartOwner: false,
23
- requestedAt: null,
24
- revenueCenterId: null,
25
- serviceType: null,
26
- spendingLimit: null,
27
- token: null,
28
- error: null,
29
- loading: 'idle'
30
- };
31
- var GroupOrderActionType;
32
- (function (GroupOrderActionType) {
33
- GroupOrderActionType["JoinGroupOrder"] = "groupOrder/joinGroupOrder";
34
- GroupOrderActionType["FetchGroupOrder"] = "groupOrder/fetchGroupOrder";
35
- GroupOrderActionType["UpdateGroupOrder"] = "groupOrder/updateGroupOrder";
36
- GroupOrderActionType["ReloadGuestOrder"] = "groupOrder/reloadGuestOrder";
37
- GroupOrderActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
38
- })(GroupOrderActionType = exports.GroupOrderActionType || (exports.GroupOrderActionType = {}));
39
- const makeCartPayload = (response, cartGuestId) => {
40
- 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;
41
- const filteredCart = cartGuestId
42
- ? cart.filter(i => i.cart_guest_id === cartGuestId)
43
- : cart;
44
- return {
45
- cartId,
46
- token,
47
- revenueCenterId,
48
- serviceType,
49
- requestedAt,
50
- cutoffAt,
51
- guestLimit,
52
- guestCount,
53
- spendingLimit,
54
- closed,
55
- cartOwner: customer,
56
- cart: filteredCart,
57
- cartGuests: cartGuests || []
58
- };
59
- };
60
- exports.makeCartPayload = makeCartPayload;
61
- exports.joinGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.JoinGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
62
- const { api } = getState().config;
63
- if (!api)
64
- return null;
65
- try {
66
- const data = {
67
- cart_id: requestData.cart_id,
68
- first_name: requestData.first_name,
69
- last_name: requestData.last_name
70
- };
71
- const response = yield api.postCartGuest(data);
72
- const { cart_guest_id: cartGuestId, first_name: firstName, last_name: lastName } = response;
73
- const { revenueCenter } = getState().order;
74
- dispatch((0, order_1.resetOrder)());
75
- const { serviceType, requestedAt } = getState().groupOrder;
76
- dispatch((0, order_1.setMenuVars)({ revenueCenter, serviceType, requestedAt }));
77
- dispatch((0, order_1.setCart)([]));
78
- const payload = { cartGuestId, firstName, lastName };
79
- return payload;
80
- }
81
- catch (err) {
82
- return rejectWithValue(err);
83
- }
84
- }));
85
- exports.fetchGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.FetchGroupOrder, (id, { getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
86
- const { api } = getState().config;
87
- if (!api)
88
- return;
89
- try {
90
- const response = yield api.getCart(id);
91
- const { cartGuest } = getState().groupOrder;
92
- const cartGuestId = cartGuest ? cartGuest.cartGuestId : null;
93
- const payload = (0, exports.makeCartPayload)(response, cartGuestId);
94
- return payload;
95
- }
96
- catch (err) {
97
- return rejectWithValue(err);
98
- }
99
- }));
100
- exports.updateGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.UpdateGroupOrder, (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
101
- const { api } = getState().config;
102
- if (!api)
103
- return;
104
- const { cartId, cartGuest } = getState().groupOrder;
105
- const orderCart = getState().order.cart;
106
- if (!orderCart || !cartGuest)
107
- return;
108
- try {
109
- const data = {
110
- cart: (0, utils_1.makeSimpleCart)(orderCart),
111
- cart_guest_id: cartGuest.cartGuestId
112
- };
113
- const response = yield api.putCart(cartId, data);
114
- const payload = (0, exports.makeCartPayload)(response, cartGuest.cartGuestId);
115
- return payload;
116
- }
117
- catch (err) {
118
- yield dispatch((0, exports.fetchGroupOrder)(cartId));
119
- return rejectWithValue(err);
120
- }
121
- }));
122
- exports.reloadGuestOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.ReloadGuestOrder, (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
123
- const { api } = getState().config;
124
- if (!api)
125
- return;
126
- try {
127
- const { revenueCenterId, serviceType } = getState().groupOrder;
128
- const { cart: items } = getState().groupOrder;
129
- const menuItems = yield api.getMenuItems(revenueCenterId, serviceType);
130
- const { cart } = (0, utils_1.rehydrateCart)(menuItems, items);
131
- dispatch((0, order_1.setCart)(cart));
132
- return;
133
- }
134
- catch (err) {
135
- return rejectWithValue(err);
136
- }
137
- }));
138
- exports.addCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.AddCustomerGroupOrder, ({ spendingLimit, callback }, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
139
- try {
140
- const api = getState().config.api;
141
- const token = (0, customer_1.selectToken)(getState());
142
- if (!token)
143
- throw new Error(types_2.MISSING_CUSTOMER);
144
- const cartData = (0, customer_1.makeCartData)(getState().order, spendingLimit);
145
- const response = yield api.postCustomerGroupOrder(token, cartData);
146
- const customer = getState().customer.account.profile;
147
- const payload = Object.assign(Object.assign({}, (0, exports.makeCartPayload)(response)), { isCartOwner: true, cartOwner: customer });
148
- if (callback)
149
- callback();
150
- return payload;
151
- }
152
- catch (err) {
153
- const error = err;
154
- return (0, customer_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
155
- }
156
- }));
157
- const groupOrderSlice = (0, toolkit_1.createSlice)({
158
- name: types_1.ReducerType.GroupOrder,
159
- initialState,
160
- reducers: {
161
- resetGroupOrder: () => initialState,
162
- adjustGroupOrder: (state, action) => {
163
- return Object.assign(Object.assign({}, state), action.payload);
164
- }
165
- },
166
- extraReducers: builder => {
167
- builder
168
- .addCase(exports.joinGroupOrder.fulfilled, (state, action) => {
169
- state.loading = 'idle';
170
- state.error = null;
171
- state.cartGuest = action.payload;
172
- })
173
- .addCase(exports.joinGroupOrder.pending, state => {
174
- state.loading = 'pending';
175
- })
176
- .addCase(exports.joinGroupOrder.rejected, (state, action) => {
177
- state.loading = 'idle';
178
- state.error = action.payload;
179
- })
180
- .addCase(exports.fetchGroupOrder.fulfilled, (state, action) => {
181
- return Object.assign(Object.assign(Object.assign({}, state), { loading: 'idle', error: null }), action.payload);
182
- })
183
- .addCase(exports.fetchGroupOrder.pending, state => {
184
- state.loading = 'pending';
185
- })
186
- .addCase(exports.fetchGroupOrder.rejected, (state, action) => {
187
- state.loading = 'idle';
188
- state.error = action.payload;
189
- })
190
- .addCase(exports.updateGroupOrder.fulfilled, (state, action) => {
191
- return Object.assign(Object.assign(Object.assign({}, state), { loading: 'idle', error: null }), action.payload);
192
- })
193
- .addCase(exports.updateGroupOrder.pending, state => {
194
- state.loading = 'pending';
195
- })
196
- .addCase(exports.updateGroupOrder.rejected, (state, action) => {
197
- state.loading = 'idle';
198
- state.error = action.payload;
199
- })
200
- .addCase(exports.reloadGuestOrder.fulfilled, state => {
201
- state.loading = 'idle';
202
- })
203
- .addCase(exports.reloadGuestOrder.pending, state => {
204
- state.loading = 'pending';
205
- })
206
- .addCase(exports.reloadGuestOrder.rejected, (state, action) => {
207
- state.loading = 'idle';
208
- state.error = action.payload;
209
- })
210
- .addCase(exports.addCustomerGroupOrder.fulfilled, (state, action) => {
211
- return Object.assign(Object.assign(Object.assign({}, state), action.payload), { loading: 'idle', error: null });
212
- })
213
- .addCase(exports.addCustomerGroupOrder.pending, state => {
214
- state.loading = 'pending';
215
- })
216
- .addCase(exports.addCustomerGroupOrder.rejected, (state, action) => {
217
- state.error = action.payload;
218
- state.loading = 'idle';
219
- });
220
- }
221
- });
222
- _a = groupOrderSlice.actions, exports.resetGroupOrder = _a.resetGroupOrder, exports.adjustGroupOrder = _a.adjustGroupOrder;
223
- const selectGroupOrder = (state) => state.groupOrder;
224
- exports.selectGroupOrder = selectGroupOrder;
225
- const selectGroupOrderToken = (state) => state.groupOrder.token;
226
- exports.selectGroupOrderToken = selectGroupOrderToken;
227
- exports.selectSpendingLimit = (0, toolkit_1.createSelector)((state) => {
228
- const { cartGuest, spendingLimit } = state.groupOrder;
229
- return { cartGuest, spendingLimit };
230
- }, ({ cartGuest, spendingLimit }) => {
231
- return cartGuest && spendingLimit ? parseFloat(spendingLimit) : null;
232
- });
233
- exports.selectGroupOrderClosed = (0, toolkit_1.createSelector)((state) => {
234
- const { cartGuest, cutoffAt, closed } = state.groupOrder;
235
- const tz = (0, order_1.selectTimezone)(state);
236
- return { cartGuest, cutoffAt, closed, tz };
237
- }, ({ cartGuest, cutoffAt, closed, tz }) => {
238
- const cutoffDate = cutoffAt ? (0, utils_1.isoToDate)(cutoffAt, tz) : null;
239
- const pastCutoff = cutoffDate ? (0, utils_1.currentLocalDate)(tz) > cutoffDate : false;
240
- return cartGuest && (closed || pastCutoff);
241
- });
242
- exports.selectGroupOrderTests = (0, toolkit_1.createSelector)((state) => {
243
- const { closed, cutoffAt, guestLimit, guestCount } = state.groupOrder;
244
- const tz = (0, order_1.selectTimezone)(state);
245
- return { closed, cutoffAt, guestLimit, guestCount, tz };
246
- }, ({ closed, cutoffAt, guestLimit, guestCount, tz }) => {
247
- const cutoffDate = cutoffAt ? (0, utils_1.isoToDate)(cutoffAt, tz) : null;
248
- const pastCutoff = cutoffDate ? new Date() > cutoffDate : false;
249
- const spotsRemaining = guestLimit ? guestLimit - (guestCount !== null && guestCount !== void 0 ? guestCount : 0) : null;
250
- const atCapacity = spotsRemaining !== null && spotsRemaining <= 0;
251
- return { closed, pastCutoff, atCapacity };
252
- });
253
- exports.selectGroupOrderPrepTimes = (0, toolkit_1.createSelector)((state) => {
254
- const { revenueCenter, serviceType } = state.order;
255
- return { revenueCenter, serviceType };
256
- }, ({ revenueCenter, serviceType }) => {
257
- if (!revenueCenter || !serviceType)
258
- return {};
259
- const { wait_times, group_ordering } = revenueCenter;
260
- const { prep_time, lead_time: leadTime } = group_ordering || {};
261
- const st = serviceType === 'WALKIN' ? 'PICKUP' : serviceType;
262
- const waitTime = wait_times && wait_times[st] ? wait_times[st] : 0;
263
- const prepTime = (waitTime !== null && waitTime !== void 0 ? waitTime : 0) + (prep_time !== null && prep_time !== void 0 ? prep_time : 0);
264
- return { prepTime, leadTime };
265
- });
266
- exports.groupOrderReducer = groupOrderSlice.reducer;
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.groupOrderReducer = exports.selectGroupOrderPrepTimes = exports.selectGroupOrderTests = exports.selectGroupOrderClosed = exports.selectSpendingLimit = exports.selectGroupOrderToken = exports.selectGroupOrder = exports.adjustGroupOrder = exports.resetGroupOrder = exports.addCustomerGroupOrder = exports.reloadGuestOrder = exports.updateGroupOrder = exports.fetchGroupOrder = exports.joinGroupOrder = exports.makeCartPayload = exports.GroupOrderActionType = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const toolkit_1 = require("@reduxjs/toolkit");
7
+ const types_1 = require("./types");
8
+ const types_2 = require("@open-tender/types");
9
+ const utils_1 = require("@open-tender/utils");
10
+ const order_1 = require("./order");
11
+ const customer_1 = require("./customer");
12
+ const initialState = {
13
+ cart: [],
14
+ cartGuest: null,
15
+ cartGuests: [],
16
+ cartId: null,
17
+ cartOwner: null,
18
+ closed: false,
19
+ cutoffAt: null,
20
+ guestCount: null,
21
+ guestLimit: null,
22
+ isCartOwner: false,
23
+ requestedAt: null,
24
+ revenueCenterId: null,
25
+ serviceType: null,
26
+ spendingLimit: null,
27
+ token: null,
28
+ error: null,
29
+ loading: 'idle'
30
+ };
31
+ var GroupOrderActionType;
32
+ (function (GroupOrderActionType) {
33
+ GroupOrderActionType["JoinGroupOrder"] = "groupOrder/joinGroupOrder";
34
+ GroupOrderActionType["FetchGroupOrder"] = "groupOrder/fetchGroupOrder";
35
+ GroupOrderActionType["UpdateGroupOrder"] = "groupOrder/updateGroupOrder";
36
+ GroupOrderActionType["ReloadGuestOrder"] = "groupOrder/reloadGuestOrder";
37
+ GroupOrderActionType["AddCustomerGroupOrder"] = "customer/addCustomerGroupOrder";
38
+ })(GroupOrderActionType = exports.GroupOrderActionType || (exports.GroupOrderActionType = {}));
39
+ const makeCartPayload = (response, cartGuestId) => {
40
+ 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;
41
+ const filteredCart = cartGuestId
42
+ ? cart.filter(i => i.cart_guest_id === cartGuestId)
43
+ : cart;
44
+ return {
45
+ cartId,
46
+ token,
47
+ revenueCenterId,
48
+ serviceType,
49
+ requestedAt,
50
+ cutoffAt,
51
+ guestLimit,
52
+ guestCount,
53
+ spendingLimit,
54
+ closed,
55
+ cartOwner: customer,
56
+ cart: filteredCart,
57
+ cartGuests: cartGuests || []
58
+ };
59
+ };
60
+ exports.makeCartPayload = makeCartPayload;
61
+ exports.joinGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.JoinGroupOrder, (requestData, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
62
+ const { api } = getState().config;
63
+ if (!api)
64
+ return null;
65
+ try {
66
+ const data = {
67
+ cart_id: requestData.cart_id,
68
+ first_name: requestData.first_name,
69
+ last_name: requestData.last_name
70
+ };
71
+ const response = yield api.postCartGuest(data);
72
+ const { cart_guest_id: cartGuestId, first_name: firstName, last_name: lastName } = response;
73
+ const { revenueCenter } = getState().order;
74
+ dispatch((0, order_1.resetOrder)());
75
+ const { serviceType, requestedAt } = getState().groupOrder;
76
+ dispatch((0, order_1.setMenuVars)({ revenueCenter, serviceType, requestedAt }));
77
+ dispatch((0, order_1.setCart)([]));
78
+ const payload = { cartGuestId, firstName, lastName };
79
+ return payload;
80
+ }
81
+ catch (err) {
82
+ return rejectWithValue(err);
83
+ }
84
+ }));
85
+ exports.fetchGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.FetchGroupOrder, (id, { getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
86
+ const { api } = getState().config;
87
+ if (!api)
88
+ return;
89
+ try {
90
+ const response = yield api.getCart(id);
91
+ const { cartGuest } = getState().groupOrder;
92
+ const cartGuestId = cartGuest ? cartGuest.cartGuestId : null;
93
+ const payload = (0, exports.makeCartPayload)(response, cartGuestId);
94
+ return payload;
95
+ }
96
+ catch (err) {
97
+ return rejectWithValue(err);
98
+ }
99
+ }));
100
+ exports.updateGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.UpdateGroupOrder, (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
101
+ const { api } = getState().config;
102
+ if (!api)
103
+ return;
104
+ const { cartId, cartGuest } = getState().groupOrder;
105
+ const orderCart = getState().order.cart;
106
+ if (!orderCart || !cartGuest)
107
+ return;
108
+ try {
109
+ const data = {
110
+ cart: (0, utils_1.makeSimpleCart)(orderCart),
111
+ cart_guest_id: cartGuest.cartGuestId
112
+ };
113
+ const response = yield api.putCart(cartId, data);
114
+ const payload = (0, exports.makeCartPayload)(response, cartGuest.cartGuestId);
115
+ return payload;
116
+ }
117
+ catch (err) {
118
+ yield dispatch((0, exports.fetchGroupOrder)(cartId));
119
+ return rejectWithValue(err);
120
+ }
121
+ }));
122
+ exports.reloadGuestOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.ReloadGuestOrder, (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
123
+ const { api } = getState().config;
124
+ if (!api)
125
+ return;
126
+ try {
127
+ const { revenueCenterId, serviceType } = getState().groupOrder;
128
+ const { cart: items } = getState().groupOrder;
129
+ const menuItems = yield api.getMenuItems(revenueCenterId, serviceType);
130
+ const { cart } = (0, utils_1.rehydrateCart)(menuItems, items);
131
+ dispatch((0, order_1.setCart)(cart));
132
+ return;
133
+ }
134
+ catch (err) {
135
+ return rejectWithValue(err);
136
+ }
137
+ }));
138
+ exports.addCustomerGroupOrder = (0, toolkit_1.createAsyncThunk)(GroupOrderActionType.AddCustomerGroupOrder, ({ spendingLimit, callback }, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
139
+ try {
140
+ const api = getState().config.api;
141
+ const token = (0, customer_1.selectToken)(getState());
142
+ if (!token)
143
+ throw new Error(types_2.MISSING_CUSTOMER);
144
+ const cartData = (0, customer_1.makeCartData)(getState().order, spendingLimit);
145
+ const response = yield api.postCustomerGroupOrder(token, cartData);
146
+ const customer = getState().customer.account.profile;
147
+ const payload = Object.assign(Object.assign({}, (0, exports.makeCartPayload)(response)), { isCartOwner: true, cartOwner: customer });
148
+ if (callback)
149
+ callback();
150
+ return payload;
151
+ }
152
+ catch (err) {
153
+ const error = err;
154
+ return (0, customer_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
155
+ }
156
+ }));
157
+ const groupOrderSlice = (0, toolkit_1.createSlice)({
158
+ name: types_1.ReducerType.GroupOrder,
159
+ initialState,
160
+ reducers: {
161
+ resetGroupOrder: () => initialState,
162
+ adjustGroupOrder: (state, action) => {
163
+ return Object.assign(Object.assign({}, state), action.payload);
164
+ }
165
+ },
166
+ extraReducers: builder => {
167
+ builder
168
+ .addCase(exports.joinGroupOrder.fulfilled, (state, action) => {
169
+ state.loading = 'idle';
170
+ state.error = null;
171
+ state.cartGuest = action.payload;
172
+ })
173
+ .addCase(exports.joinGroupOrder.pending, state => {
174
+ state.loading = 'pending';
175
+ })
176
+ .addCase(exports.joinGroupOrder.rejected, (state, action) => {
177
+ state.loading = 'idle';
178
+ state.error = action.payload;
179
+ })
180
+ .addCase(exports.fetchGroupOrder.fulfilled, (state, action) => {
181
+ return Object.assign(Object.assign(Object.assign({}, state), { loading: 'idle', error: null }), action.payload);
182
+ })
183
+ .addCase(exports.fetchGroupOrder.pending, state => {
184
+ state.loading = 'pending';
185
+ })
186
+ .addCase(exports.fetchGroupOrder.rejected, (state, action) => {
187
+ state.loading = 'idle';
188
+ state.error = action.payload;
189
+ })
190
+ .addCase(exports.updateGroupOrder.fulfilled, (state, action) => {
191
+ return Object.assign(Object.assign(Object.assign({}, state), { loading: 'idle', error: null }), action.payload);
192
+ })
193
+ .addCase(exports.updateGroupOrder.pending, state => {
194
+ state.loading = 'pending';
195
+ })
196
+ .addCase(exports.updateGroupOrder.rejected, (state, action) => {
197
+ state.loading = 'idle';
198
+ state.error = action.payload;
199
+ })
200
+ .addCase(exports.reloadGuestOrder.fulfilled, state => {
201
+ state.loading = 'idle';
202
+ })
203
+ .addCase(exports.reloadGuestOrder.pending, state => {
204
+ state.loading = 'pending';
205
+ })
206
+ .addCase(exports.reloadGuestOrder.rejected, (state, action) => {
207
+ state.loading = 'idle';
208
+ state.error = action.payload;
209
+ })
210
+ .addCase(exports.addCustomerGroupOrder.fulfilled, (state, action) => {
211
+ return Object.assign(Object.assign(Object.assign({}, state), action.payload), { loading: 'idle', error: null });
212
+ })
213
+ .addCase(exports.addCustomerGroupOrder.pending, state => {
214
+ state.loading = 'pending';
215
+ })
216
+ .addCase(exports.addCustomerGroupOrder.rejected, (state, action) => {
217
+ state.error = action.payload;
218
+ state.loading = 'idle';
219
+ });
220
+ }
221
+ });
222
+ _a = groupOrderSlice.actions, exports.resetGroupOrder = _a.resetGroupOrder, exports.adjustGroupOrder = _a.adjustGroupOrder;
223
+ const selectGroupOrder = (state) => state.groupOrder;
224
+ exports.selectGroupOrder = selectGroupOrder;
225
+ const selectGroupOrderToken = (state) => state.groupOrder.token;
226
+ exports.selectGroupOrderToken = selectGroupOrderToken;
227
+ exports.selectSpendingLimit = (0, toolkit_1.createSelector)((state) => {
228
+ const { cartGuest, spendingLimit } = state.groupOrder;
229
+ return { cartGuest, spendingLimit };
230
+ }, ({ cartGuest, spendingLimit }) => {
231
+ return cartGuest && spendingLimit ? parseFloat(spendingLimit) : null;
232
+ });
233
+ exports.selectGroupOrderClosed = (0, toolkit_1.createSelector)((state) => {
234
+ const { cartGuest, cutoffAt, closed } = state.groupOrder;
235
+ const tz = (0, order_1.selectTimezone)(state);
236
+ return { cartGuest, cutoffAt, closed, tz };
237
+ }, ({ cartGuest, cutoffAt, closed, tz }) => {
238
+ const cutoffDate = cutoffAt ? (0, utils_1.isoToDate)(cutoffAt, tz) : null;
239
+ const pastCutoff = cutoffDate ? (0, utils_1.currentLocalDate)(tz) > cutoffDate : false;
240
+ return cartGuest && (closed || pastCutoff);
241
+ });
242
+ exports.selectGroupOrderTests = (0, toolkit_1.createSelector)((state) => {
243
+ const { closed, cutoffAt, guestLimit, guestCount } = state.groupOrder;
244
+ const tz = (0, order_1.selectTimezone)(state);
245
+ return { closed, cutoffAt, guestLimit, guestCount, tz };
246
+ }, ({ closed, cutoffAt, guestLimit, guestCount, tz }) => {
247
+ const cutoffDate = cutoffAt ? (0, utils_1.isoToDate)(cutoffAt, tz) : null;
248
+ const pastCutoff = cutoffDate ? new Date() > cutoffDate : false;
249
+ const spotsRemaining = guestLimit ? guestLimit - (guestCount !== null && guestCount !== void 0 ? guestCount : 0) : null;
250
+ const atCapacity = spotsRemaining !== null && spotsRemaining <= 0;
251
+ return { closed, pastCutoff, atCapacity };
252
+ });
253
+ exports.selectGroupOrderPrepTimes = (0, toolkit_1.createSelector)((state) => {
254
+ const { revenueCenter, serviceType } = state.order;
255
+ return { revenueCenter, serviceType };
256
+ }, ({ revenueCenter, serviceType }) => {
257
+ if (!revenueCenter || !serviceType)
258
+ return {};
259
+ const { wait_times, group_ordering } = revenueCenter;
260
+ const { prep_time, lead_time: leadTime } = group_ordering || {};
261
+ const st = serviceType === 'WALKIN' ? 'PICKUP' : serviceType;
262
+ const waitTime = wait_times && wait_times[st] ? wait_times[st] : 0;
263
+ const prepTime = (waitTime !== null && waitTime !== void 0 ? waitTime : 0) + (prep_time !== null && prep_time !== void 0 ? prep_time : 0);
264
+ return { prepTime, leadTime };
265
+ });
266
+ exports.groupOrderReducer = groupOrderSlice.reducer;
@@ -1,51 +1,51 @@
1
- import { AppState } from '../app';
2
- import { Brands, RequestError, RequestStatus } from '@open-tender/types';
3
- export interface GuestState {
4
- brands: Brands | null;
5
- email: string | null;
6
- error: RequestError;
7
- loading: RequestStatus;
8
- showMagicLink: boolean;
9
- }
10
- export declare enum GuestActionType {
11
- FetchGuest = "guest/fetchGuest",
12
- FetchGuestThanx = "guest/fetchGuestThanx"
13
- }
14
- export declare const fetchGuest: import("@reduxjs/toolkit").AsyncThunk<Partial<GuestState>, {
15
- email: string;
16
- callback?: (() => void) | undefined;
17
- }, {
18
- state: AppState;
19
- rejectValue: {
20
- error: RequestError;
21
- email: string;
22
- };
23
- dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
24
- extra?: unknown;
25
- serializedErrorType?: unknown;
26
- pendingMeta?: unknown;
27
- fulfilledMeta?: unknown;
28
- rejectedMeta?: unknown;
29
- }>;
30
- export declare const fetchGuestThanx: import("@reduxjs/toolkit").AsyncThunk<void | {
31
- email: string;
32
- }, {
33
- email: string;
34
- callback?: (() => void) | null | undefined;
35
- origin?: string | undefined;
36
- }, {
37
- state: AppState;
38
- rejectValue: {
39
- error: RequestError;
40
- email: string;
41
- };
42
- dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
43
- extra?: unknown;
44
- serializedErrorType?: unknown;
45
- pendingMeta?: unknown;
46
- fulfilledMeta?: unknown;
47
- rejectedMeta?: unknown;
48
- }>;
49
- export declare const resetGuest: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"guest/resetGuest">, resetGuestErrors: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"guest/resetGuestErrors">, setGuestEmail: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "guest/setGuestEmail">;
50
- export declare const selectGuest: (state: AppState) => GuestState;
51
- export declare const guestReducer: import("redux").Reducer<GuestState, import("redux").AnyAction>;
1
+ import { AppState } from '../app';
2
+ import { Brands, RequestError, RequestStatus } from '@open-tender/types';
3
+ export interface GuestState {
4
+ brands: Brands | null;
5
+ email: string | null;
6
+ error: RequestError;
7
+ loading: RequestStatus;
8
+ showMagicLink: boolean;
9
+ }
10
+ export declare enum GuestActionType {
11
+ FetchGuest = "guest/fetchGuest",
12
+ FetchGuestThanx = "guest/fetchGuestThanx"
13
+ }
14
+ export declare const fetchGuest: import("@reduxjs/toolkit").AsyncThunk<Partial<GuestState>, {
15
+ email: string;
16
+ callback?: (() => void) | undefined;
17
+ }, {
18
+ state: AppState;
19
+ rejectValue: {
20
+ error: RequestError;
21
+ email: string;
22
+ };
23
+ dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
24
+ extra?: unknown;
25
+ serializedErrorType?: unknown;
26
+ pendingMeta?: unknown;
27
+ fulfilledMeta?: unknown;
28
+ rejectedMeta?: unknown;
29
+ }>;
30
+ export declare const fetchGuestThanx: import("@reduxjs/toolkit").AsyncThunk<void | {
31
+ email: string;
32
+ }, {
33
+ email: string;
34
+ callback?: (() => void) | null | undefined;
35
+ origin?: string | undefined;
36
+ }, {
37
+ state: AppState;
38
+ rejectValue: {
39
+ error: RequestError;
40
+ email: string;
41
+ };
42
+ dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
43
+ extra?: unknown;
44
+ serializedErrorType?: unknown;
45
+ pendingMeta?: unknown;
46
+ fulfilledMeta?: unknown;
47
+ rejectedMeta?: unknown;
48
+ }>;
49
+ export declare const resetGuest: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"guest/resetGuest">, resetGuestErrors: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"guest/resetGuestErrors">, setGuestEmail: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "guest/setGuestEmail">;
50
+ export declare const selectGuest: (state: AppState) => GuestState;
51
+ export declare const guestReducer: import("redux").Reducer<GuestState, import("redux").AnyAction>;