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.
- package/lib/components/ActionList.js +164 -37
- package/lib/components/AlertDialog.js +128 -12
- package/lib/components/AlertWithIcon.js +88 -29
- package/lib/components/ConnectedModal.js +35 -12
- package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
- package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
- package/lib/components/Dropdowns/UserDropdown.js +105 -24
- package/lib/components/Dropdowns/index.js +4 -10
- package/lib/components/EntityOwnerList.js +47 -21
- package/lib/components/Error.js +101 -12
- package/lib/components/ErrorBoundary.js +127 -38
- package/lib/components/ErrorMessage.js +39 -12
- package/lib/components/Forms/DateField.js +56 -45
- package/lib/components/Forms/TimeField.js +76 -45
- package/lib/components/Forms/index.js +3 -5
- package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
- package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
- package/lib/components/Groups/ExternalGroups/Table.js +176 -48
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.js +142 -23
- package/lib/components/HOC/AccessibleAppComponent.js +88 -72
- package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
- package/lib/components/HOC/AsyncComponent.js +49 -41
- package/lib/components/HOC/AuthenticatedComponent.js +55 -44
- package/lib/components/HOC/CollectionComponent.js +154 -104
- package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
- package/lib/components/HOC/CollectionItemComponent.js +152 -100
- package/lib/components/HOC/ConnectedModalComponent.js +87 -69
- package/lib/components/HOC/DataDependentComponent.js +26 -27
- package/lib/components/HOC/EntityComponent.js +57 -53
- package/lib/components/HOC/FullscreenModalComponent.js +139 -108
- package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
- package/lib/components/HOC/GuidComponent.js +20 -20
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
- package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
- package/lib/components/HOC/SearchPersistorComponent.js +237 -173
- package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
- package/lib/components/HOC/UserComponent.js +6 -8
- package/lib/components/Icons/IconAlphaList.js +28 -8
- package/lib/components/Icons/IconExternalUser.js +28 -8
- package/lib/components/Icons/IconImpersonation.js +28 -8
- package/lib/components/Icons/IconStopImpersonating.js +28 -8
- package/lib/components/Icons/IconTable.js +29 -9
- package/lib/components/Icons/IconTableDeleteCol.js +28 -8
- package/lib/components/Icons/IconTableDeleteRow.js +28 -8
- package/lib/components/Icons/IconTableInsertCol.js +28 -8
- package/lib/components/Icons/IconTableInsertRow.js +28 -8
- package/lib/components/Impersonation/Button.js +71 -16
- package/lib/components/Impersonation/Link.js +72 -16
- package/lib/components/Impersonation/UserDetail.js +60 -11
- package/lib/components/Loading.js +23 -8
- package/lib/components/LockDownBrowser/Check.js +188 -51
- package/lib/components/LockDownBrowser/ExitButton.js +22 -13
- package/lib/components/LockDownBrowser/Launch.js +64 -64
- package/lib/components/Lti/Confirm.js +147 -14
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
- package/lib/components/Lti/Launch.js +99 -25
- package/lib/components/Lti/LaunchGroup.js +81 -16
- package/lib/components/ManageTable.js +304 -90
- package/lib/components/ManageTableNoDataComponent.js +38 -7
- package/lib/components/NewVersionAlert.js +76 -49
- package/lib/components/NotFound.js +81 -11
- package/lib/components/Notifications.js +179 -129
- package/lib/components/PaginationNextButton.js +28 -9
- package/lib/components/PaginationPreviousButton.js +28 -9
- package/lib/components/Quill/CustomToolbar.js +427 -222
- package/lib/components/Quill/Formats/Image.js +67 -67
- package/lib/components/Quill/Formats/List.js +38 -47
- package/lib/components/Quill/Formats/Video.js +23 -26
- package/lib/components/Quill/ImageDropModule.js +136 -114
- package/lib/components/Quill/ImageWarning.js +41 -12
- package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
- package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
- package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
- package/lib/components/Quill/TableModule/constants.js +40 -42
- package/lib/components/Quill/TableModule/index.js +357 -305
- package/lib/components/Quill/TableModule/utils.js +39 -48
- package/lib/components/Quill/accessibilityFix.js +219 -223
- package/lib/components/Quill/index.js +30 -33
- package/lib/components/RefreshIndicator/Bordered.js +44 -10
- package/lib/components/RefreshIndicator/Inline.js +43 -12
- package/lib/components/RefreshIndicator/index.js +257 -62
- package/lib/components/SearchControls.js +211 -14
- package/lib/components/SentryRoute.js +5 -7
- package/lib/components/Tables/RoleFilter.js +66 -38
- package/lib/components/Tables/TextFilter.js +58 -18
- package/lib/components/UserRoles/Add.js +193 -99
- package/lib/components/UserRoles/Context.js +3 -6
- package/lib/components/UserRoles/RoleCell.js +176 -75
- package/lib/components/UserRoles/Select.js +151 -20
- package/lib/components/UserRoles/Table.js +215 -82
- package/lib/components/UserRoles/index.js +526 -386
- package/lib/config/eslint/index.js +26 -29
- package/lib/config/eslint/lib/order.js +21 -28
- package/lib/config/eslint/lib/prettier.js +15 -19
- package/lib/config/eslint/lib/typescript.js +87 -113
- package/lib/config/eslint/react.js +18 -15
- package/lib/constants/baseActivity.js +26 -28
- package/lib/constants/baseRole.js +10 -12
- package/lib/constants/configuration.js +43 -55
- package/lib/constants/externalProviderType.js +6 -8
- package/lib/constants/fetchErrorData.js +10 -12
- package/lib/constants/index.js +13 -15
- package/lib/constants/lockDownBrowser.js +23 -25
- package/lib/constants/mockData.js +370 -300
- package/lib/constants/modelStatus.js +11 -13
- package/lib/constants/notificationType.js +8 -10
- package/lib/constants/operatingSystem.js +8 -10
- package/lib/constants/shard.js +7 -9
- package/lib/constants/table.js +18 -22
- package/lib/constants/tier.js +8 -10
- package/lib/constants/userRole.js +11 -8
- package/lib/endpointMappings.js +191 -182
- package/lib/hooks/useCollection.js +79 -65
- package/lib/hooks/useCollectionConfiguration.js +220 -80
- package/lib/hooks/useCollectionItem.js +151 -57
- package/lib/hooks/useGuid.js +16 -9
- package/lib/hooks/usePrevious.js +14 -13
- package/lib/index.js +11 -26
- package/lib/redux/actionCreator.js +44 -35
- package/lib/redux/actions/AuthAction.js +45 -32
- package/lib/redux/actions/ModalAction.js +6 -8
- package/lib/redux/actions/ModelAction.js +95 -43
- package/lib/redux/actions/NotificationAction.js +6 -8
- package/lib/redux/actions/SearchAction.js +5 -7
- package/lib/redux/actions/index.js +6 -8
- package/lib/redux/configureReducers.js +48 -46
- package/lib/redux/configureStore.js +77 -91
- package/lib/redux/helpers.js +2 -5
- package/lib/redux/reducers/authReducer.js +44 -43
- package/lib/redux/reducers/index.js +7 -14
- package/lib/redux/reducers/modalsReducer.js +43 -31
- package/lib/redux/reducers/modelsReducer.js +131 -137
- package/lib/redux/reducers/notificationsReducer.js +20 -20
- package/lib/redux/reducers/searchReducer.js +13 -13
- package/lib/redux/sagas/appInsightsSaga.js +19 -21
- package/lib/redux/sagas/authSaga.js +248 -234
- package/lib/redux/sagas/caliperSaga.js +142 -131
- package/lib/redux/sagas/clockOffsetSaga.js +29 -32
- package/lib/redux/sagas/configurationSaga.js +8 -10
- package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
- package/lib/redux/sagas/errorSaga.js +23 -24
- package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
- package/lib/redux/sagas/identityProviderSaga.js +19 -21
- package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
- package/lib/redux/sagas/modelFetchSaga.js +302 -286
- package/lib/redux/sagas/noStoreSaga.js +60 -61
- package/lib/redux/sagas/postLoginDataSaga.js +37 -32
- package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
- package/lib/redux/sagas/rootSaga.js +77 -60
- package/lib/redux/sagas/sentrySaga.js +25 -28
- package/lib/redux/sagas/userIdSaga.js +13 -15
- package/lib/services/codeProviderService.js +21 -21
- package/lib/services/dateService.js +6 -8
- package/lib/services/documentService.js +10 -11
- package/lib/services/fetchService.js +103 -95
- package/lib/services/persistenceService.js +27 -30
- package/lib/services/ticketProviderService.js +25 -25
- package/lib/services/tokenPersistenceService.js +8 -10
- package/lib/services/windowService.js +14 -16
- package/lib/startup.js +110 -101
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.js +7 -9
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/Event.js +2 -2
- package/lib/types/ExternalGroup.js +2 -2
- package/lib/types/ExternalProvider.js +2 -2
- package/lib/types/ExternalTerm.js +2 -2
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/Quill.js +2 -2
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.js +2 -2
- package/lib/types/auth/AuthState.js +2 -2
- package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
- package/lib/types/auth/ClientCredentials.js +2 -2
- package/lib/types/auth/CodeProviderService.js +2 -2
- package/lib/types/auth/LocalLoginRequestBody.js +2 -2
- package/lib/types/auth/TicketProviderService.js +2 -2
- package/lib/types/auth/TokenPersistenceService.js +2 -2
- package/lib/types/auth/index.js +8 -10
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +29 -31
- package/lib/types/net/EndpointConfig.js +2 -2
- package/lib/types/net/EndpointMapping.js +2 -2
- package/lib/types/net/EndpointMappings.js +2 -2
- package/lib/types/net/ErrorHandler.js +2 -2
- package/lib/types/net/FetchConfig.js +2 -2
- package/lib/types/net/FetchErrorData.js +6 -8
- package/lib/types/net/FetchResult.js +2 -2
- package/lib/types/net/HTTPMethod.js +2 -2
- package/lib/types/net/HTTPStatusCode.js +12 -14
- package/lib/types/net/Metadata.js +2 -2
- package/lib/types/net/Model.js +2 -2
- package/lib/types/net/ModelCollection.js +2 -2
- package/lib/types/net/ModelsState.js +2 -2
- package/lib/types/net/OAuthToken.js +2 -2
- package/lib/types/net/OAuthTokenOrNull.js +2 -2
- package/lib/types/net/TokenAccessFunction.js +2 -2
- package/lib/types/net/index.js +17 -19
- package/lib/utils/baseActivity.js +83 -85
- package/lib/utils/baseRole.js +32 -36
- package/lib/utils/collection.js +403 -297
- package/lib/utils/cookies.js +19 -23
- package/lib/utils/date.js +188 -205
- package/lib/utils/dom.js +130 -131
- package/lib/utils/domainIdentifier.js +4 -8
- package/lib/utils/entityUserRole.js +2 -5
- package/lib/utils/error.js +14 -19
- package/lib/utils/events.js +32 -31
- package/lib/utils/externalGroup.js +20 -25
- package/lib/utils/externalProviders.js +4 -7
- package/lib/utils/externalTerms.js +6 -6
- package/lib/utils/fetch.js +168 -176
- package/lib/utils/group.js +14 -11
- package/lib/utils/groupDates.js +38 -46
- package/lib/utils/groupRoles.js +23 -32
- package/lib/utils/lockDownBrowser.js +12 -15
- package/lib/utils/logger.js +23 -28
- package/lib/utils/lti.js +4 -7
- package/lib/utils/model.js +28 -43
- package/lib/utils/number.js +9 -13
- package/lib/utils/promise.js +23 -26
- package/lib/utils/quill.js +55 -60
- package/lib/utils/route.js +52 -60
- package/lib/utils/search.js +72 -87
- package/lib/utils/shard.js +33 -42
- package/lib/utils/sort.js +47 -50
- package/lib/utils/string.js +10 -12
- package/lib/utils/table.js +29 -33
- package/lib/utils/timezone.js +7 -12
- package/lib/utils/url.js +130 -144
- package/lib/utils/user.js +54 -64
- package/lib/utils/userAgent.js +7 -14
- package/lib/utils/userRole.js +36 -39
- package/package.json +17 -3
|
@@ -1,73 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
11
|
-
|
|
5
|
+
|
|
6
|
+
export const matchesNoStoreAction = incomingAction => {
|
|
7
|
+
return incomingAction.type === MODEL_FETCH_REQUEST_ACTION_TYPE.FETCH_REQUEST && incomingAction.noStore === true;
|
|
12
8
|
};
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
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
|
-
|
|
28
|
-
|
|
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
|
-
|
|
23
|
+
export const registerNoStoreActionHook = (key, hook) => {
|
|
24
|
+
hooks[key] = hook;
|
|
35
25
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
delete hooks[key];
|
|
26
|
+
export const unregisterNoStoreActionHook = key => {
|
|
27
|
+
delete hooks[key];
|
|
39
28
|
};
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
export const noStoreHooks = {
|
|
30
|
+
registerNoStoreActionHook,
|
|
31
|
+
unregisterNoStoreActionHook
|
|
32
|
+
};
|
|
33
|
+
|
|
42
34
|
//#endregion Hooks
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
hook(
|
|
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
|
-
|
|
72
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 =
|
|
17
|
-
|
|
15
|
+
export const setOnPostLoginSaga = value => {
|
|
16
|
+
onPostLoginSaga = value;
|
|
18
17
|
};
|
|
19
|
-
|
|
18
|
+
|
|
20
19
|
//#endregion Setup
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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 =
|
|
33
|
-
|
|
29
|
+
export const setOtherDependentSagas = value => {
|
|
30
|
+
otherDependentSagas = value;
|
|
34
31
|
};
|
|
35
|
-
|
|
32
|
+
|
|
36
33
|
//#endregion Setup
|
|
34
|
+
|
|
37
35
|
function* dependentSagas() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|