@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,110 +1,110 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.customerLoyaltyReducer = exports.selectPointsProgram = exports.selectCustomerPoints = exports.selectCustomerPointsProgram = exports.selectHasPointsShop = exports.selectCustomerLoyaltyProgram = exports.selectCustomerLoyalty = exports.setCustomerLoyalty = exports.resetCustomerLoyaltyError = exports.resetCustomerLoyalty = exports.fetchCustomerLoyalty = exports.CustomerLoyaltyActionType = 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 account_1 = require("./account");
10
- const initialState = {
11
- entities: [],
12
- error: null,
13
- loading: 'idle',
14
- lookup: {}
15
- };
16
- var CustomerLoyaltyActionType;
17
- (function (CustomerLoyaltyActionType) {
18
- CustomerLoyaltyActionType["FetchCustomerLoyalty"] = "customer/fetchCustomerLoyalty";
19
- })(CustomerLoyaltyActionType = exports.CustomerLoyaltyActionType || (exports.CustomerLoyaltyActionType = {}));
20
- exports.fetchCustomerLoyalty = (0, toolkit_1.createAsyncThunk)(CustomerLoyaltyActionType.FetchCustomerLoyalty, (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
21
- try {
22
- const api = getState().config.api;
23
- const token = (0, account_1.selectToken)(getState());
24
- if (!token)
25
- throw new Error(types_2.MISSING_CUSTOMER);
26
- return yield api.getCustomerLoyaltyV2(token);
27
- }
28
- catch (err) {
29
- const error = err;
30
- return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
31
- }
32
- }));
33
- const customerLoyaltySlice = (0, toolkit_1.createSlice)({
34
- name: types_1.ReducerType.Loyalty,
35
- initialState,
36
- reducers: {
37
- resetCustomerLoyalty: () => initialState,
38
- resetCustomerLoyaltyError: state => {
39
- state.error = null;
40
- state.loading = 'idle';
41
- },
42
- setCustomerLoyalty: (state, action) => {
43
- var _a;
44
- state.entities = (_a = action.payload) !== null && _a !== void 0 ? _a : [];
45
- state.error = null;
46
- }
47
- },
48
- extraReducers: builder => {
49
- builder
50
- .addCase(exports.fetchCustomerLoyalty.fulfilled, (state, action) => {
51
- var _a;
52
- state.entities = (_a = action.payload) !== null && _a !== void 0 ? _a : [];
53
- state.loading = 'idle';
54
- state.error = null;
55
- })
56
- .addCase(exports.fetchCustomerLoyalty.pending, state => {
57
- state.loading = 'pending';
58
- })
59
- .addCase(exports.fetchCustomerLoyalty.rejected, (state, action) => {
60
- state.error = action.payload;
61
- state.loading = 'idle';
62
- });
63
- }
64
- });
65
- _a = customerLoyaltySlice.actions, exports.resetCustomerLoyalty = _a.resetCustomerLoyalty, exports.resetCustomerLoyaltyError = _a.resetCustomerLoyaltyError, exports.setCustomerLoyalty = _a.setCustomerLoyalty;
66
- const selectCustomerLoyalty = (state) => state.customer.loyalty;
67
- exports.selectCustomerLoyalty = selectCustomerLoyalty;
68
- exports.selectCustomerLoyaltyProgram = (0, toolkit_1.createSelector)((state) => {
69
- const { entities, loading, error } = state.customer.loyalty;
70
- return { entities, loading, error };
71
- }, ({ entities, loading, error }) => {
72
- const programs = entities.filter(i => i.earn_order_type === null || i.earn_order_type === 'OLO');
73
- const program = programs.length ? programs[0] : null;
74
- return { program, loading, error };
75
- });
76
- exports.selectHasPointsShop = (0, toolkit_1.createSelector)((state) => {
77
- const { entities } = state.customer.loyalty;
78
- return { entities };
79
- }, ({ entities }) => {
80
- return !!entities.find(i => i.is_points_shop_enabled);
81
- });
82
- const selectCustomerPointsProgram = (orderType) => (0, toolkit_1.createSelector)((state) => {
83
- const { loyalty } = state.customer;
84
- const { entities: loyaltyPrograms } = loyalty;
85
- return { loyaltyPrograms };
86
- }, ({ loyaltyPrograms }) => {
87
- if (!loyaltyPrograms)
88
- return null;
89
- const programs = loyaltyPrograms.filter(i => {
90
- var _a;
91
- return ((_a = i.perk) === null || _a === void 0 ? void 0 : _a.loyalty_perk) === 'BANKABLE_POINTS' &&
92
- (i.earn_order_type === null || i.earn_order_type === orderType);
93
- });
94
- return programs.length ? programs[0] : null;
95
- });
96
- exports.selectCustomerPointsProgram = selectCustomerPointsProgram;
97
- const selectCustomerPoints = (orderType) => (state) => {
98
- const program = (0, exports.selectCustomerPointsProgram)(orderType)(state);
99
- if (!program || !program.perk)
100
- return null;
101
- const { spend_name, perk } = program;
102
- return { name: spend_name, points: perk.credit };
103
- };
104
- exports.selectCustomerPoints = selectCustomerPoints;
105
- const selectPointsProgram = (state) => {
106
- const { orderType } = state.order;
107
- return orderType ? (0, exports.selectCustomerPointsProgram)(orderType)(state) : null;
108
- };
109
- exports.selectPointsProgram = selectPointsProgram;
110
- exports.customerLoyaltyReducer = customerLoyaltySlice.reducer;
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.customerLoyaltyReducer = exports.selectPointsProgram = exports.selectCustomerPoints = exports.selectCustomerPointsProgram = exports.selectHasPointsShop = exports.selectCustomerLoyaltyProgram = exports.selectCustomerLoyalty = exports.setCustomerLoyalty = exports.resetCustomerLoyaltyError = exports.resetCustomerLoyalty = exports.fetchCustomerLoyalty = exports.CustomerLoyaltyActionType = 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 account_1 = require("./account");
10
+ const initialState = {
11
+ entities: [],
12
+ error: null,
13
+ loading: 'idle',
14
+ lookup: {}
15
+ };
16
+ var CustomerLoyaltyActionType;
17
+ (function (CustomerLoyaltyActionType) {
18
+ CustomerLoyaltyActionType["FetchCustomerLoyalty"] = "customer/fetchCustomerLoyalty";
19
+ })(CustomerLoyaltyActionType = exports.CustomerLoyaltyActionType || (exports.CustomerLoyaltyActionType = {}));
20
+ exports.fetchCustomerLoyalty = (0, toolkit_1.createAsyncThunk)(CustomerLoyaltyActionType.FetchCustomerLoyalty, (_, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
21
+ try {
22
+ const api = getState().config.api;
23
+ const token = (0, account_1.selectToken)(getState());
24
+ if (!token)
25
+ throw new Error(types_2.MISSING_CUSTOMER);
26
+ return yield api.getCustomerLoyaltyV2(token);
27
+ }
28
+ catch (err) {
29
+ const error = err;
30
+ return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
31
+ }
32
+ }));
33
+ const customerLoyaltySlice = (0, toolkit_1.createSlice)({
34
+ name: types_1.ReducerType.Loyalty,
35
+ initialState,
36
+ reducers: {
37
+ resetCustomerLoyalty: () => initialState,
38
+ resetCustomerLoyaltyError: state => {
39
+ state.error = null;
40
+ state.loading = 'idle';
41
+ },
42
+ setCustomerLoyalty: (state, action) => {
43
+ var _a;
44
+ state.entities = (_a = action.payload) !== null && _a !== void 0 ? _a : [];
45
+ state.error = null;
46
+ }
47
+ },
48
+ extraReducers: builder => {
49
+ builder
50
+ .addCase(exports.fetchCustomerLoyalty.fulfilled, (state, action) => {
51
+ var _a;
52
+ state.entities = (_a = action.payload) !== null && _a !== void 0 ? _a : [];
53
+ state.loading = 'idle';
54
+ state.error = null;
55
+ })
56
+ .addCase(exports.fetchCustomerLoyalty.pending, state => {
57
+ state.loading = 'pending';
58
+ })
59
+ .addCase(exports.fetchCustomerLoyalty.rejected, (state, action) => {
60
+ state.error = action.payload;
61
+ state.loading = 'idle';
62
+ });
63
+ }
64
+ });
65
+ _a = customerLoyaltySlice.actions, exports.resetCustomerLoyalty = _a.resetCustomerLoyalty, exports.resetCustomerLoyaltyError = _a.resetCustomerLoyaltyError, exports.setCustomerLoyalty = _a.setCustomerLoyalty;
66
+ const selectCustomerLoyalty = (state) => state.customer.loyalty;
67
+ exports.selectCustomerLoyalty = selectCustomerLoyalty;
68
+ exports.selectCustomerLoyaltyProgram = (0, toolkit_1.createSelector)((state) => {
69
+ const { entities, loading, error } = state.customer.loyalty;
70
+ return { entities, loading, error };
71
+ }, ({ entities, loading, error }) => {
72
+ const programs = entities.filter(i => i.earn_order_type === null || i.earn_order_type === 'OLO');
73
+ const program = programs.length ? programs[0] : null;
74
+ return { program, loading, error };
75
+ });
76
+ exports.selectHasPointsShop = (0, toolkit_1.createSelector)((state) => {
77
+ const { entities } = state.customer.loyalty;
78
+ return { entities };
79
+ }, ({ entities }) => {
80
+ return !!entities.find(i => i.is_points_shop_enabled);
81
+ });
82
+ const selectCustomerPointsProgram = (orderType) => (0, toolkit_1.createSelector)((state) => {
83
+ const { loyalty } = state.customer;
84
+ const { entities: loyaltyPrograms } = loyalty;
85
+ return { loyaltyPrograms };
86
+ }, ({ loyaltyPrograms }) => {
87
+ if (!loyaltyPrograms)
88
+ return null;
89
+ const programs = loyaltyPrograms.filter(i => {
90
+ var _a;
91
+ return ((_a = i.perk) === null || _a === void 0 ? void 0 : _a.loyalty_perk) === 'BANKABLE_POINTS' &&
92
+ (i.earn_order_type === null || i.earn_order_type === orderType);
93
+ });
94
+ return programs.length ? programs[0] : null;
95
+ });
96
+ exports.selectCustomerPointsProgram = selectCustomerPointsProgram;
97
+ const selectCustomerPoints = (orderType) => (state) => {
98
+ const program = (0, exports.selectCustomerPointsProgram)(orderType)(state);
99
+ if (!program || !program.perk)
100
+ return null;
101
+ const { spend_name, perk } = program;
102
+ return { name: spend_name, points: perk.credit };
103
+ };
104
+ exports.selectCustomerPoints = selectCustomerPoints;
105
+ const selectPointsProgram = (state) => {
106
+ const { orderType } = state.order;
107
+ return orderType ? (0, exports.selectCustomerPointsProgram)(orderType)(state) : null;
108
+ };
109
+ exports.selectPointsProgram = selectPointsProgram;
110
+ exports.customerLoyaltyReducer = customerLoyaltySlice.reducer;
@@ -1,116 +1,116 @@
1
- import { AppState } from '../../app';
2
- import { Order, OrderRating, RequestError, RequestStatus } from '@open-tender/types';
3
- export interface CustomerOrderState {
4
- entity: Order | null;
5
- error: RequestError;
6
- loading: RequestStatus;
7
- }
8
- export declare enum CustomerOrderActionType {
9
- FetchCustomerOrder = "customer/fetchCustomerOrder",
10
- UpdateCustomerOrderRating = "customer/updateCustomerOrderRating"
11
- }
12
- export declare const fetchCustomerOrder: import("@reduxjs/toolkit").AsyncThunk<Order, number, {
13
- state: AppState;
14
- rejectValue: RequestError;
15
- dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
16
- extra?: unknown;
17
- serializedErrorType?: unknown;
18
- pendingMeta?: unknown;
19
- fulfilledMeta?: unknown;
20
- rejectedMeta?: unknown;
21
- }>;
22
- export declare const updateCustomerOrderRating: import("@reduxjs/toolkit").AsyncThunk<void, {
23
- orderId: number;
24
- data: OrderRating;
25
- }, {
26
- state: AppState;
27
- rejectValue: RequestError;
28
- dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
29
- extra?: unknown;
30
- serializedErrorType?: unknown;
31
- pendingMeta?: unknown;
32
- fulfilledMeta?: unknown;
33
- rejectedMeta?: unknown;
34
- }>;
35
- export declare const resetCustomerOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetCustomerOrder">, resetCustomerOrderError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetCustomerOrderError">, setCustomerOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCustomerOrder">;
36
- export declare const selectCustomerOrder: ((state: import("redux").EmptyObject & {
37
- alerts: import("@open-tender/types").Alerts;
38
- allergens: import("..").AllergensState;
39
- announcements: import("..").AnnouncementsState;
40
- checkout: import("..").CheckoutState;
41
- completedOrders: import("..").CompletedOrdersState;
42
- config: import("..").ConfigState;
43
- confirmation: import("..").ConfirmationState;
44
- customer: import("redux").CombinedState<{
45
- account: import("./account").AccountState;
46
- communicationPreferences: import("./communicationPreferences").CustomerCommunicationPrefsState;
47
- creditCards: import("./creditCards").CustomerCreditCardsState;
48
- allergens: import("./allergens").CustomerAllergensState;
49
- addresses: import("./addresses").CustomerAddressesState;
50
- favorites: import("./favorites").CustomerFavoritesState;
51
- fcmToken: import("./fcmToken").CustomerFcmTokenState;
52
- giftCards: import("./giftCards").CustomerGiftCardsState;
53
- groupOrders: import("./groupOrders").CustomerGroupOrdersState;
54
- history: import("./history").CustomerHistoryState;
55
- houseAccounts: import("./houseAccounts").CustomerHouseAccountsState;
56
- loyalty: import("./loyalty").CustomerLoyaltyState;
57
- order: CustomerOrderState;
58
- orders: import("./orders").CustomerOrdersState;
59
- pointsShop: import("./pointsShop").PointsShopState;
60
- tplsPointsShop: import("./tplsPointsShop").TplsPointsShopState;
61
- qrcode: import("./qrCode").CustomerQRCodeState;
62
- rewards: import("./rewards").CustomerRewardsState;
63
- thanx: import("./thanx").CustomerThanxState;
64
- tpls: import("./tpls").CustomerTplsState;
65
- }>;
66
- deals: import("..").DealsState;
67
- donations: import("..").DonationState;
68
- geolocation: import("..").GeoLocationState;
69
- giftCards: import("..").GiftCardsState;
70
- groupOrder: import("..").GroupOrderState;
71
- guest: import("..").GuestState;
72
- loader: import("..").LoaderState;
73
- menu: import("..").MenuState;
74
- menuDisplay: import("..").MenuDisplayState;
75
- menuItems: import("..").MenuItemsState;
76
- modal: import("@open-tender/types").Modal;
77
- misc: import("..").MiscState;
78
- nav: import("..").NavState;
79
- navSite: import("..").NavSiteState;
80
- notifications: import("@open-tender/types").Notifications;
81
- oneTimePasscode: import("..").OneTimePasscodeState;
82
- order: import("..").OrderState;
83
- orderFulfillment: import("..").OrderFulfillmentState;
84
- orderRating: import("..").OrderRatingState;
85
- posts: import("..").PostsSlice;
86
- pushNotifications: import("..").PushNotificationsState;
87
- qr: import("..").QrState;
88
- quote: import("..").QuoteState;
89
- resetPassword: import("..").ResetPasswordState;
90
- revenueCenters: import("..").RevenueCentersState;
91
- sidebar: import("..").SidebarState;
92
- sidebarModal: import("..").SidebarModalState;
93
- signUp: import("..").SignUpState;
94
- tags: import("..").TagsState;
95
- terms: import("..").TermsSlice;
96
- Unsubscribe: import("..").UnsubscribeState;
97
- validTimes: import("..").ValidTimesState;
98
- verifyAccount: import("..").VerifyAccountState;
99
- }) => {
100
- order: Order | null;
101
- loading: RequestStatus;
102
- error: RequestError;
103
- }) & import("reselect").OutputSelectorFields<(args_0: {
104
- order: Order | null;
105
- loading: RequestStatus;
106
- error: RequestError;
107
- }) => {
108
- order: Order | null;
109
- loading: RequestStatus;
110
- error: RequestError;
111
- }, {
112
- clearCache: () => void;
113
- }> & {
114
- clearCache: () => void;
115
- };
116
- export declare const customerOrderReducer: import("redux").Reducer<CustomerOrderState, import("redux").AnyAction>;
1
+ import { AppState } from '../../app';
2
+ import { Order, OrderRating, RequestError, RequestStatus } from '@open-tender/types';
3
+ export interface CustomerOrderState {
4
+ entity: Order | null;
5
+ error: RequestError;
6
+ loading: RequestStatus;
7
+ }
8
+ export declare enum CustomerOrderActionType {
9
+ FetchCustomerOrder = "customer/fetchCustomerOrder",
10
+ UpdateCustomerOrderRating = "customer/updateCustomerOrderRating"
11
+ }
12
+ export declare const fetchCustomerOrder: import("@reduxjs/toolkit").AsyncThunk<Order, number, {
13
+ state: AppState;
14
+ rejectValue: RequestError;
15
+ dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
16
+ extra?: unknown;
17
+ serializedErrorType?: unknown;
18
+ pendingMeta?: unknown;
19
+ fulfilledMeta?: unknown;
20
+ rejectedMeta?: unknown;
21
+ }>;
22
+ export declare const updateCustomerOrderRating: import("@reduxjs/toolkit").AsyncThunk<void, {
23
+ orderId: number;
24
+ data: OrderRating;
25
+ }, {
26
+ state: AppState;
27
+ rejectValue: RequestError;
28
+ dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
29
+ extra?: unknown;
30
+ serializedErrorType?: unknown;
31
+ pendingMeta?: unknown;
32
+ fulfilledMeta?: unknown;
33
+ rejectedMeta?: unknown;
34
+ }>;
35
+ export declare const resetCustomerOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetCustomerOrder">, resetCustomerOrderError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetCustomerOrderError">, setCustomerOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCustomerOrder">;
36
+ export declare const selectCustomerOrder: ((state: import("redux").EmptyObject & {
37
+ alerts: import("@open-tender/types").Alerts;
38
+ allergens: import("..").AllergensState;
39
+ announcements: import("..").AnnouncementsState;
40
+ checkout: import("..").CheckoutState;
41
+ completedOrders: import("..").CompletedOrdersState;
42
+ config: import("..").ConfigState;
43
+ confirmation: import("..").ConfirmationState;
44
+ customer: import("redux").CombinedState<{
45
+ account: import("./account").AccountState;
46
+ communicationPreferences: import("./communicationPreferences").CustomerCommunicationPrefsState;
47
+ creditCards: import("./creditCards").CustomerCreditCardsState;
48
+ allergens: import("./allergens").CustomerAllergensState;
49
+ addresses: import("./addresses").CustomerAddressesState;
50
+ favorites: import("./favorites").CustomerFavoritesState;
51
+ fcmToken: import("./fcmToken").CustomerFcmTokenState;
52
+ giftCards: import("./giftCards").CustomerGiftCardsState;
53
+ groupOrders: import("./groupOrders").CustomerGroupOrdersState;
54
+ history: import("./history").CustomerHistoryState;
55
+ houseAccounts: import("./houseAccounts").CustomerHouseAccountsState;
56
+ loyalty: import("./loyalty").CustomerLoyaltyState;
57
+ order: CustomerOrderState;
58
+ orders: import("./orders").CustomerOrdersState;
59
+ pointsShop: import("./pointsShop").PointsShopState;
60
+ tplsPointsShop: import("./tplsPointsShop").TplsPointsShopState;
61
+ qrcode: import("./qrCode").CustomerQRCodeState;
62
+ rewards: import("./rewards").CustomerRewardsState;
63
+ thanx: import("./thanx").CustomerThanxState;
64
+ tpls: import("./tpls").CustomerTplsState;
65
+ }>;
66
+ deals: import("..").DealsState;
67
+ donations: import("..").DonationState;
68
+ geolocation: import("..").GeoLocationState;
69
+ giftCards: import("..").GiftCardsState;
70
+ groupOrder: import("..").GroupOrderState;
71
+ guest: import("..").GuestState;
72
+ loader: import("..").LoaderState;
73
+ menu: import("..").MenuState;
74
+ menuDisplay: import("..").MenuDisplayState;
75
+ menuItems: import("..").MenuItemsState;
76
+ modal: import("@open-tender/types").Modal;
77
+ misc: import("..").MiscState;
78
+ nav: import("..").NavState;
79
+ navSite: import("..").NavSiteState;
80
+ notifications: import("@open-tender/types").Notifications;
81
+ oneTimePasscode: import("..").OneTimePasscodeState;
82
+ order: import("..").OrderState;
83
+ orderFulfillment: import("..").OrderFulfillmentState;
84
+ orderRating: import("..").OrderRatingState;
85
+ posts: import("..").PostsSlice;
86
+ pushNotifications: import("..").PushNotificationsState;
87
+ qr: import("..").QrState;
88
+ quote: import("..").QuoteState;
89
+ resetPassword: import("..").ResetPasswordState;
90
+ revenueCenters: import("..").RevenueCentersState;
91
+ sidebar: import("..").SidebarState;
92
+ sidebarModal: import("..").SidebarModalState;
93
+ signUp: import("..").SignUpState;
94
+ tags: import("..").TagsState;
95
+ terms: import("..").TermsSlice;
96
+ Unsubscribe: import("..").UnsubscribeState;
97
+ validTimes: import("..").ValidTimesState;
98
+ verifyAccount: import("..").VerifyAccountState;
99
+ }) => {
100
+ order: Order | null;
101
+ loading: RequestStatus;
102
+ error: RequestError;
103
+ }) & import("reselect").OutputSelectorFields<(args_0: {
104
+ order: Order | null;
105
+ loading: RequestStatus;
106
+ error: RequestError;
107
+ }) => {
108
+ order: Order | null;
109
+ loading: RequestStatus;
110
+ error: RequestError;
111
+ }, {
112
+ clearCache: () => void;
113
+ }> & {
114
+ clearCache: () => void;
115
+ };
116
+ export declare const customerOrderReducer: import("redux").Reducer<CustomerOrderState, import("redux").AnyAction>;
@@ -1,98 +1,98 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.customerOrderReducer = exports.selectCustomerOrder = exports.setCustomerOrder = exports.resetCustomerOrderError = exports.resetCustomerOrder = exports.updateCustomerOrderRating = exports.fetchCustomerOrder = exports.CustomerOrderActionType = 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 account_1 = require("./account");
10
- const notifications_1 = require("../notifications");
11
- const initialState = {
12
- entity: null,
13
- error: null,
14
- loading: 'idle'
15
- };
16
- var CustomerOrderActionType;
17
- (function (CustomerOrderActionType) {
18
- CustomerOrderActionType["FetchCustomerOrder"] = "customer/fetchCustomerOrder";
19
- CustomerOrderActionType["UpdateCustomerOrderRating"] = "customer/updateCustomerOrderRating";
20
- })(CustomerOrderActionType = exports.CustomerOrderActionType || (exports.CustomerOrderActionType = {}));
21
- exports.fetchCustomerOrder = (0, toolkit_1.createAsyncThunk)(CustomerOrderActionType.FetchCustomerOrder, (orderId, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
22
- try {
23
- const api = getState().config.api;
24
- const token = (0, account_1.selectToken)(getState());
25
- if (!token)
26
- throw new Error(types_2.MISSING_CUSTOMER);
27
- const order = yield api.getCustomerOrder(token, orderId);
28
- return order;
29
- }
30
- catch (err) {
31
- const error = err;
32
- return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
33
- }
34
- }));
35
- exports.updateCustomerOrderRating = (0, toolkit_1.createAsyncThunk)(CustomerOrderActionType.UpdateCustomerOrderRating, ({ orderId, data }, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
36
- try {
37
- const api = getState().config.api;
38
- const token = (0, account_1.selectToken)(getState());
39
- if (!token)
40
- throw new Error(types_2.MISSING_CUSTOMER);
41
- yield api.putCustomerOrderRating(token, orderId, data);
42
- dispatch((0, exports.fetchCustomerOrder)(orderId));
43
- dispatch((0, notifications_1.showNotification)('Rating updated!'));
44
- }
45
- catch (err) {
46
- const error = err;
47
- return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
48
- }
49
- }));
50
- const customerOrderSlice = (0, toolkit_1.createSlice)({
51
- name: types_1.ReducerType.Order,
52
- initialState,
53
- reducers: {
54
- resetCustomerOrder: () => initialState,
55
- resetCustomerOrderError: state => {
56
- state.error = null;
57
- state.loading = 'idle';
58
- },
59
- setCustomerOrder: (state, action) => {
60
- state.entity = action.payload;
61
- state.error = null;
62
- }
63
- },
64
- extraReducers: builder => {
65
- builder
66
- .addCase(exports.fetchCustomerOrder.fulfilled, (state, action) => {
67
- state.entity = action.payload;
68
- state.loading = 'idle';
69
- state.error = null;
70
- })
71
- .addCase(exports.fetchCustomerOrder.pending, state => {
72
- state.loading = 'pending';
73
- })
74
- .addCase(exports.fetchCustomerOrder.rejected, (state, action) => {
75
- state.error = action.payload;
76
- state.loading = 'idle';
77
- })
78
- .addCase(exports.updateCustomerOrderRating.fulfilled, state => {
79
- state.loading = 'idle';
80
- state.error = null;
81
- })
82
- .addCase(exports.updateCustomerOrderRating.pending, state => {
83
- state.loading = 'pending';
84
- })
85
- .addCase(exports.updateCustomerOrderRating.rejected, (state, action) => {
86
- state.error = action.payload;
87
- state.loading = 'idle';
88
- });
89
- }
90
- });
91
- _a = customerOrderSlice.actions, exports.resetCustomerOrder = _a.resetCustomerOrder, exports.resetCustomerOrderError = _a.resetCustomerOrderError, exports.setCustomerOrder = _a.setCustomerOrder;
92
- exports.selectCustomerOrder = (0, toolkit_1.createSelector)((state) => {
93
- const { entity: order, loading, error } = state.customer.order;
94
- return { order, loading, error };
95
- }, ({ order, loading, error }) => {
96
- return { order, loading, error };
97
- });
98
- exports.customerOrderReducer = customerOrderSlice.reducer;
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.customerOrderReducer = exports.selectCustomerOrder = exports.setCustomerOrder = exports.resetCustomerOrderError = exports.resetCustomerOrder = exports.updateCustomerOrderRating = exports.fetchCustomerOrder = exports.CustomerOrderActionType = 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 account_1 = require("./account");
10
+ const notifications_1 = require("../notifications");
11
+ const initialState = {
12
+ entity: null,
13
+ error: null,
14
+ loading: 'idle'
15
+ };
16
+ var CustomerOrderActionType;
17
+ (function (CustomerOrderActionType) {
18
+ CustomerOrderActionType["FetchCustomerOrder"] = "customer/fetchCustomerOrder";
19
+ CustomerOrderActionType["UpdateCustomerOrderRating"] = "customer/updateCustomerOrderRating";
20
+ })(CustomerOrderActionType = exports.CustomerOrderActionType || (exports.CustomerOrderActionType = {}));
21
+ exports.fetchCustomerOrder = (0, toolkit_1.createAsyncThunk)(CustomerOrderActionType.FetchCustomerOrder, (orderId, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
22
+ try {
23
+ const api = getState().config.api;
24
+ const token = (0, account_1.selectToken)(getState());
25
+ if (!token)
26
+ throw new Error(types_2.MISSING_CUSTOMER);
27
+ const order = yield api.getCustomerOrder(token, orderId);
28
+ return order;
29
+ }
30
+ catch (err) {
31
+ const error = err;
32
+ return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
33
+ }
34
+ }));
35
+ exports.updateCustomerOrderRating = (0, toolkit_1.createAsyncThunk)(CustomerOrderActionType.UpdateCustomerOrderRating, ({ orderId, data }, { dispatch, getState, rejectWithValue }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
36
+ try {
37
+ const api = getState().config.api;
38
+ const token = (0, account_1.selectToken)(getState());
39
+ if (!token)
40
+ throw new Error(types_2.MISSING_CUSTOMER);
41
+ yield api.putCustomerOrderRating(token, orderId, data);
42
+ dispatch((0, exports.fetchCustomerOrder)(orderId));
43
+ dispatch((0, notifications_1.showNotification)('Rating updated!'));
44
+ }
45
+ catch (err) {
46
+ const error = err;
47
+ return (0, account_1.checkAuth)(error, dispatch, () => rejectWithValue(error));
48
+ }
49
+ }));
50
+ const customerOrderSlice = (0, toolkit_1.createSlice)({
51
+ name: types_1.ReducerType.Order,
52
+ initialState,
53
+ reducers: {
54
+ resetCustomerOrder: () => initialState,
55
+ resetCustomerOrderError: state => {
56
+ state.error = null;
57
+ state.loading = 'idle';
58
+ },
59
+ setCustomerOrder: (state, action) => {
60
+ state.entity = action.payload;
61
+ state.error = null;
62
+ }
63
+ },
64
+ extraReducers: builder => {
65
+ builder
66
+ .addCase(exports.fetchCustomerOrder.fulfilled, (state, action) => {
67
+ state.entity = action.payload;
68
+ state.loading = 'idle';
69
+ state.error = null;
70
+ })
71
+ .addCase(exports.fetchCustomerOrder.pending, state => {
72
+ state.loading = 'pending';
73
+ })
74
+ .addCase(exports.fetchCustomerOrder.rejected, (state, action) => {
75
+ state.error = action.payload;
76
+ state.loading = 'idle';
77
+ })
78
+ .addCase(exports.updateCustomerOrderRating.fulfilled, state => {
79
+ state.loading = 'idle';
80
+ state.error = null;
81
+ })
82
+ .addCase(exports.updateCustomerOrderRating.pending, state => {
83
+ state.loading = 'pending';
84
+ })
85
+ .addCase(exports.updateCustomerOrderRating.rejected, (state, action) => {
86
+ state.error = action.payload;
87
+ state.loading = 'idle';
88
+ });
89
+ }
90
+ });
91
+ _a = customerOrderSlice.actions, exports.resetCustomerOrder = _a.resetCustomerOrder, exports.resetCustomerOrderError = _a.resetCustomerOrderError, exports.setCustomerOrder = _a.setCustomerOrder;
92
+ exports.selectCustomerOrder = (0, toolkit_1.createSelector)((state) => {
93
+ const { entity: order, loading, error } = state.customer.order;
94
+ return { order, loading, error };
95
+ }, ({ order, loading, error }) => {
96
+ return { order, loading, error };
97
+ });
98
+ exports.customerOrderReducer = customerOrderSlice.reducer;