studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1

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 (258) hide show
  1. package/lib/components/ActionList.js +164 -37
  2. package/lib/components/AlertDialog.js +128 -12
  3. package/lib/components/AlertWithIcon.js +88 -29
  4. package/lib/components/ConnectedModal.js +35 -12
  5. package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
  6. package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
  7. package/lib/components/Dropdowns/UserDropdown.js +105 -24
  8. package/lib/components/Dropdowns/index.js +4 -10
  9. package/lib/components/EntityOwnerList.js +47 -21
  10. package/lib/components/Error.js +101 -12
  11. package/lib/components/ErrorBoundary.js +127 -38
  12. package/lib/components/ErrorMessage.js +39 -12
  13. package/lib/components/Forms/DateField.js +56 -45
  14. package/lib/components/Forms/TimeField.js +76 -45
  15. package/lib/components/Forms/index.js +3 -5
  16. package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
  17. package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
  18. package/lib/components/Groups/ExternalGroups/Table.js +176 -48
  19. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
  20. package/lib/components/Groups/RosterSyncInfo.js +142 -23
  21. package/lib/components/HOC/AccessibleAppComponent.js +88 -72
  22. package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
  23. package/lib/components/HOC/AsyncComponent.js +49 -41
  24. package/lib/components/HOC/AuthenticatedComponent.js +55 -44
  25. package/lib/components/HOC/CollectionComponent.js +154 -104
  26. package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
  27. package/lib/components/HOC/CollectionItemComponent.js +152 -100
  28. package/lib/components/HOC/ConnectedModalComponent.js +87 -69
  29. package/lib/components/HOC/DataDependentComponent.js +26 -27
  30. package/lib/components/HOC/EntityComponent.js +57 -53
  31. package/lib/components/HOC/FullscreenModalComponent.js +139 -108
  32. package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
  33. package/lib/components/HOC/GuidComponent.js +20 -20
  34. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
  35. package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
  36. package/lib/components/HOC/SearchPersistorComponent.js +237 -173
  37. package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
  38. package/lib/components/HOC/UserComponent.js +6 -8
  39. package/lib/components/Icons/IconAlphaList.js +28 -8
  40. package/lib/components/Icons/IconExternalUser.js +28 -8
  41. package/lib/components/Icons/IconImpersonation.js +28 -8
  42. package/lib/components/Icons/IconStopImpersonating.js +28 -8
  43. package/lib/components/Icons/IconTable.js +29 -9
  44. package/lib/components/Icons/IconTableDeleteCol.js +28 -8
  45. package/lib/components/Icons/IconTableDeleteRow.js +28 -8
  46. package/lib/components/Icons/IconTableInsertCol.js +28 -8
  47. package/lib/components/Icons/IconTableInsertRow.js +28 -8
  48. package/lib/components/Impersonation/Button.js +71 -16
  49. package/lib/components/Impersonation/Link.js +72 -16
  50. package/lib/components/Impersonation/UserDetail.js +60 -11
  51. package/lib/components/Loading.js +23 -8
  52. package/lib/components/LockDownBrowser/Check.js +188 -51
  53. package/lib/components/LockDownBrowser/ExitButton.js +22 -13
  54. package/lib/components/LockDownBrowser/Launch.js +64 -64
  55. package/lib/components/Lti/Confirm.js +147 -14
  56. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
  57. package/lib/components/Lti/Launch.js +99 -25
  58. package/lib/components/Lti/LaunchGroup.js +81 -16
  59. package/lib/components/ManageTable.js +304 -90
  60. package/lib/components/ManageTableNoDataComponent.js +38 -7
  61. package/lib/components/NewVersionAlert.js +76 -49
  62. package/lib/components/NotFound.js +81 -11
  63. package/lib/components/Notifications.js +179 -129
  64. package/lib/components/PaginationNextButton.js +28 -9
  65. package/lib/components/PaginationPreviousButton.js +28 -9
  66. package/lib/components/Quill/CustomToolbar.js +427 -222
  67. package/lib/components/Quill/Formats/Image.js +67 -67
  68. package/lib/components/Quill/Formats/List.js +38 -47
  69. package/lib/components/Quill/Formats/Video.js +23 -26
  70. package/lib/components/Quill/ImageDropModule.js +136 -114
  71. package/lib/components/Quill/ImageWarning.js +41 -12
  72. package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
  73. package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
  74. package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
  75. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
  76. package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
  77. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
  78. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
  79. package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
  80. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
  81. package/lib/components/Quill/TableModule/constants.js +40 -42
  82. package/lib/components/Quill/TableModule/index.js +357 -305
  83. package/lib/components/Quill/TableModule/utils.js +39 -48
  84. package/lib/components/Quill/accessibilityFix.js +219 -223
  85. package/lib/components/Quill/index.js +30 -33
  86. package/lib/components/RefreshIndicator/Bordered.js +44 -10
  87. package/lib/components/RefreshIndicator/Inline.js +43 -12
  88. package/lib/components/RefreshIndicator/index.js +257 -62
  89. package/lib/components/SearchControls.js +211 -14
  90. package/lib/components/SentryRoute.js +5 -7
  91. package/lib/components/Tables/RoleFilter.js +66 -38
  92. package/lib/components/Tables/TextFilter.js +58 -18
  93. package/lib/components/UserRoles/Add.js +193 -99
  94. package/lib/components/UserRoles/Context.js +3 -6
  95. package/lib/components/UserRoles/RoleCell.js +176 -75
  96. package/lib/components/UserRoles/Select.js +151 -20
  97. package/lib/components/UserRoles/Table.js +215 -82
  98. package/lib/components/UserRoles/index.js +526 -386
  99. package/lib/config/eslint/index.js +26 -29
  100. package/lib/config/eslint/lib/order.js +21 -28
  101. package/lib/config/eslint/lib/prettier.js +15 -19
  102. package/lib/config/eslint/lib/typescript.js +87 -113
  103. package/lib/config/eslint/react.js +18 -15
  104. package/lib/constants/baseActivity.js +26 -28
  105. package/lib/constants/baseRole.js +10 -12
  106. package/lib/constants/configuration.js +43 -55
  107. package/lib/constants/externalProviderType.js +6 -8
  108. package/lib/constants/fetchErrorData.js +10 -12
  109. package/lib/constants/index.js +13 -15
  110. package/lib/constants/lockDownBrowser.js +23 -25
  111. package/lib/constants/mockData.js +370 -300
  112. package/lib/constants/modelStatus.js +11 -13
  113. package/lib/constants/notificationType.js +8 -10
  114. package/lib/constants/operatingSystem.js +8 -10
  115. package/lib/constants/shard.js +7 -9
  116. package/lib/constants/table.js +18 -22
  117. package/lib/constants/tier.js +8 -10
  118. package/lib/constants/userRole.js +11 -8
  119. package/lib/endpointMappings.js +191 -182
  120. package/lib/hooks/useCollection.js +79 -65
  121. package/lib/hooks/useCollectionConfiguration.js +220 -80
  122. package/lib/hooks/useCollectionItem.js +151 -57
  123. package/lib/hooks/useGuid.js +16 -9
  124. package/lib/hooks/usePrevious.js +14 -13
  125. package/lib/index.js +11 -26
  126. package/lib/redux/actionCreator.js +44 -35
  127. package/lib/redux/actions/AuthAction.js +45 -32
  128. package/lib/redux/actions/ModalAction.js +6 -8
  129. package/lib/redux/actions/ModelAction.js +95 -43
  130. package/lib/redux/actions/NotificationAction.js +6 -8
  131. package/lib/redux/actions/SearchAction.js +5 -7
  132. package/lib/redux/actions/index.js +6 -8
  133. package/lib/redux/configureReducers.js +48 -46
  134. package/lib/redux/configureStore.js +77 -91
  135. package/lib/redux/helpers.js +2 -5
  136. package/lib/redux/reducers/authReducer.js +44 -43
  137. package/lib/redux/reducers/index.js +7 -14
  138. package/lib/redux/reducers/modalsReducer.js +43 -31
  139. package/lib/redux/reducers/modelsReducer.js +131 -137
  140. package/lib/redux/reducers/notificationsReducer.js +20 -20
  141. package/lib/redux/reducers/searchReducer.js +13 -13
  142. package/lib/redux/sagas/appInsightsSaga.js +19 -21
  143. package/lib/redux/sagas/authSaga.js +248 -234
  144. package/lib/redux/sagas/caliperSaga.js +142 -131
  145. package/lib/redux/sagas/clockOffsetSaga.js +29 -32
  146. package/lib/redux/sagas/configurationSaga.js +8 -10
  147. package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
  148. package/lib/redux/sagas/errorSaga.js +23 -24
  149. package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
  150. package/lib/redux/sagas/identityProviderSaga.js +19 -21
  151. package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
  152. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
  153. package/lib/redux/sagas/modelFetchSaga.js +302 -286
  154. package/lib/redux/sagas/noStoreSaga.js +60 -61
  155. package/lib/redux/sagas/postLoginDataSaga.js +37 -32
  156. package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
  157. package/lib/redux/sagas/rootSaga.js +77 -60
  158. package/lib/redux/sagas/sentrySaga.js +25 -28
  159. package/lib/redux/sagas/userIdSaga.js +13 -15
  160. package/lib/services/codeProviderService.js +21 -21
  161. package/lib/services/dateService.js +6 -8
  162. package/lib/services/documentService.js +10 -11
  163. package/lib/services/fetchService.js +103 -95
  164. package/lib/services/persistenceService.js +27 -30
  165. package/lib/services/ticketProviderService.js +25 -25
  166. package/lib/services/tokenPersistenceService.js +8 -10
  167. package/lib/services/windowService.js +14 -16
  168. package/lib/startup.js +110 -101
  169. package/lib/types/AppConfiguration.js +2 -2
  170. package/lib/types/Artifact.js +7 -9
  171. package/lib/types/BaseReduxState.js +2 -2
  172. package/lib/types/Client.js +2 -2
  173. package/lib/types/Collection.js +2 -2
  174. package/lib/types/Configuration.js +2 -2
  175. package/lib/types/DeepLinkingResponseRequest.js +2 -2
  176. package/lib/types/DeletableModel.js +2 -2
  177. package/lib/types/Event.js +2 -2
  178. package/lib/types/ExternalGroup.js +2 -2
  179. package/lib/types/ExternalProvider.js +2 -2
  180. package/lib/types/ExternalTerm.js +2 -2
  181. package/lib/types/Group.js +2 -2
  182. package/lib/types/IdentityProvider.js +2 -2
  183. package/lib/types/LtiLaunch.js +2 -2
  184. package/lib/types/NameOnlyEntity.js +2 -2
  185. package/lib/types/Notification.js +2 -2
  186. package/lib/types/OptionalRecord.js +2 -2
  187. package/lib/types/OwnerSchedule.js +2 -2
  188. package/lib/types/PropertyOfType.js +2 -2
  189. package/lib/types/Quill.js +2 -2
  190. package/lib/types/RoleDescription.js +2 -2
  191. package/lib/types/Search.js +2 -2
  192. package/lib/types/SimpleLocation.js +2 -2
  193. package/lib/types/UniTime.js +2 -2
  194. package/lib/types/User.js +2 -2
  195. package/lib/types/UserRole.js +2 -2
  196. package/lib/types/auth/AuthState.js +2 -2
  197. package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
  198. package/lib/types/auth/ClientCredentials.js +2 -2
  199. package/lib/types/auth/CodeProviderService.js +2 -2
  200. package/lib/types/auth/LocalLoginRequestBody.js +2 -2
  201. package/lib/types/auth/TicketProviderService.js +2 -2
  202. package/lib/types/auth/TokenPersistenceService.js +2 -2
  203. package/lib/types/auth/index.js +8 -10
  204. package/lib/types/externals.d.js +2 -0
  205. package/lib/types/index.js +29 -31
  206. package/lib/types/net/EndpointConfig.js +2 -2
  207. package/lib/types/net/EndpointMapping.js +2 -2
  208. package/lib/types/net/EndpointMappings.js +2 -2
  209. package/lib/types/net/ErrorHandler.js +2 -2
  210. package/lib/types/net/FetchConfig.js +2 -2
  211. package/lib/types/net/FetchErrorData.js +6 -8
  212. package/lib/types/net/FetchResult.js +2 -2
  213. package/lib/types/net/HTTPMethod.js +2 -2
  214. package/lib/types/net/HTTPStatusCode.js +12 -14
  215. package/lib/types/net/Metadata.js +2 -2
  216. package/lib/types/net/Model.js +2 -2
  217. package/lib/types/net/ModelCollection.js +2 -2
  218. package/lib/types/net/ModelsState.js +2 -2
  219. package/lib/types/net/OAuthToken.js +2 -2
  220. package/lib/types/net/OAuthTokenOrNull.js +2 -2
  221. package/lib/types/net/TokenAccessFunction.js +2 -2
  222. package/lib/types/net/index.js +17 -19
  223. package/lib/utils/baseActivity.js +83 -85
  224. package/lib/utils/baseRole.js +32 -36
  225. package/lib/utils/collection.js +403 -297
  226. package/lib/utils/cookies.js +19 -23
  227. package/lib/utils/date.js +188 -205
  228. package/lib/utils/dom.js +130 -131
  229. package/lib/utils/domainIdentifier.js +4 -8
  230. package/lib/utils/entityUserRole.js +2 -5
  231. package/lib/utils/error.js +14 -19
  232. package/lib/utils/events.js +32 -31
  233. package/lib/utils/externalGroup.js +20 -25
  234. package/lib/utils/externalProviders.js +4 -7
  235. package/lib/utils/externalTerms.js +6 -6
  236. package/lib/utils/fetch.js +168 -176
  237. package/lib/utils/group.js +14 -11
  238. package/lib/utils/groupDates.js +38 -46
  239. package/lib/utils/groupRoles.js +23 -32
  240. package/lib/utils/lockDownBrowser.js +12 -15
  241. package/lib/utils/logger.js +23 -28
  242. package/lib/utils/lti.js +4 -7
  243. package/lib/utils/model.js +28 -43
  244. package/lib/utils/number.js +9 -13
  245. package/lib/utils/promise.js +23 -26
  246. package/lib/utils/quill.js +55 -60
  247. package/lib/utils/route.js +52 -60
  248. package/lib/utils/search.js +72 -87
  249. package/lib/utils/shard.js +33 -42
  250. package/lib/utils/sort.js +47 -50
  251. package/lib/utils/string.js +10 -12
  252. package/lib/utils/table.js +29 -33
  253. package/lib/utils/timezone.js +7 -12
  254. package/lib/utils/url.js +130 -144
  255. package/lib/utils/user.js +54 -64
  256. package/lib/utils/userAgent.js +7 -14
  257. package/lib/utils/userRole.js +36 -39
  258. package/package.json +17 -3
@@ -1,73 +1,72 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noStoreHooks = exports.unregisterNoStoreActionHook = exports.registerNoStoreActionHook = exports.takeMatchesReceivedNoStoreHookAction = exports.matchesReceivedNoStoreHookAction = exports.takeMatchesFailedNoStoreHookAction = exports.matchesFailedNoStoreHookAction = exports.matchesNoStoreAction = void 0;
4
- exports.handleAction = handleAction;
5
- exports.default = noStoreSaga;
6
- const lodash_1 = require("lodash");
7
- const effects_1 = require("redux-saga/effects");
8
- const actions_1 = require("../actions");
1
+ import { isNil } from 'lodash';
2
+ import { race, take, takeEvery } from 'redux-saga/effects';
3
+ import { MODEL_FETCH_ERROR_ACTION_TYPE, MODEL_FETCH_REQUEST_ACTION_TYPE, MODEL_FETCH_RESULT_ACTION_TYPE } from '../actions';
9
4
  //#region Helpers
10
- const matchesNoStoreAction = (incomingAction) => {
11
- return incomingAction.type === actions_1.MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST && incomingAction.noStore === true;
5
+
6
+ export const matchesNoStoreAction = incomingAction => {
7
+ return incomingAction.type === MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST && incomingAction.noStore === true;
12
8
  };
13
- exports.matchesNoStoreAction = matchesNoStoreAction;
14
- const matchesFailedNoStoreHookAction = (incomingAction, noStoreAction) => {
15
- return (incomingAction.type === actions_1.MODEL_FETCH_ERROR_ACTION_TYPE.TRANSIENT_FETCH_FAILED &&
16
- noStoreAction.noStore === true &&
17
- incomingAction.guid === noStoreAction.guid);
9
+ export const matchesFailedNoStoreHookAction = (incomingAction, noStoreAction) => {
10
+ return incomingAction.type === MODEL_FETCH_ERROR_ACTION_TYPE.TRANSIENT_FETCH_FAILED && noStoreAction.noStore === true && incomingAction.guid === noStoreAction.guid;
18
11
  };
19
- exports.matchesFailedNoStoreHookAction = matchesFailedNoStoreHookAction;
20
- const takeMatchesFailedNoStoreHookAction = (noStoreAction) => (incomingAction) => (0, exports.matchesFailedNoStoreHookAction)(incomingAction, noStoreAction);
21
- exports.takeMatchesFailedNoStoreHookAction = takeMatchesFailedNoStoreHookAction;
22
- const matchesReceivedNoStoreHookAction = (incomingAction, noStoreAction) => {
23
- return (incomingAction.type === actions_1.MODEL_FETCH_RESULT_ACTION_TYPE.TRANSIENT_FETCH_RESULT_RECEIVED &&
24
- noStoreAction.noStore === true &&
25
- incomingAction.guid === noStoreAction.guid);
12
+ export const takeMatchesFailedNoStoreHookAction = noStoreAction => incomingAction => matchesFailedNoStoreHookAction(incomingAction, noStoreAction);
13
+ export const matchesReceivedNoStoreHookAction = (incomingAction, noStoreAction) => {
14
+ return incomingAction.type === MODEL_FETCH_RESULT_ACTION_TYPE.TRANSIENT_FETCH_RESULT_RECEIVED && noStoreAction.noStore === true && incomingAction.guid === noStoreAction.guid;
26
15
  };
27
- exports.matchesReceivedNoStoreHookAction = matchesReceivedNoStoreHookAction;
28
- const takeMatchesReceivedNoStoreHookAction = (noStoreAction) => (incomingAction) => (0, exports.matchesReceivedNoStoreHookAction)(incomingAction, noStoreAction);
29
- exports.takeMatchesReceivedNoStoreHookAction = takeMatchesReceivedNoStoreHookAction;
16
+ export const takeMatchesReceivedNoStoreHookAction = noStoreAction => incomingAction => matchesReceivedNoStoreHookAction(incomingAction, noStoreAction);
17
+
30
18
  //#endregion Helpers
19
+
31
20
  //#region Hooks
21
+
32
22
  const hooks = {};
33
- const registerNoStoreActionHook = (key, hook) => {
34
- hooks[key] = hook;
23
+ export const registerNoStoreActionHook = (key, hook) => {
24
+ hooks[key] = hook;
35
25
  };
36
- exports.registerNoStoreActionHook = registerNoStoreActionHook;
37
- const unregisterNoStoreActionHook = (key) => {
38
- delete hooks[key];
26
+ export const unregisterNoStoreActionHook = key => {
27
+ delete hooks[key];
39
28
  };
40
- exports.unregisterNoStoreActionHook = unregisterNoStoreActionHook;
41
- exports.noStoreHooks = { registerNoStoreActionHook: exports.registerNoStoreActionHook, unregisterNoStoreActionHook: exports.unregisterNoStoreActionHook };
29
+ export const noStoreHooks = {
30
+ registerNoStoreActionHook,
31
+ unregisterNoStoreActionHook
32
+ };
33
+
42
34
  //#endregion Hooks
43
- function* handleAction(noStoreAction) {
44
- const guid = noStoreAction.guid;
45
- if ((0, lodash_1.isNil)(guid)) {
46
- return;
47
- }
48
- if ((0, lodash_1.isNil)(hooks[guid])) {
49
- return;
50
- }
51
- const { resultAction, errorAction } = yield (0, effects_1.race)({
52
- resultAction: (0, effects_1.take)((0, exports.takeMatchesReceivedNoStoreHookAction)(noStoreAction)),
53
- errorAction: (0, effects_1.take)((0, exports.takeMatchesFailedNoStoreHookAction)(noStoreAction))
54
- });
55
- // check that the hook still exists after the result/error
56
- const hook = hooks[guid];
57
- if ((0, lodash_1.isNil)(hook)) {
58
- return;
59
- }
60
- // return `errorData` on failure. modelFetchSaga will ALWAYS create `errorData`
61
- if (errorAction) {
62
- hook(errorAction.errorData);
63
- return;
64
- }
65
- // return `data` or `null` on a successful fetch result
66
- // `data` can technically be `undefined`, e.g. if the server response is a NoContent (204),
67
- // so the caller will need to determine if `null` is treated as an error or success
68
- hook((resultAction === null || resultAction === void 0 ? void 0 : resultAction.data) || null);
35
+
36
+ export function* handleAction(noStoreAction) {
37
+ const guid = noStoreAction.guid;
38
+ if (isNil(guid)) {
39
+ return;
40
+ }
41
+ if (isNil(hooks[guid])) {
42
+ return;
43
+ }
44
+ const {
45
+ resultAction,
46
+ errorAction
47
+ } = yield race({
48
+ resultAction: take(takeMatchesReceivedNoStoreHookAction(noStoreAction)),
49
+ errorAction: take(takeMatchesFailedNoStoreHookAction(noStoreAction))
50
+ });
51
+
52
+ // check that the hook still exists after the result/error
53
+ const hook = hooks[guid];
54
+ if (isNil(hook)) {
55
+ return;
56
+ }
57
+
58
+ // return `errorData` on failure. modelFetchSaga will ALWAYS create `errorData`
59
+ if (errorAction) {
60
+ hook(errorAction.errorData);
61
+ return;
62
+ }
63
+ // return `data` or `null` on a successful fetch result
64
+ // `data` can technically be `undefined`, e.g. if the server response is a NoContent (204),
65
+ // so the caller will need to determine if `null` is treated as an error or success
66
+ hook(resultAction?.data || null);
69
67
  }
70
- function* noStoreSaga() {
71
- /* istanbul ignore next */
72
- yield (0, effects_1.takeEvery)(exports.matchesNoStoreAction, handleAction);
68
+ export default function* noStoreSaga() {
69
+ /* istanbul ignore next */
70
+ yield takeEvery(matchesNoStoreAction, handleAction);
73
71
  }
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc05pbCIsInJhY2UiLCJ0YWtlIiwidGFrZUV2ZXJ5IiwiTU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUiLCJNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFIiwiTU9ERUxfRkVUQ0hfUkVTVUxUX0FDVElPTl9UWVBFIiwibWF0Y2hlc05vU3RvcmVBY3Rpb24iLCJpbmNvbWluZ0FjdGlvbiIsInR5cGUiLCJGRVRDSF9SRVFVRVNUIiwibm9TdG9yZSIsIm1hdGNoZXNGYWlsZWROb1N0b3JlSG9va0FjdGlvbiIsIm5vU3RvcmVBY3Rpb24iLCJUUkFOU0lFTlRfRkVUQ0hfRkFJTEVEIiwiZ3VpZCIsInRha2VNYXRjaGVzRmFpbGVkTm9TdG9yZUhvb2tBY3Rpb24iLCJtYXRjaGVzUmVjZWl2ZWROb1N0b3JlSG9va0FjdGlvbiIsIlRSQU5TSUVOVF9GRVRDSF9SRVNVTFRfUkVDRUlWRUQiLCJ0YWtlTWF0Y2hlc1JlY2VpdmVkTm9TdG9yZUhvb2tBY3Rpb24iLCJob29rcyIsInJlZ2lzdGVyTm9TdG9yZUFjdGlvbkhvb2siLCJrZXkiLCJob29rIiwidW5yZWdpc3Rlck5vU3RvcmVBY3Rpb25Ib29rIiwibm9TdG9yZUhvb2tzIiwiaGFuZGxlQWN0aW9uIiwicmVzdWx0QWN0aW9uIiwiZXJyb3JBY3Rpb24iLCJlcnJvckRhdGEiLCJkYXRhIiwibm9TdG9yZVNhZ2EiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkdXgvc2FnYXMvbm9TdG9yZVNhZ2EudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FnYUl0ZXJhdG9yIH0gZnJvbSAnQHJlZHV4LXNhZ2EvY29yZSdcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IHsgQW55QWN0aW9uIH0gZnJvbSAncmVkdXgnXG5pbXBvcnQgeyByYWNlLCB0YWtlLCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnXG5pbXBvcnQgeyBGZXRjaEVycm9yRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHtcblx0TU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUsXG5cdE1PREVMX0ZFVENIX1JFUVVFU1RfQUNUSU9OX1RZUEUsXG5cdE1PREVMX0ZFVENIX1JFU1VMVF9BQ1RJT05fVFlQRSxcblx0TW9kZWxGZXRjaEVycm9yQWN0aW9uLFxuXHRNb2RlbEZldGNoUmVxdWVzdEFjdGlvbixcblx0TW9kZWxGZXRjaFJlc3VsdEFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJ1xuXG5leHBvcnQgdHlwZSBIb29rRnVuY3Rpb248VCA9IGFueT4gPSAoaW5wdXQ6IFQgfCBGZXRjaEVycm9yRGF0YSB8IG51bGwpID0+IHZvaWRcblxuLy8jcmVnaW9uIEhlbHBlcnNcblxuZXhwb3J0IGNvbnN0IG1hdGNoZXNOb1N0b3JlQWN0aW9uID0gKGluY29taW5nQWN0aW9uOiBBbnlBY3Rpb24pOiBpbmNvbWluZ0FjdGlvbiBpcyBNb2RlbEZldGNoUmVxdWVzdEFjdGlvbiA9PiB7XG5cdHJldHVybiBpbmNvbWluZ0FjdGlvbi50eXBlID09PSBNT0RFTF9GRVRDSF9SRVFVRVNUX0FDVElPTl9UWVBFLkZFVENIX1JFUVVFU1QgJiYgaW5jb21pbmdBY3Rpb24ubm9TdG9yZSA9PT0gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgbWF0Y2hlc0ZhaWxlZE5vU3RvcmVIb29rQWN0aW9uID0gKGluY29taW5nQWN0aW9uOiBBbnlBY3Rpb24sIG5vU3RvcmVBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKSA9PiB7XG5cdHJldHVybiAoXG5cdFx0aW5jb21pbmdBY3Rpb24udHlwZSA9PT0gTU9ERUxfRkVUQ0hfRVJST1JfQUNUSU9OX1RZUEUuVFJBTlNJRU5UX0ZFVENIX0ZBSUxFRCAmJlxuXHRcdG5vU3RvcmVBY3Rpb24ubm9TdG9yZSA9PT0gdHJ1ZSAmJlxuXHRcdGluY29taW5nQWN0aW9uLmd1aWQgPT09IG5vU3RvcmVBY3Rpb24uZ3VpZFxuXHQpXG59XG5cbmV4cG9ydCBjb25zdCB0YWtlTWF0Y2hlc0ZhaWxlZE5vU3RvcmVIb29rQWN0aW9uID1cblx0KG5vU3RvcmVBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uKSA9PiAoaW5jb21pbmdBY3Rpb246IEFueUFjdGlvbikgPT5cblx0XHRtYXRjaGVzRmFpbGVkTm9TdG9yZUhvb2tBY3Rpb24oaW5jb21pbmdBY3Rpb24sIG5vU3RvcmVBY3Rpb24pXG5cbmV4cG9ydCBjb25zdCBtYXRjaGVzUmVjZWl2ZWROb1N0b3JlSG9va0FjdGlvbiA9IChpbmNvbWluZ0FjdGlvbjogQW55QWN0aW9uLCBub1N0b3JlQWN0aW9uOiBNb2RlbEZldGNoUmVxdWVzdEFjdGlvbikgPT4ge1xuXHRyZXR1cm4gKFxuXHRcdGluY29taW5nQWN0aW9uLnR5cGUgPT09IE1PREVMX0ZFVENIX1JFU1VMVF9BQ1RJT05fVFlQRS5UUkFOU0lFTlRfRkVUQ0hfUkVTVUxUX1JFQ0VJVkVEICYmXG5cdFx0bm9TdG9yZUFjdGlvbi5ub1N0b3JlID09PSB0cnVlICYmXG5cdFx0aW5jb21pbmdBY3Rpb24uZ3VpZCA9PT0gbm9TdG9yZUFjdGlvbi5ndWlkXG5cdClcbn1cblxuZXhwb3J0IGNvbnN0IHRha2VNYXRjaGVzUmVjZWl2ZWROb1N0b3JlSG9va0FjdGlvbiA9XG5cdChub1N0b3JlQWN0aW9uOiBNb2RlbEZldGNoUmVxdWVzdEFjdGlvbikgPT4gKGluY29taW5nQWN0aW9uOiBBbnlBY3Rpb24pID0+XG5cdFx0bWF0Y2hlc1JlY2VpdmVkTm9TdG9yZUhvb2tBY3Rpb24oaW5jb21pbmdBY3Rpb24sIG5vU3RvcmVBY3Rpb24pXG5cbi8vI2VuZHJlZ2lvbiBIZWxwZXJzXG5cbi8vI3JlZ2lvbiBIb29rc1xuXG5jb25zdCBob29rczogeyBba2V5OiBzdHJpbmddOiBIb29rRnVuY3Rpb24gfSA9IHt9XG5cbmV4cG9ydCBjb25zdCByZWdpc3Rlck5vU3RvcmVBY3Rpb25Ib29rID0gPFQ+KGtleTogc3RyaW5nLCBob29rOiBIb29rRnVuY3Rpb248VD4pID0+IHtcblx0aG9va3Nba2V5XSA9IGhvb2tcbn1cblxuZXhwb3J0IGNvbnN0IHVucmVnaXN0ZXJOb1N0b3JlQWN0aW9uSG9vayA9IChrZXk6IHN0cmluZykgPT4ge1xuXHRkZWxldGUgaG9va3Nba2V5XVxufVxuXG5leHBvcnQgY29uc3Qgbm9TdG9yZUhvb2tzID0geyByZWdpc3Rlck5vU3RvcmVBY3Rpb25Ib29rLCB1bnJlZ2lzdGVyTm9TdG9yZUFjdGlvbkhvb2sgfVxuXG4vLyNlbmRyZWdpb24gSG9va3NcblxuZXhwb3J0IGZ1bmN0aW9uKiBoYW5kbGVBY3Rpb24obm9TdG9yZUFjdGlvbjogTW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24pOiBTYWdhSXRlcmF0b3Ige1xuXHRjb25zdCBndWlkID0gbm9TdG9yZUFjdGlvbi5ndWlkXG5cdGlmIChpc05pbChndWlkKSkge1xuXHRcdHJldHVyblxuXHR9XG5cdGlmIChpc05pbChob29rc1tndWlkXSkpIHtcblx0XHRyZXR1cm5cblx0fVxuXG5cdGNvbnN0IHtcblx0XHRyZXN1bHRBY3Rpb24sXG5cdFx0ZXJyb3JBY3Rpb25cblx0fTogeyByZXN1bHRBY3Rpb24/OiBNb2RlbEZldGNoUmVzdWx0QWN0aW9uOyBlcnJvckFjdGlvbj86IE1vZGVsRmV0Y2hFcnJvckFjdGlvbiB9ID0geWllbGQgcmFjZSh7XG5cdFx0cmVzdWx0QWN0aW9uOiB0YWtlKHRha2VNYXRjaGVzUmVjZWl2ZWROb1N0b3JlSG9va0FjdGlvbihub1N0b3JlQWN0aW9uKSksXG5cdFx0ZXJyb3JBY3Rpb246IHRha2UodGFrZU1hdGNoZXNGYWlsZWROb1N0b3JlSG9va0FjdGlvbihub1N0b3JlQWN0aW9uKSlcblx0fSlcblxuXHQvLyBjaGVjayB0aGF0IHRoZSBob29rIHN0aWxsIGV4aXN0cyBhZnRlciB0aGUgcmVzdWx0L2Vycm9yXG5cdGNvbnN0IGhvb2sgPSBob29rc1tndWlkXVxuXHRpZiAoaXNOaWwoaG9vaykpIHtcblx0XHRyZXR1cm5cblx0fVxuXG5cdC8vIHJldHVybiBgZXJyb3JEYXRhYCBvbiBmYWlsdXJlLiBtb2RlbEZldGNoU2FnYSB3aWxsIEFMV0FZUyBjcmVhdGUgYGVycm9yRGF0YWBcblx0aWYgKGVycm9yQWN0aW9uKSB7XG5cdFx0aG9vayhlcnJvckFjdGlvbi5lcnJvckRhdGEpXG5cdFx0cmV0dXJuXG5cdH1cblx0Ly8gcmV0dXJuIGBkYXRhYCBvciBgbnVsbGAgb24gYSBzdWNjZXNzZnVsIGZldGNoIHJlc3VsdFxuXHQvLyBgZGF0YWAgY2FuIHRlY2huaWNhbGx5IGJlIGB1bmRlZmluZWRgLCBlLmcuIGlmIHRoZSBzZXJ2ZXIgcmVzcG9uc2UgaXMgYSBOb0NvbnRlbnQgKDIwNCksXG5cdC8vIHNvIHRoZSBjYWxsZXIgd2lsbCBuZWVkIHRvIGRldGVybWluZSBpZiBgbnVsbGAgaXMgdHJlYXRlZCBhcyBhbiBlcnJvciBvciBzdWNjZXNzXG5cdGhvb2socmVzdWx0QWN0aW9uPy5kYXRhIHx8IG51bGwpXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKiBub1N0b3JlU2FnYSgpOiBTYWdhSXRlcmF0b3Ige1xuXHQvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXHR5aWVsZCB0YWtlRXZlcnkobWF0Y2hlc05vU3RvcmVBY3Rpb24sIGhhbmRsZUFjdGlvbilcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsS0FBSyxRQUFRLFFBQVE7QUFFOUIsU0FBU0MsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFNBQVMsUUFBUSxvQkFBb0I7QUFFMUQsU0FDQ0MsNkJBQTZCLEVBQzdCQywrQkFBK0IsRUFDL0JDLDhCQUE4QixRQUl4QixZQUFZO0FBSW5COztBQUVBLE9BQU8sTUFBTUMsb0JBQW9CLEdBQUlDLGNBQXlCLElBQWdEO0VBQzdHLE9BQU9BLGNBQWMsQ0FBQ0MsSUFBSSxLQUFLSiwrQkFBK0IsQ0FBQ0ssYUFBYSxJQUFJRixjQUFjLENBQUNHLE9BQU8sS0FBSyxJQUFJO0FBQ2hILENBQUM7QUFFRCxPQUFPLE1BQU1DLDhCQUE4QixHQUFHQSxDQUFDSixjQUF5QixFQUFFSyxhQUFzQyxL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
@@ -1,44 +1,49 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setOnPostLoginSaga = void 0;
4
- exports.default = postLoginDataSaga;
5
- const effects_1 = require("redux-saga/effects");
6
- const actionCreator_1 = require("../actionCreator");
7
- const actions_1 = require("../actions");
1
+ import { call, take } from 'redux-saga/effects';
2
+ import { dispatchModelFetchRequest, dispatchPeriodicModelFetchRequest, dispatchPeriodicModelFetchTerminateAction } from '../actionCreator';
3
+ import { AUTH_ACTION_TYPE, AUTH_TOKEN_SUCCESS_ACTION_TYPE } from '../actions';
4
+
8
5
  //#region Setup
6
+
9
7
  let onPostLoginSaga;
8
+
10
9
  /**
11
10
  * Sets or clears a saga that will run after login. It is called inside of `postLoginDataSaga`.
12
11
  * * If the saga returns `true`, the parent saga will load "groups" and "externalProviders".
13
12
  * * If the saga returns `false`, the parent saga will restart, assuming the child saga has logged out the user.
14
13
  * @param value The saga
15
14
  */
16
- const setOnPostLoginSaga = (value) => {
17
- onPostLoginSaga = value;
15
+ export const setOnPostLoginSaga = value => {
16
+ onPostLoginSaga = value;
18
17
  };
19
- exports.setOnPostLoginSaga = setOnPostLoginSaga;
18
+
20
19
  //#endregion Setup
21
- function* postLoginDataSaga() {
22
- const externalProvidersTaskId = 'external-provider-refresh';
23
- while (true) {
24
- yield (0, effects_1.take)(actions_1.AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
25
- if (onPostLoginSaga) {
26
- const result = yield (0, effects_1.call)(onPostLoginSaga);
27
- if (!result) {
28
- continue;
29
- }
30
- }
31
- // load groups on initial login. refreshing happens elsewhere
32
- (0, actionCreator_1.dispatchModelFetchRequest)({ modelName: 'groups' });
33
- // grab external providers once a day (for those tab-leaver-openers)
34
- (0, actionCreator_1.dispatchPeriodicModelFetchRequest)({
35
- modelName: 'externalProviders',
36
- taskId: externalProvidersTaskId,
37
- period: 1000 * 60 * 60 * 24
38
- });
39
- yield (0, effects_1.take)(actions_1.AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
40
- (0, actionCreator_1.dispatchPeriodicModelFetchTerminateAction)({
41
- taskId: externalProvidersTaskId
42
- });
20
+
21
+ export default function* postLoginDataSaga() {
22
+ const externalProvidersTaskId = 'external-provider-refresh';
23
+ while (true) {
24
+ yield take(AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
25
+ if (onPostLoginSaga) {
26
+ const result = yield call(onPostLoginSaga);
27
+ if (!result) {
28
+ continue;
29
+ }
43
30
  }
31
+
32
+ // load groups on initial login. refreshing happens elsewhere
33
+ dispatchModelFetchRequest({
34
+ modelName: 'groups'
35
+ });
36
+
37
+ // grab external providers once a day (for those tab-leaver-openers)
38
+ dispatchPeriodicModelFetchRequest({
39
+ modelName: 'externalProviders',
40
+ taskId: externalProvidersTaskId,
41
+ period: 1000 * 60 * 60 * 24
42
+ });
43
+ yield take(AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
44
+ dispatchPeriodicModelFetchTerminateAction({
45
+ taskId: externalProvidersTaskId
46
+ });
47
+ }
44
48
  }
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxsIiwidGFrZSIsImRpc3BhdGNoTW9kZWxGZXRjaFJlcXVlc3QiLCJkaXNwYXRjaFBlcmlvZGljTW9kZWxGZXRjaFJlcXVlc3QiLCJkaXNwYXRjaFBlcmlvZGljTW9kZWxGZXRjaFRlcm1pbmF0ZUFjdGlvbiIsIkFVVEhfQUNUSU9OX1RZUEUiLCJBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUiLCJvblBvc3RMb2dpblNhZ2EiLCJzZXRPblBvc3RMb2dpblNhZ2EiLCJ2YWx1ZSIsInBvc3RMb2dpbkRhdGFTYWdhIiwiZXh0ZXJuYWxQcm92aWRlcnNUYXNrSWQiLCJHRVRfVE9LRU5fU1VDQ0VFREVEIiwicmVzdWx0IiwibW9kZWxOYW1lIiwidGFza0lkIiwicGVyaW9kIiwiTE9HX09VVF9SRVFVRVNURUQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkdXgvc2FnYXMvcG9zdExvZ2luRGF0YVNhZ2EudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FnYSwgU2FnYUl0ZXJhdG9yIH0gZnJvbSAncmVkdXgtc2FnYSdcbmltcG9ydCB7IGNhbGwsIHRha2UgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnXG5pbXBvcnQge1xuXHRkaXNwYXRjaE1vZGVsRmV0Y2hSZXF1ZXN0LFxuXHRkaXNwYXRjaFBlcmlvZGljTW9kZWxGZXRjaFJlcXVlc3QsXG5cdGRpc3BhdGNoUGVyaW9kaWNNb2RlbEZldGNoVGVybWluYXRlQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbkNyZWF0b3InXG5pbXBvcnQgeyBBVVRIX0FDVElPTl9UWVBFLCBBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUgfSBmcm9tICcuLi9hY3Rpb25zJ1xuXG4vLyNyZWdpb24gU2V0dXBcblxubGV0IG9uUG9zdExvZ2luU2FnYTogU2FnYSB8IHVuZGVmaW5lZFxuXG4vKipcbiAqIFNldHMgb3IgY2xlYXJzIGEgc2FnYSB0aGF0IHdpbGwgcnVuIGFmdGVyIGxvZ2luLiBJdCBpcyBjYWxsZWQgaW5zaWRlIG9mIGBwb3N0TG9naW5EYXRhU2FnYWAuXG4gKiAqIElmIHRoZSBzYWdhIHJldHVybnMgYHRydWVgLCB0aGUgcGFyZW50IHNhZ2Egd2lsbCBsb2FkIFwiZ3JvdXBzXCIgYW5kIFwiZXh0ZXJuYWxQcm92aWRlcnNcIi5cbiAqICogSWYgdGhlIHNhZ2EgcmV0dXJucyBgZmFsc2VgLCB0aGUgcGFyZW50IHNhZ2Egd2lsbCByZXN0YXJ0LCBhc3N1bWluZyB0aGUgY2hpbGQgc2FnYSBoYXMgbG9nZ2VkIG91dCB0aGUgdXNlci5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgc2FnYVxuICovXG5leHBvcnQgY29uc3Qgc2V0T25Qb3N0TG9naW5TYWdhID0gKHZhbHVlOiBTYWdhKSA9PiB7XG5cdG9uUG9zdExvZ2luU2FnYSA9IHZhbHVlXG59XG5cbi8vI2VuZHJlZ2lvbiBTZXR1cFxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiogcG9zdExvZ2luRGF0YVNhZ2EoKTogU2FnYUl0ZXJhdG9yIHtcblx0Y29uc3QgZXh0ZXJuYWxQcm92aWRlcnNUYXNrSWQgPSAnZXh0ZXJuYWwtcHJvdmlkZXItcmVmcmVzaCdcblx0d2hpbGUgKHRydWUpIHtcblx0XHR5aWVsZCB0YWtlKEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRS5HRVRfVE9LRU5fU1VDQ0VFREVEKVxuXHRcdGlmIChvblBvc3RMb2dpblNhZ2EpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IHlpZWxkIGNhbGwob25Qb3N0TG9naW5TYWdhKVxuXHRcdFx0aWYgKCFyZXN1bHQpIHtcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBsb2FkIGdyb3VwcyBvbiBpbml0aWFsIGxvZ2luLiByZWZyZXNoaW5nIGhhcHBlbnMgZWxzZXdoZXJlXG5cdFx0ZGlzcGF0Y2hNb2RlbEZldGNoUmVxdWVzdCh7IG1vZGVsTmFtZTogJ2dyb3VwcycgfSlcblxuXHRcdC8vIGdyYWIgZXh0ZXJuYWwgcHJvdmlkZXJzIG9uY2UgYSBkYXkgKGZvciB0aG9zZSB0YWItbGVhdmVyLW9wZW5lcnMpXG5cdFx0ZGlzcGF0Y2hQZXJpb2RpY01vZGVsRmV0Y2hSZXF1ZXN0KHtcblx0XHRcdG1vZGVsTmFtZTogJ2V4dGVybmFsUHJvdmlkZXJzJyxcblx0XHRcdHRhc2tJZDogZXh0ZXJuYWxQcm92aWRlcnNUYXNrSWQsXG5cdFx0XHRwZXJpb2Q6IDEwMDAgKiA2MCAqIDYwICogMjRcblx0XHR9KVxuXG5cdFx0eWllbGQgdGFrZShBVVRIX0FDVElPTl9UWVBFLkxPR19PVVRfUkVRVUVTVEVEKVxuXG5cdFx0ZGlzcGF0Y2hQZXJpb2RpY01vZGVsRmV0Y2hUZXJtaW5hdGVBY3Rpb24oe1xuXHRcdFx0dGFza0lkOiBleHRlcm5hbFByb3ZpZGVyc1Rhc2tJZFxuXHRcdH0pXG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsSUFBSSxFQUFFQyxJQUFJLFFBQVEsb0JBQW9CO0FBQy9DLFNBQ0NDLHlCQUF5QixFQUN6QkMsaUNBQWlDLEVBQ2pDQyx5Q0FBeUMsUUFDbkMsa0JBQWtCO0FBQ3pCLFNBQVNDLGdCQUFnQixFQUFFQyw4QkFBOEIsUUFBUSxZQUFZOztBQUU3RTs7QUFFQSxJQUFJQyxlQUFpQzs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxNQUFNQyxrQkFBa0IsR0FBSUMsS0FBVyxJQUFLO0VBQ2xERixlQUFlLEdBQUdFLEtBQUs7QUFDeEIsQ0FBQzs7QUFFRDs7QUFFQSxlQUFlLFVBQVVDLGlCQUFpQkEsQ0FBQSxFQUFpQjtFQUMxRCxNQUFNQyx1QkFBdUIsR0FBRywyQkFBMkI7RUFDM0QsT0FBTyxJQUFJLEVBQUU7SUFDWixNQUFNVixJQUFJLENBQUNLLDhCQUE4QixDQUFDTSxtQkFBbUIsQ0FBQztJQUM5RCxJQUFJTCxlQUFlLEVBQUU7TUFDcEIsTUFBTU0sTUFBTSxHQUFHLE1BQU1iLElBQUksQ0FBQ08sZUFBZSxDQUFDO01BQzFDLElBQUksQ0FBQ00sTUFBTSxFQUFFO1FBQ1o7TUFDRDtJQUNEOztJQUVBO0lBQ0FYLHlCQUF5QixDQUFDO01BQUVZLFNBQVMsRUFBRTtJQUFTLENBQUMsQ0FBQzs7SUFFbEQ7SUFDQVgsaUNBQWlDLENBQUM7TUFDakNXLFNBQVMsRUFBRSxtQkFBbUI7TUFDOUJDLE1BQU0sRUFBRUosdUJBQXVCO01BQy9CSyxNQUFNLEVBQUUsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDMUIsQ0FBQyxDQUFDO0lBRUYsTUFBTWYsSUFBSSxDQUFDSSxnQkFBZ0IsQ0FBQ1ksaUJBQWlCLENBQUM7SUFFOUNiLHlDQUF5QyxDQUFDO01BQ3pDVyxNQUFNLEVBQUVKO0lBQ1QsQ0FBQyxDQUFDO0VBQ0g7QUFDRCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,33 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = postLoginRedirectSaga;
4
- const connected_react_router_1 = require("connected-react-router");
5
- const effects_1 = require("redux-saga/effects");
6
- const persistenceService_1 = require("../../services/persistenceService");
7
- const windowService_1 = require("../../services/windowService");
8
- const actions_1 = require("../actions");
1
+ import { push } from 'connected-react-router';
2
+ import { call, put, take } from 'redux-saga/effects';
3
+ import { persistenceService, returnUrlKey } from '../../services/persistenceService';
4
+ import { windowService } from '../../services/windowService';
5
+ import { AUTH_ACTION_TYPE, AUTH_TOKEN_SUCCESS_ACTION_TYPE } from '../actions';
6
+
9
7
  /**
10
8
  * Redirect the user after a successful log in.
11
9
  * Uses the saved `returnUrl`, if any, if different from the current pathname and is not the root url.
12
10
  */
13
- function* postLoginRedirectSaga() {
14
- while (true) {
15
- yield (0, effects_1.take)(actions_1.AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
16
- const location = windowService_1.windowService.getLocation();
17
- const pathname = location.pathname;
18
- const returnUrl = yield (0, effects_1.call)(persistenceService_1.persistenceService.getItem, persistenceService_1.returnUrlKey);
19
- // redirect to the `returnUrl` if it is different than the current pathname and is not the root url
20
- if (typeof returnUrl === 'string' &&
21
- returnUrl &&
22
- returnUrl !== pathname &&
23
- returnUrl !== '/' &&
24
- pathname === '/') {
25
- yield (0, effects_1.put)((0, connected_react_router_1.push)(returnUrl));
26
- }
27
- // always clear `returnUrl`
28
- if (returnUrl) {
29
- yield (0, effects_1.call)(persistenceService_1.persistenceService.removeItem, persistenceService_1.returnUrlKey);
30
- }
31
- yield (0, effects_1.take)(actions_1.AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
11
+ export default function* postLoginRedirectSaga() {
12
+ while (true) {
13
+ yield take(AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
14
+ const location = windowService.getLocation();
15
+ const pathname = location.pathname;
16
+ const returnUrl = yield call(persistenceService.getItem, returnUrlKey);
17
+ // redirect to the `returnUrl` if it is different than the current pathname and is not the root url
18
+ if (typeof returnUrl === 'string' && returnUrl && returnUrl !== pathname && returnUrl !== '/' && pathname === '/') {
19
+ yield put(push(returnUrl));
32
20
  }
21
+ // always clear `returnUrl`
22
+ if (returnUrl) {
23
+ yield call(persistenceService.removeItem, returnUrlKey);
24
+ }
25
+ yield take(AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
26
+ }
33
27
  }
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwdXNoIiwiY2FsbCIsInB1dCIsInRha2UiLCJwZXJzaXN0ZW5jZVNlcnZpY2UiLCJyZXR1cm5VcmxLZXkiLCJ3aW5kb3dTZXJ2aWNlIiwiQVVUSF9BQ1RJT05fVFlQRSIsIkFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSIsInBvc3RMb2dpblJlZGlyZWN0U2FnYSIsIkdFVF9UT0tFTl9TVUNDRUVERUQiLCJsb2NhdGlvbiIsImdldExvY2F0aW9uIiwicGF0aG5hbWUiLCJyZXR1cm5VcmwiLCJnZXRJdGVtIiwicmVtb3ZlSXRlbSIsIkxPR19PVVRfUkVRVUVTVEVEIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZHV4L3NhZ2FzL3Bvc3RMb2dpblJlZGlyZWN0U2FnYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwdXNoIH0gZnJvbSAnY29ubmVjdGVkLXJlYWN0LXJvdXRlcidcbmltcG9ydCB7IFNhZ2FJdGVyYXRvciB9IGZyb20gJ3JlZHV4LXNhZ2EnXG5pbXBvcnQgeyBjYWxsLCBwdXQsIHRha2UgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnXG5pbXBvcnQgeyBwZXJzaXN0ZW5jZVNlcnZpY2UsIHJldHVyblVybEtleSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BlcnNpc3RlbmNlU2VydmljZSdcbmltcG9ydCB7IHdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3dTZXJ2aWNlJ1xuaW1wb3J0IHsgQVVUSF9BQ1RJT05fVFlQRSwgQVVUSF9UT0tFTl9TVUNDRVNTX0FDVElPTl9UWVBFIH0gZnJvbSAnLi4vYWN0aW9ucydcblxuLyoqXG4gKiBSZWRpcmVjdCB0aGUgdXNlciBhZnRlciBhIHN1Y2Nlc3NmdWwgbG9nIGluLlxuICogVXNlcyB0aGUgc2F2ZWQgYHJldHVyblVybGAsIGlmIGFueSwgaWYgZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQgcGF0aG5hbWUgYW5kIGlzIG5vdCB0aGUgcm9vdCB1cmwuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKiBwb3N0TG9naW5SZWRpcmVjdFNhZ2EoKTogU2FnYUl0ZXJhdG9yIHtcblx0d2hpbGUgKHRydWUpIHtcblx0XHR5aWVsZCB0YWtlKEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRS5HRVRfVE9LRU5fU1VDQ0VFREVEKVxuXHRcdGNvbnN0IGxvY2F0aW9uID0gd2luZG93U2VydmljZS5nZXRMb2NhdGlvbigpXG5cdFx0Y29uc3QgcGF0aG5hbWUgPSBsb2NhdGlvbi5wYXRobmFtZVxuXHRcdGNvbnN0IHJldHVyblVybCA9IHlpZWxkIGNhbGwocGVyc2lzdGVuY2VTZXJ2aWNlLmdldEl0ZW0sIHJldHVyblVybEtleSlcblx0XHQvLyByZWRpcmVjdCB0byB0aGUgYHJldHVyblVybGAgaWYgaXQgaXMgZGlmZmVyZW50IHRoYW4gdGhlIGN1cnJlbnQgcGF0aG5hbWUgYW5kIGlzIG5vdCB0aGUgcm9vdCB1cmxcblx0XHRpZiAoXG5cdFx0XHR0eXBlb2YgcmV0dXJuVXJsID09PSAnc3RyaW5nJyAmJlxuXHRcdFx0cmV0dXJuVXJsICYmXG5cdFx0XHRyZXR1cm5VcmwgIT09IHBhdGhuYW1lICYmXG5cdFx0XHRyZXR1cm5VcmwgIT09ICcvJyAmJlxuXHRcdFx0cGF0aG5hbWUgPT09ICcvJ1xuXHRcdCkge1xuXHRcdFx0eWllbGQgcHV0KHB1c2gocmV0dXJuVXJsKSlcblx0XHR9XG5cdFx0Ly8gYWx3YXlzIGNsZWFyIGByZXR1cm5VcmxgXG5cdFx0aWYgKHJldHVyblVybCkge1xuXHRcdFx0eWllbGQgY2FsbChwZXJzaXN0ZW5jZVNlcnZpY2UucmVtb3ZlSXRlbSwgcmV0dXJuVXJsS2V5KVxuXHRcdH1cblx0XHR5aWVsZCB0YWtlKEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQpXG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsSUFBSSxRQUFRLHdCQUF3QjtBQUU3QyxTQUFTQyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLG9CQUFvQjtBQUNwRCxTQUFTQyxrQkFBa0IsRUFBRUMsWUFBWSxRQUFRLG1DQUFtQztBQUNwRixTQUFTQyxhQUFhLFFBQVEsOEJBQThCO0FBQzVELFNBQVNDLGdCQUFnQixFQUFFQyw4QkFBOEIsUUFBUSxZQUFZOztBQUU3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsVUFBVUMscUJBQXFCQSxDQUFBLEVBQWlCO0VBQzlELE9BQU8sSUFBSSxFQUFFO0lBQ1osTUFBTU4sSUFBSSxDQUFDSyw4QkFBOEIsQ0FBQ0UsbUJBQW1CLENBQUM7SUFDOUQsTUFBTUMsUUFBUSxHQUFHTCxhQUFhLENBQUNNLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLE1BQU1DLFFBQVEsR0FBR0YsUUFBUSxDQUFDRSxRQUFRO0lBQ2xDLE1BQU1DLFNBQVMsR0FBRyxNQUFNYixJQUFJLENBQUNHLGtCQUFrQixDQUFDVyxPQUFPLEVBQUVWLFlBQVksQ0FBQztJQUN0RTtJQUNBLElBQ0MsT0FBT1MsU0FBUyxLQUFLLFFBQVEsSUFDN0JBLFNBQVMsSUFDVEEsU0FBUyxLQUFLRCxRQUFRLElBQ3RCQyxTQUFTLEtBQUssR0FBRyxJQUNqQkQsUUFBUSxLQUFLLEdBQUcsRUFDZjtNQUNELE1BQU1YLEdBQUcsQ0FBQ0YsSUFBSSxDQUFDYyxTQUFTLENBQUMsQ0FBQztJQUMzQjtJQUNBO0lBQ0EsSUFBSUEsU0FBUyxFQUFFO01BQ2QsTUFBTWIsSUFBSSxDQUFDRyxrQkFBa0IsQ0FBQ1ksVUFBVSxFQUFFWCxZQUFZLENBQUM7SUFDeEQ7SUFDQSxNQUFNRixJQUFJLENBQUNJLGdCQUFnQixDQUFDVSxpQkFBaUIsQ0FBQztFQUMvQztBQUNEIiwiaWdub3JlTGlzdCI6W119
@@ -1,69 +1,86 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setOtherDependentSagas = void 0;
4
- exports.default = rootSaga;
5
- const tslib_1 = require("tslib");
6
- const Sentry = tslib_1.__importStar(require("@sentry/react"));
7
- const effects_1 = require("redux-saga/effects");
8
- const configuration_1 = require("../../constants/configuration");
9
- const codeProviderService_1 = require("../../services/codeProviderService");
10
- const persistenceService_1 = require("../../services/persistenceService");
11
- const ticketProviderService_1 = require("../../services/ticketProviderService");
12
- const AuthAction_1 = require("../actions/AuthAction");
13
- const appInsightsSaga_1 = tslib_1.__importDefault(require("./appInsightsSaga"));
14
- const authSaga_1 = tslib_1.__importStar(require("./authSaga"));
15
- const caliperSaga_1 = tslib_1.__importDefault(require("./caliperSaga"));
16
- const clockOffsetSaga_1 = tslib_1.__importDefault(require("./clockOffsetSaga"));
17
- const configurationSaga_1 = tslib_1.__importDefault(require("./configurationSaga"));
18
- const downtimeApiErrorSaga_1 = tslib_1.__importDefault(require("./downtimeApiErrorSaga"));
19
- const errorSaga_1 = tslib_1.__importDefault(require("./errorSaga"));
20
- const googleAnalyticsSaga_1 = tslib_1.__importDefault(require("./googleAnalyticsSaga"));
21
- const identityProviderSaga_1 = tslib_1.__importDefault(require("./identityProviderSaga"));
22
- const initialDataLoadSaga_1 = tslib_1.__importDefault(require("./initialDataLoadSaga"));
23
- const lockDownBrowserErrorSaga_1 = tslib_1.__importDefault(require("./lockDownBrowserErrorSaga"));
24
- const modelFetchSaga_1 = tslib_1.__importDefault(require("./modelFetchSaga"));
25
- const noStoreSaga_1 = tslib_1.__importDefault(require("./noStoreSaga"));
26
- const postLoginDataSaga_1 = tslib_1.__importDefault(require("./postLoginDataSaga"));
27
- const postLoginRedirectSaga_1 = tslib_1.__importDefault(require("./postLoginRedirectSaga"));
28
- const sentrySaga_1 = tslib_1.__importDefault(require("./sentrySaga"));
29
- const userIdSaga_1 = tslib_1.__importDefault(require("./userIdSaga"));
1
+ import * as Sentry from '@sentry/react';
2
+ import { all, takeEvery } from 'redux-saga/effects';
3
+ import { getAppConfig, getEndpointMappings } from '../../constants/configuration';
4
+ import { codeProviderService } from '../../services/codeProviderService';
5
+ import { persistenceService } from '../../services/persistenceService';
6
+ import { ticketProviderService } from '../../services/ticketProviderService';
7
+ import { AUTH_TOKEN_ACTION_TYPE } from '../actions/AuthAction';
8
+ import appInsightsSaga from './appInsightsSaga';
9
+ import authSaga, { getOAuthToken } from './authSaga';
10
+ import caliperSaga from './caliperSaga';
11
+ import clockOffsetSaga from './clockOffsetSaga';
12
+ import configurationSaga from './configurationSaga';
13
+ import downtimeApiErrorSaga from './downtimeApiErrorSaga';
14
+ import errorSaga from './errorSaga';
15
+ import googleAnalyticsSaga from './googleAnalyticsSaga';
16
+ import identityProviderSaga from './identityProviderSaga';
17
+ import initialDataLoadSaga from './initialDataLoadSaga';
18
+ import lockDownBrowserErrorSaga from './lockDownBrowserErrorSaga';
19
+ import modelFetchSaga from './modelFetchSaga';
20
+ import noStoreSaga from './noStoreSaga';
21
+ import postLoginDataSaga from './postLoginDataSaga';
22
+ import postLoginRedirectSaga from './postLoginRedirectSaga';
23
+ import sentrySaga from './sentrySaga';
24
+ import userIdSaga from './userIdSaga';
25
+
30
26
  //#region Setup
27
+
31
28
  let otherDependentSagas = {};
32
- const setOtherDependentSagas = (value) => {
33
- otherDependentSagas = value;
29
+ export const setOtherDependentSagas = value => {
30
+ otherDependentSagas = value;
34
31
  };
35
- exports.setOtherDependentSagas = setOtherDependentSagas;
32
+
36
33
  //#endregion Setup
34
+
37
35
  function* dependentSagas() {
38
- yield (0, effects_1.all)(Object.assign({ noStoreSaga: (0, noStoreSaga_1.default)(), configurationSaga: (0, configurationSaga_1.default)(), caliperSaga: (0, caliperSaga_1.default)(), userIdSaga: (0, userIdSaga_1.default)(), sentrySaga: (0, sentrySaga_1.default)(), googleAnalyticsSaga: (0, googleAnalyticsSaga_1.default)(), appInsightsSaga: (0, appInsightsSaga_1.default)(),
39
- // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
40
- initialDataLoadSaga: (0, initialDataLoadSaga_1.default)(), identityProviderSaga: (0, identityProviderSaga_1.default)(), postLoginRedirectSaga: (0, postLoginRedirectSaga_1.default)(), postLoginDataSaga: (0, postLoginDataSaga_1.default)(), clockOffsetSaga: (0, clockOffsetSaga_1.default)(), lockDownBrowserErrorSaga: (0, lockDownBrowserErrorSaga_1.default)(), downtimeApiErrorSaga: (0, downtimeApiErrorSaga_1.default)() }, otherDependentSagas));
36
+ yield all({
37
+ noStoreSaga: noStoreSaga(),
38
+ configurationSaga: configurationSaga(),
39
+ caliperSaga: caliperSaga(),
40
+ userIdSaga: userIdSaga(),
41
+ sentrySaga: sentrySaga(),
42
+ googleAnalyticsSaga: googleAnalyticsSaga(),
43
+ appInsightsSaga: appInsightsSaga(),
44
+ // eslint-disable-next-line @typescript-eslint/no-confusing-void-expression
45
+ initialDataLoadSaga: initialDataLoadSaga(),
46
+ identityProviderSaga: identityProviderSaga(),
47
+ postLoginRedirectSaga: postLoginRedirectSaga(),
48
+ postLoginDataSaga: postLoginDataSaga(),
49
+ clockOffsetSaga: clockOffsetSaga(),
50
+ lockDownBrowserErrorSaga: lockDownBrowserErrorSaga(),
51
+ downtimeApiErrorSaga: downtimeApiErrorSaga(),
52
+ ...otherDependentSagas
53
+ });
41
54
  }
42
55
  const errorHandler = (error, modelFetchRequestAction, fetchConfig, fetchResult, fetchErrorData) => {
43
- Sentry.captureException(error, {
44
- contexts: {
45
- 'Fetch Action': Object.assign({}, modelFetchRequestAction),
46
- 'Fetch Config': (fetchConfig || {}),
47
- 'Fetch Result': (fetchResult || {}),
48
- 'Fetch Error Data': (fetchErrorData || {})
49
- }
50
- });
51
- };
52
- function* rootSaga() {
53
- const appConfig = (0, configuration_1.getAppConfig)();
54
- const endpointMappings = (0, configuration_1.getEndpointMappings)();
55
- if (appConfig.IS_DOWNTIME) {
56
- return;
56
+ Sentry.captureException(error, {
57
+ contexts: {
58
+ 'Fetch Action': {
59
+ ...modelFetchRequestAction
60
+ },
61
+ 'Fetch Config': fetchConfig || {},
62
+ 'Fetch Result': fetchResult || {},
63
+ 'Fetch Error Data': fetchErrorData || {}
57
64
  }
58
- // Don’t start the remaining sagas until net and auth are initialized
59
- // takeEvery is used because we wouldn’t want to block on `take`
60
- yield (0, effects_1.takeEvery)(AuthAction_1.AUTH_TOKEN_ACTION_TYPE.AUTH_INITIALIZED, dependentSagas);
61
- yield (0, effects_1.all)({
62
- errorSaga: (0, errorSaga_1.default)(),
63
- modelFetchSaga: (0, modelFetchSaga_1.default)(endpointMappings, appConfig.API_BASE_URL, authSaga_1.getOAuthToken, errorHandler),
64
- authSaga: (0, authSaga_1.default)({
65
- client_id: appConfig.CLIENT_ID,
66
- client_secret: appConfig.CLIENT_SECRET
67
- }, persistenceService_1.persistenceService, ticketProviderService_1.ticketProviderService, codeProviderService_1.codeProviderService)
68
- });
65
+ });
66
+ };
67
+ export default function* rootSaga() {
68
+ const appConfig = getAppConfig();
69
+ const endpointMappings = getEndpointMappings();
70
+ if (appConfig.IS_DOWNTIME) {
71
+ return;
72
+ }
73
+
74
+ // Don’t start the remaining sagas until net and auth are initialized
75
+ // takeEvery is used because we wouldn’t want to block on `take`
76
+ yield takeEvery(AUTH_TOKEN_ACTION_TYPE.AUTH_INITIALIZED, dependentSagas);
77
+ yield all({
78
+ errorSaga: errorSaga(),
79
+ modelFetchSaga: modelFetchSaga(endpointMappings, appConfig.API_BASE_URL, getOAuthToken, errorHandler),
80
+ authSaga: authSaga({
81
+ client_id: appConfig.CLIENT_ID,
82
+ client_secret: appConfig.CLIENT_SECRET
83
+ }, persistenceService, ticketProviderService, codeProviderService)
84
+ });
69
85
  }
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZW50cnkiLCJhbGwiLCJ0YWtlRXZlcnkiLCJnZXRBcHBDb25maWciLCJnZXRFbmRwb2ludE1hcHBpbmdzIiwiY29kZVByb3ZpZGVyU2VydmljZSIsInBlcnNpc3RlbmNlU2VydmljZSIsInRpY2tldFByb3ZpZGVyU2VydmljZSIsIkFVVEhfVE9LRU5fQUNUSU9OX1RZUEUiLCJhcHBJbnNpZ2h0c1NhZ2EiLCJhdXRoU2FnYSIsImdldE9BdXRoVG9rZW4iLCJjYWxpcGVyU2FnYSIsImNsb2NrT2Zmc2V0U2FnYSIsImNvbmZpZ3VyYXRpb25TYWdhIiwiZG93bnRpbWVBcGlFcnJvclNhZ2EiLCJlcnJvclNhZ2EiLCJnb29nbGVBbmFseXRpY3NTYWdhIiwiaWRlbnRpdHlQcm92aWRlclNhZ2EiLCJpbml0aWFsRGF0YUxvYWRTYWdhIiwibG9ja0Rvd25Ccm93c2VyRXJyb3JTYWdhIiwibW9kZWxGZXRjaFNhZ2EiLCJub1N0b3JlU2FnYSIsInBvc3RMb2dpbkRhdGFTYWdhIiwicG9zdExvZ2luUmVkaXJlY3RTYWdhIiwic2VudHJ5U2FnYSIsInVzZXJJZFNhZ2EiLCJvdGhlckRlcGVuZGVudFNhZ2FzIiwic2V0T3RoZXJEZXBlbmRlbnRTYWdhcyIsInZhbHVlIiwiZGVwZW5kZW50U2FnYXMiLCJlcnJvckhhbmRsZXIiLCJlcnJvciIsIm1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uIiwiZmV0Y2hDb25maWciLCJmZXRjaFJlc3VsdCIsImZldGNoRXJyb3JEYXRhIiwiY2FwdHVyZUV4Y2VwdGlvbiIsImNvbnRleHRzIiwicm9vdFNhZ2EiLCJhcHBDb25maWciLCJlbmRwb2ludE1hcHBpbmdzIiwiSVNfRE9XTlRJTUUiLCJBVVRIX0lOSVRJQUxJWkVEIiwiQVBJX0JBU0VfVVJMIiwiY2xpZW50X2lkIiwiQ0xJRU5UX0lEIiwiY2xpZW50X3NlY3JldCIsIkNMSUVOVF9TRUNSRVQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkdXgvc2FnYXMvcm9vdFNhZ2EudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gJ0BzZW50cnkvcmVhY3QnXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbG9kYXNoJ1xuaW1wb3J0IHsgU2FnYUl0ZXJhdG9yIH0gZnJvbSAncmVkdXgtc2FnYSdcbmltcG9ydCB7IGFsbCwgQWxsRWZmZWN0LCBGb3JrRWZmZWN0LCB0YWtlRXZlcnkgfSBmcm9tICdyZWR1eC1zYWdhL2VmZmVjdHMnXG5pbXBvcnQgeyBnZXRBcHBDb25maWcsIGdldEVuZHBvaW50TWFwcGluZ3MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29uZmlndXJhdGlvbidcbmltcG9ydCB7IGNvZGVQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb2RlUHJvdmlkZXJTZXJ2aWNlJ1xuaW1wb3J0IHsgcGVyc2lzdGVuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcGVyc2lzdGVuY2VTZXJ2aWNlJ1xuaW1wb3J0IHsgdGlja2V0UHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0UHJvdmlkZXJTZXJ2aWNlJ1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBGZXRjaENvbmZpZywgRmV0Y2hFcnJvckRhdGEsIEZldGNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBBVVRIX1RPS0VOX0FDVElPTl9UWVBFIH0gZnJvbSAnLi4vYWN0aW9ucy9BdXRoQWN0aW9uJ1xuaW1wb3J0IHsgTW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24sIFBlcmlvZGljTW9kZWxGZXRjaFJlcXVlc3RBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL01vZGVsQWN0aW9uJ1xuaW1wb3J0IGFwcEluc2lnaHRzU2FnYSBmcm9tICcuL2FwcEluc2lnaHRzU2FnYSdcbmltcG9ydCBhdXRoU2FnYSwgeyBnZXRPQXV0aFRva2VuIH0gZnJvbSAnLi9hdXRoU2FnYSdcbmltcG9ydCBjYWxpcGVyU2FnYSBmcm9tICcuL2NhbGlwZXJTYWdhJ1xuaW1wb3J0IGNsb2NrT2Zmc2V0U2FnYSBmcm9tICcuL2Nsb2NrT2Zmc2V0U2FnYSdcbmltcG9ydCBjb25maWd1cmF0aW9uU2FnYSBmcm9tICcuL2NvbmZpZ3VyYXRpb25TYWdhJ1xuaW1wb3J0IGRvd250aW1lQXBpRXJyb3JTYWdhIGZyb20gJy4vZG93bnRpbWVBcGlFcnJvclNhZ2EnXG5pbXBvcnQgZXJyb3JTYWdhIGZyb20gJy4vZXJyb3JTYWdhJ1xuaW1wb3J0IGdvb2dsZUFuYWx5dGljc1NhZ2EgZnJvbSAnLi9nb29nbGVBbmFseXRpY3NTYWdhJ1xuaW1wb3J0IGlkZW50aXR5UHJvdmlkZXJTYWdhIGZyb20gJy4vaWRlbnRpdHlQcm92aWRlclNhZ2EnXG5pbXBvcnQgaW5pdGlhbERhdGFMb2FkU2FnYSBmcm9tICcuL2luaXRpYWxEYXRhTG9hZFNhZ2EnXG5pbXBvcnQgbG9ja0Rvd25Ccm93c2VyRXJyb3JTYWdhIGZyb20gJy4vbG9ja0Rvd25Ccm93c2VyRXJyb3JTYWdhJ1xuaW1wb3J0IG1vZGVsRmV0Y2hTYWdhIGZyb20gJy4vbW9kZWxGZXRjaFNhZ2EnXG5pbXBvcnQgbm9TdG9yZVNhZ2EgZnJvbSAnLi9ub1N0b3JlU2FnYSdcbmltcG9ydCBwb3N0TG9naW5EYXRhU2FnYSBmcm9tICcuL3Bvc3RMb2dpbkRhdGFTYWdhJ1xuaW1wb3J0IHBvc3RMb2dpblJlZGlyZWN0U2FnYSBmcm9tICcuL3Bvc3RMb2dpblJlZGlyZWN0U2FnYSdcbmltcG9ydCBzZW50cnlTYWdhIGZyb20gJy4vc2VudHJ5U2FnYSdcbmltcG9ydCB1c2VySWRTYWdhIGZyb20gJy4vdXNlcklkU2FnYSdcblxuLy8jcmVnaW9uIFNldHVwXG5cbmxldCBvdGhlckRlcGVuZGVudFNhZ2FzOiBEaWN0aW9uYXJ5PFNhZ2FJdGVyYXRvcj4gPSB7fVxuXG5leHBvcnQgY29uc3Qgc2V0T3RoZXJEZXBlbmRlbnRTYWdhcyA9ICh2YWx1ZTogRGljdGlvbmFyeTxTYWdhSXRlcmF0b3I+KSA9PiB7XG5cdG90aGVyRGVwZW5kZW50U2FnYXMgPSB2YWx1ZVxufVxuXG4vLyNlbmRyZWdpb24gU2V0dXBcblxuZnVuY3Rpb24qIGRlcGVuZGVudFNhZ2FzKCkge1xuXHR5aWVsZCBhbGwoe1xuXHRcdG5vU3RvcmVTYWdhOiBub1N0b3JlU2FnYSgpLFxuXHRcdGNvbmZpZ3VyYXRpb25TYWdhOiBjb25maWd1cmF0aW9uU2FnYSgpLFxuXHRcdGNhbGlwZXJTYWdhOiBjYWxpcGVyU2FnYSgpLFxuXHRcdHVzZXJJZFNhZ2E6IHVzZXJJZFNhZ2EoKSxcblx0XHRzZW50cnlTYWdhOiBzZW50cnlTYWdhKCksXG5cdFx0Z29vZ2xlQW5hbHl0aWNzU2FnYTogZ29vZ2xlQW5hbHl0aWNzU2FnYSgpLFxuXHRcdGFwcEluc2lnaHRzU2FnYTogYXBwSW5zaWdodHNTYWdhKCksXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctdm9pZC1leHByZXNzaW9uXG5cdFx0aW5pdGlhbERhdGFMb2FkU2FnYTogaW5pdGlhbERhdGFMb2FkU2FnYSgpLFxuXHRcdGlkZW50aXR5UHJvdmlkZXJTYWdhOiBpZGVudGl0eVByb3ZpZGVyU2FnYSgpLFxuXHRcdHBvc3RMb2dpblJlZGlyZWN0U2FnYTogcG9zdExvZ2luUmVkaXJlY3RTYWdhKCksXG5cdFx0cG9zdExvZ2luRGF0YVNhZ2E6IHBvc3RMb2dpbkRhdGFTYWdhKCksXG5cdFx0Y2xvY2tPZmZzZXRTYWdhOiBjbG9ja09mZnNldFNhZ2EoKSxcblx0XHRsb2NrRG93bkJyb3dzZXJFcnJvclNhZ2E6IGxvY2tEb3duQnJvd3NlckVycm9yU2FnYSgpLFxuXHRcdGRvd250aW1lQXBpRXJyb3JTYWdhOiBkb3dudGltZUFwaUVycm9yU2FnYSgpLFxuXHRcdC4uLm90aGVyRGVwZW5kZW50U2FnYXNcblx0fSlcbn1cblxuY29uc3QgZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIgPSAoXG5cdGVycm9yOiBFcnJvcixcblx0bW9kZWxGZXRjaFJlcXVlc3RBY3Rpb246IE1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uIHwgUGVyaW9kaWNNb2RlbEZldGNoUmVxdWVzdEFjdGlvbixcblx0ZmV0Y2hDb25maWc/OiBGZXRjaENvbmZpZyxcblx0ZmV0Y2hSZXN1bHQ/OiBGZXRjaFJlc3VsdCxcblx0ZmV0Y2hFcnJvckRhdGE/OiBGZXRjaEVycm9yRGF0YVxuKSA9PiB7XG5cdFNlbnRyeS5jYXB0dXJlRXhjZXB0aW9uKGVycm9yLCB7XG5cdFx0Y29udGV4dHM6IHtcblx0XHRcdCdGZXRjaCBBY3Rpb24nOiB7IC4uLm1vZGVsRmV0Y2hSZXF1ZXN0QWN0aW9uIH0sXG5cdFx0XHQnRmV0Y2ggQ29uZmlnJzogKGZldGNoQ29uZmlnIHx8IHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcblx0XHRcdCdGZXRjaCBSZXN1bHQnOiAoZmV0Y2hSZXN1bHQgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuXHRcdFx0J0ZldGNoIEVycm9yIERhdGEnOiAoZmV0Y2hFcnJvckRhdGEgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG5cdFx0fVxuXHR9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiogcm9vdFNhZ2EoKTogSXRlcmFibGVJdGVyYXRvcjxGb3JrRWZmZWN0IHwgQWxsRWZmZWN0PGFueT4+IHtcblx0Y29uc3QgYXBwQ29uZmlnID0gZ2V0QXBwQ29uZmlnKClcblx0Y29uc3QgZW5kcG9pbnRNYXBwaW5ncyA9IGdldEVuZHBvaW50TWFwcGluZ3MoKVxuXG5cdGlmIChhcHBDb25maWcuSVNfRE9XTlRJTUUpIHtcblx0XHRyZXR1cm5cblx0fVxuXG5cdC8vIERvbuKAmXQgc3RhcnQgdGhlIHJlbWFpbmluZyBzYWdhcyB1bnRpbCBuZXQgYW5kIGF1dGggYXJlIGluaXRpYWxpemVkXG5cdC8vIHRha2VFdmVyeSBpcyB1c2VkIGJlY2F1c2Ugd2Ugd291bGRu4oCZdCB3YW50IHRvIGJsb2NrIG9uIGB0YWtlYFxuXHR5aWVsZCB0YWtlRXZlcnkoQVVUSF9UT0tFTl9BQ1RJT05fVFlQRS5BVVRIX0lOSVRJQUxJWkVELCBkZXBlbmRlbnRTYWdhcylcblx0eWllbGQgYWxsKHtcblx0XHRlcnJvclNhZ2E6IGVycm9yU2FnYSgpLFxuXHRcdG1vZGVsRmV0Y2hTYWdhOiBtb2RlbEZldGNoU2FnYShlbmRwb2ludE1hcHBpbmdzLCBhcHBDb25maWcuQVBJX0JBU0VfVVJMLCBnZXRPQXV0aFRva2VuLCBlcnJvckhhbmRsZXIpLFxuXHRcdGF1dGhTYWdhOiBhdXRoU2FnYShcblx0XHRcdHtcblx0XHRcdFx0Y2xpZW50X2lkOiBhcHBDb25maWcuQ0xJRU5UX0lELFxuXHRcdFx0XHRjbGllbnRfc2VjcmV0OiBhcHBDb25maWcuQ0xJRU5UX1NFQ1JFVFxuXHRcdFx0fSxcblx0XHRcdHBlcnNpc3RlbmNlU2VydmljZSxcblx0XHRcdHRpY2tldFByb3ZpZGVyU2VydmljZSxcblx0XHRcdGNvZGVQcm92aWRlclNlcnZpY2Vcblx0XHQpXG5cdH0pXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsTUFBTSxNQUFNLGVBQWU7QUFHdkMsU0FBU0MsR0FBRyxFQUF5QkMsU0FBUyxRQUFRLG9CQUFvQjtBQUMxRSxTQUFTQyxZQUFZLEVBQUVDLG1CQUFtQixRQUFRLCtCQUErQjtBQUNqRixTQUFTQyxtQkFBbUIsUUFBUSxvQ0FBb0M7QUFDeEUsU0FBU0Msa0JBQWtCLFFBQVEsbUNBQW1DO0FBQ3RFLFNBQVNDLHFCQUFxQixRQUFRLHNDQUFzQztBQUU1RSxTQUFTQyxzQkFBc0IsUUFBUSx1QkFBdUI7QUFFOUQsT0FBT0MsZUFBZSxNQUFNLG1CQUFtQjtBQUMvQyxPQUFPQyxRQUFRLElBQUlDLGFBQWEsUUFBUSxZQUFZO0FBQ3BELE9BQU9DLFdBQVcsTUFBTSxlQUFlO0FBQ3ZDLE9BQU9DLGVBQWUsTUFBTSxtQkFBbUI7QUFDL0MsT0FBT0MsaUJBQWlCLE1BQU0scUJBQXFCO0FBQ25ELE9BQU9DLG9CQUFvQixNQUFNLHdCQUF3QjtBQUN6RCxPQUFPQyxTQUFT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
@@ -1,29 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = sentrySaga;
4
- const tslib_1 = require("tslib");
5
- const Sentry = tslib_1.__importStar(require("@sentry/react"));
6
- const effects_1 = require("redux-saga/effects");
7
- const configuration_1 = require("../../constants/configuration");
8
- const actions_1 = require("../actions");
9
- function* sentrySaga() {
10
- const appConfig = (0, configuration_1.getAppConfig)();
11
- const sentryDsn = appConfig.SENTRY_DSN;
12
- if (!sentryDsn) {
13
- return;
14
- }
15
- while (true) {
16
- const userInfoResponse = yield (0, effects_1.take)((action) => (0, actions_1.isModelFetchResultAction)(action) && action.modelPath === 'user.userInfo');
17
- const userInfo = userInfoResponse.data;
18
- let scope = Sentry.getCurrentScope();
19
- scope.setUser({
20
- id: userInfo.id,
21
- username: userInfo.userName,
22
- email: userInfo.email
23
- });
24
- yield (0, effects_1.take)(actions_1.AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
25
- scope = Sentry.getCurrentScope();
26
- scope.setUser({});
27
- yield (0, effects_1.take)(actions_1.AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
28
- }
1
+ import * as Sentry from '@sentry/react';
2
+ import { take } from 'redux-saga/effects';
3
+ import { getAppConfig } from '../../constants/configuration';
4
+ import { AUTH_ACTION_TYPE, AUTH_TOKEN_SUCCESS_ACTION_TYPE, isModelFetchResultAction } from '../actions';
5
+ export default function* sentrySaga() {
6
+ const appConfig = getAppConfig();
7
+ const sentryDsn = appConfig.SENTRY_DSN;
8
+ if (!sentryDsn) {
9
+ return;
10
+ }
11
+ while (true) {
12
+ const userInfoResponse = yield take(action => isModelFetchResultAction(action) && action.modelPath === 'user.userInfo');
13
+ const userInfo = userInfoResponse.data;
14
+ let scope = Sentry.getCurrentScope();
15
+ scope.setUser({
16
+ id: userInfo.id,
17
+ username: userInfo.userName,
18
+ email: userInfo.email
19
+ });
20
+ yield take(AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
21
+ scope = Sentry.getCurrentScope();
22
+ scope.setUser({});
23
+ yield take(AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
24
+ }
29
25
  }
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZW50cnkiLCJ0YWtlIiwiZ2V0QXBwQ29uZmlnIiwiQVVUSF9BQ1RJT05fVFlQRSIsIkFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSIsImlzTW9kZWxGZXRjaFJlc3VsdEFjdGlvbiIsInNlbnRyeVNhZ2EiLCJhcHBDb25maWciLCJzZW50cnlEc24iLCJTRU5UUllfRFNOIiwidXNlckluZm9SZXNwb25zZSIsImFjdGlvbiIsIm1vZGVsUGF0aCIsInVzZXJJbmZvIiwiZGF0YSIsInNjb3BlIiwiZ2V0Q3VycmVudFNjb3BlIiwic2V0VXNlciIsImlkIiwidXNlcm5hbWUiLCJ1c2VyTmFtZSIsImVtYWlsIiwiTE9HX09VVF9SRVFVRVNURUQiLCJHRVRfVE9LRU5fU1VDQ0VFREVEIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZHV4L3NhZ2FzL3NlbnRyeVNhZ2EudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgU2VudHJ5IGZyb20gJ0BzZW50cnkvcmVhY3QnXG5pbXBvcnQgeyBBbnlBY3Rpb24gfSBmcm9tICdyZWR1eCdcbmltcG9ydCB7IFNhZ2FJdGVyYXRvciB9IGZyb20gJ3JlZHV4LXNhZ2EnXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncmVkdXgtc2FnYS9lZmZlY3RzJ1xuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZ3VyYXRpb24nXG5pbXBvcnQgeyBBVVRIX0FDVElPTl9UWVBFLCBBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUsIGlzTW9kZWxGZXRjaFJlc3VsdEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKiBzZW50cnlTYWdhKCk6IFNhZ2FJdGVyYXRvciB7XG5cdGNvbnN0IGFwcENvbmZpZyA9IGdldEFwcENvbmZpZygpXG5cdGNvbnN0IHNlbnRyeURzbiA9IGFwcENvbmZpZy5TRU5UUllfRFNOXG5cdGlmICghc2VudHJ5RHNuKSB7XG5cdFx0cmV0dXJuXG5cdH1cblx0d2hpbGUgKHRydWUpIHtcblx0XHRjb25zdCB1c2VySW5mb1Jlc3BvbnNlID0geWllbGQgdGFrZShcblx0XHRcdChhY3Rpb246IEFueUFjdGlvbikgPT4gaXNNb2RlbEZldGNoUmVzdWx0QWN0aW9uKGFjdGlvbikgJiYgYWN0aW9uLm1vZGVsUGF0aCA9PT0gJ3VzZXIudXNlckluZm8nXG5cdFx0KVxuXHRcdGNvbnN0IHVzZXJJbmZvID0gdXNlckluZm9SZXNwb25zZS5kYXRhXG5cdFx0bGV0IHNjb3BlID0gU2VudHJ5LmdldEN1cnJlbnRTY29wZSgpXG5cdFx0c2NvcGUuc2V0VXNlcih7XG5cdFx0XHRpZDogdXNlckluZm8uaWQsXG5cdFx0XHR1c2VybmFtZTogdXNlckluZm8udXNlck5hbWUsXG5cdFx0XHRlbWFpbDogdXNlckluZm8uZW1haWxcblx0XHR9KVxuXHRcdHlpZWxkIHRha2UoQVVUSF9BQ1RJT05fVFlQRS5MT0dfT1VUX1JFUVVFU1RFRClcblx0XHRzY29wZSA9IFNlbnRyeS5nZXRDdXJyZW50U2NvcGUoKVxuXHRcdHNjb3BlLnNldFVzZXIoe30pXG5cdFx0eWllbGQgdGFrZShBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUuR0VUX1RPS0VOX1NVQ0NFRURFRClcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUtBLE1BQU0sTUFBTSxlQUFlO0FBR3ZDLFNBQVNDLElBQUksUUFBUSxvQkFBb0I7QUFDekMsU0FBU0MsWUFBWSxRQUFRLCtCQUErQjtBQUM1RCxTQUFTQyxnQkFBZ0IsRUFBRUMsOEJBQThCLEVBQUVDLHdCQUF3QixRQUFRLFlBQVk7QUFFdkcsZUFBZSxVQUFVQyxVQUFVQSxDQUFBLEVBQWlCO0VBQ25ELE1BQU1DLFNBQVMsR0FBR0wsWUFBWSxDQUFDLENBQUM7RUFDaEMsTUFBTU0sU0FBUyxHQUFHRCxTQUFTLENBQUNFLFVBQVU7RUFDdEMsSUFBSSxDQUFDRCxTQUFTLEVBQUU7SUFDZjtFQUNEO0VBQ0EsT0FBTyxJQUFJLEVBQUU7SUFDWixNQUFNRSxnQkFBZ0IsR0FBRyxNQUFNVCxJQUFJLENBQ2pDVSxNQUFpQixJQUFLTix3QkFBd0IsQ0FBQ00sTUFBTSxDQUFDLElBQUlBLE1BQU0sQ0FBQ0MsU0FBUyxLQUFLLGVBQ2pGLENBQUM7SUFDRCxNQUFNQyxRQUFRLEdBQUdILGdCQUFnQixDQUFDSSxJQUFJO0lBQ3RDLElBQUlDLEtBQUssR0FBR2YsTUFBTSxDQUFDZ0IsZUFBZSxDQUFDLENBQUM7SUFDcENELEtBQUssQ0FBQ0UsT0FBTyxDQUFDO01BQ2JDLEVBQUUsRUFBRUwsUUFBUSxDQUFDSyxFQUFFO01BQ2ZDLFFBQVEsRUFBRU4sUUFBUSxDQUFDTyxRQUFRO01BQzNCQyxLQUFLLEVBQUVSLFFBQVEsQ0FBQ1E7SUFDakIsQ0FBQyxDQUFDO0lBQ0YsTUFBTXBCLElBQUksQ0FBQ0UsZ0JBQWdCLENBQUNtQixpQkFBaUIsQ0FBQztJQUM5Q1AsS0FBSyxHQUFHZixNQUFNLENBQUNnQixlQUFlLENBQUMsQ0FBQztJQUNoQ0QsS0FBSyxDQUFDRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsTUFBTWhCLElBQUksQ0FBQ0csOEJBQThCLENBQUNtQixtQkFBbUIsQ0FBQztFQUMvRDtBQUNEIiwiaWdub3JlTGlzdCI6W119
@@ -1,16 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = userIdSaga;
4
- const effects_1 = require("redux-saga/effects");
5
- const constants_1 = require("../../constants");
6
- const actions_1 = require("../actions");
7
- function* userIdSaga() {
8
- while (true) {
9
- const userInfoResponse = yield (0, effects_1.take)((action) => (0, actions_1.isModelFetchResultAction)(action) && action.modelPath === 'user.userInfo');
10
- const userId = userInfoResponse.data.id;
11
- (0, constants_1.setUserId)(userId);
12
- yield (0, effects_1.take)(actions_1.AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
13
- (0, constants_1.setUserId)(null);
14
- yield (0, effects_1.take)(actions_1.AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
15
- }
1
+ import { take } from 'redux-saga/effects';
2
+ import { setUserId } from '../../constants';
3
+ import { AUTH_ACTION_TYPE, AUTH_TOKEN_SUCCESS_ACTION_TYPE, isModelFetchResultAction } from '../actions';
4
+ export default function* userIdSaga() {
5
+ while (true) {
6
+ const userInfoResponse = yield take(action => isModelFetchResultAction(action) && action.modelPath === 'user.userInfo');
7
+ const userId = userInfoResponse.data.id;
8
+ setUserId(userId);
9
+ yield take(AUTH_ACTION_TYPE.LOG_OUT_REQUESTED);
10
+ setUserId(null);
11
+ yield take(AUTH_TOKEN_SUCCESS_ACTION_TYPE.GET_TOKEN_SUCCEEDED);
12
+ }
16
13
  }
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0YWtlIiwic2V0VXNlcklkIiwiQVVUSF9BQ1RJT05fVFlQRSIsIkFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSIsImlzTW9kZWxGZXRjaFJlc3VsdEFjdGlvbiIsInVzZXJJZFNhZ2EiLCJ1c2VySW5mb1Jlc3BvbnNlIiwiYWN0aW9uIiwibW9kZWxQYXRoIiwidXNlcklkIiwiZGF0YSIsImlkIiwiTE9HX09VVF9SRVFVRVNURUQiLCJHRVRfVE9LRU5fU1VDQ0VFREVEIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZHV4L3NhZ2FzL3VzZXJJZFNhZ2EudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW55QWN0aW9uIH0gZnJvbSAncmVkdXgnXG5pbXBvcnQgeyBTYWdhSXRlcmF0b3IgfSBmcm9tICdyZWR1eC1zYWdhJ1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3JlZHV4LXNhZ2EvZWZmZWN0cydcbmltcG9ydCB7IHNldFVzZXJJZCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cydcbmltcG9ydCB7IEFVVEhfQUNUSU9OX1RZUEUsIEFVVEhfVE9LRU5fU1VDQ0VTU19BQ1RJT05fVFlQRSwgaXNNb2RlbEZldGNoUmVzdWx0QWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24qIHVzZXJJZFNhZ2EoKTogU2FnYUl0ZXJhdG9yIHtcblx0d2hpbGUgKHRydWUpIHtcblx0XHRjb25zdCB1c2VySW5mb1Jlc3BvbnNlID0geWllbGQgdGFrZShcblx0XHRcdChhY3Rpb246IEFueUFjdGlvbikgPT4gaXNNb2RlbEZldGNoUmVzdWx0QWN0aW9uKGFjdGlvbikgJiYgYWN0aW9uLm1vZGVsUGF0aCA9PT0gJ3VzZXIudXNlckluZm8nXG5cdFx0KVxuXHRcdGNvbnN0IHVzZXJJZDogc3RyaW5nID0gdXNlckluZm9SZXNwb25zZS5kYXRhLmlkXG5cdFx0c2V0VXNlcklkKHVzZXJJZClcblx0XHR5aWVsZCB0YWtlKEFVVEhfQUNUSU9OX1RZUEUuTE9HX09VVF9SRVFVRVNURUQpXG5cdFx0c2V0VXNlcklkKG51bGwpXG5cdFx0eWllbGQgdGFrZShBVVRIX1RPS0VOX1NVQ0NFU1NfQUNUSU9OX1RZUEUuR0VUX1RPS0VOX1NVQ0NFRURFRClcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxJQUFJLFFBQVEsb0JBQW9CO0FBQ3pDLFNBQVNDLFNBQVMsUUFBUSxpQkFBaUI7QUFDM0MsU0FBU0MsZ0JBQWdCLEVBQUVDLDhCQUE4QixFQUFFQyx3QkFBd0IsUUFBUSxZQUFZO0FBRXZHLGVBQWUsVUFBVUMsVUFBVUEsQ0FBQSxFQUFpQjtFQUNuRCxPQUFPLElBQUksRUFBRTtJQUNaLE1BQU1DLGdCQUFnQixHQUFHLE1BQU1OLElBQUksQ0FDakNPLE1BQWlCLElBQUtILHdCQUF3QixDQUFDRyxNQUFNLENBQUMsSUFBSUEsTUFBTSxDQUFDQyxTQUFTLEtBQUssZUFDakYsQ0FBQztJQUNELE1BQU1DLE1BQWMsR0FBR0gsZ0JBQWdCLENBQUNJLElBQUksQ0FBQ0MsRUFBRTtJQUMvQ1YsU0FBUyxDQUFDUSxNQUFNLENBQUM7SUFDakIsTUFBTVQsSUFBSSxDQUFDRSxnQkFBZ0IsQ0FBQ1UsaUJBQWlCLENBQUM7SUFDOUNYLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDZixNQUFNRCxJQUFJLENBQUNHLDhCQUE4QixDQUFDVSxtQkFBbUIsQ0FBQztFQUMvRDtBQUNEIiwiaWdub3JlTGlzdCI6W119