@snabcentr/client-core 3.5.2 → 3.5.4
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/common/enums/index.d.ts +1 -0
- package/common/enums/request-state-status-enum.d.ts +17 -0
- package/common/index.d.ts +1 -0
- package/common/interfaces/index.d.ts +1 -0
- package/common/interfaces/sc-i-request-state.d.ts +35 -0
- package/esm2022/common/enums/index.mjs +2 -0
- package/esm2022/common/enums/request-state-status-enum.mjs +19 -0
- package/esm2022/common/index.mjs +2 -1
- package/esm2022/common/interfaces/index.mjs +2 -1
- package/esm2022/common/interfaces/sc-i-request-state.mjs +26 -0
- package/esm2022/guards/sc-auth-as-client.guard.mjs +4 -4
- package/fesm2022/snabcentr-client-core.mjs +156 -113
- package/fesm2022/snabcentr-client-core.mjs.map +1 -1
- package/package.json +1 -1
- package/release_notes.tmp +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './request-state-status-enum';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Статусы состояния запроса.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum ScRequestStateStatusEnum {
|
|
5
|
+
/**
|
|
6
|
+
* Статус загрузки.
|
|
7
|
+
*/
|
|
8
|
+
Loading = "loading",
|
|
9
|
+
/**
|
|
10
|
+
* Статус успешного выполнения запроса.
|
|
11
|
+
*/
|
|
12
|
+
Success = "success",
|
|
13
|
+
/**
|
|
14
|
+
* Статус ошибки.
|
|
15
|
+
*/
|
|
16
|
+
Error = "error"
|
|
17
|
+
}
|
package/common/index.d.ts
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { OperatorFunction } from 'rxjs';
|
|
2
|
+
import { ScRequestStateStatusEnum } from '../enums';
|
|
3
|
+
/**
|
|
4
|
+
* Состояние выполнения запроса.
|
|
5
|
+
*/
|
|
6
|
+
export type ScIRequestState<T> = {
|
|
7
|
+
status: ScRequestStateStatusEnum.Loading;
|
|
8
|
+
} | {
|
|
9
|
+
status: ScRequestStateStatusEnum.Success;
|
|
10
|
+
data: T;
|
|
11
|
+
} | {
|
|
12
|
+
status: ScRequestStateStatusEnum.Error;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Состояние загрузки.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ScLoadingRequestState: ScIRequestState<never>;
|
|
18
|
+
/**
|
|
19
|
+
* Состояние успешного выполнения запроса.
|
|
20
|
+
*
|
|
21
|
+
* @param requestData Данные запроса.
|
|
22
|
+
*/
|
|
23
|
+
export declare const ScSuccessRequestState: <T>(requestData: T) => ScIRequestState<T>;
|
|
24
|
+
/**
|
|
25
|
+
* Состояние ошибки.
|
|
26
|
+
*/
|
|
27
|
+
export declare const ScErrorRequestState: ScIRequestState<never>;
|
|
28
|
+
/**
|
|
29
|
+
* Преобразует поток данных в поток с состояниями запроса.
|
|
30
|
+
*/
|
|
31
|
+
export declare const mapToRequestState: <T>() => OperatorFunction<T, ScIRequestState<T>>;
|
|
32
|
+
/**
|
|
33
|
+
* Извлекает данные из потока состояний запроса или возвращает null.
|
|
34
|
+
*/
|
|
35
|
+
export declare const mapRequestStateToDataOrNull: <T>() => OperatorFunction<ScIRequestState<T>, T | null>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './request-state-status-enum';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9lbnVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LXN0YXRlLXN0YXR1cy1lbnVtJztcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Статусы состояния запроса.
|
|
3
|
+
*/
|
|
4
|
+
export var ScRequestStateStatusEnum;
|
|
5
|
+
(function (ScRequestStateStatusEnum) {
|
|
6
|
+
/**
|
|
7
|
+
* Статус загрузки.
|
|
8
|
+
*/
|
|
9
|
+
ScRequestStateStatusEnum["Loading"] = "loading";
|
|
10
|
+
/**
|
|
11
|
+
* Статус успешного выполнения запроса.
|
|
12
|
+
*/
|
|
13
|
+
ScRequestStateStatusEnum["Success"] = "success";
|
|
14
|
+
/**
|
|
15
|
+
* Статус ошибки.
|
|
16
|
+
*/
|
|
17
|
+
ScRequestStateStatusEnum["Error"] = "error";
|
|
18
|
+
})(ScRequestStateStatusEnum || (ScRequestStateStatusEnum = {}));
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zdGF0ZS1zdGF0dXMtZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tbW9uL2VudW1zL3JlcXVlc3Qtc3RhdGUtc3RhdHVzLWVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSx3QkFlWDtBQWZELFdBQVksd0JBQXdCO0lBQ2hDOztPQUVHO0lBQ0gsK0NBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwrQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDJDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQWZXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFlbkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqINCh0YLQsNGC0YPRgdGLINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0L/RgNC+0YHQsC5cbiAqL1xuZXhwb3J0IGVudW0gU2NSZXF1ZXN0U3RhdGVTdGF0dXNFbnVtIHtcbiAgICAvKipcbiAgICAgKiDQodGC0LDRgtGD0YEg0LfQsNCz0YDRg9C30LrQuC5cbiAgICAgKi9cbiAgICBMb2FkaW5nID0gJ2xvYWRpbmcnLFxuXG4gICAgLyoqXG4gICAgICog0KHRgtCw0YLRg9GBINGD0YHQv9C10YjQvdC+0LPQviDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQsC5cbiAgICAgKi9cbiAgICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuXG4gICAgLyoqXG4gICAgICog0KHRgtCw0YLRg9GBINC+0YjQuNCx0LrQuC5cbiAgICAgKi9cbiAgICBFcnJvciA9ICdlcnJvcicsXG59XG4iXX0=
|
package/esm2022/common/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './enums';
|
|
1
2
|
export * from './interfaces';
|
|
2
3
|
export * from './classes';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcyc7XG4iXX0=
|
|
@@ -15,4 +15,5 @@ export * from './sc-i-image';
|
|
|
15
15
|
export * from './sc-i-catalogable-item';
|
|
16
16
|
export * from './sc-i-hidden-catalogable-item';
|
|
17
17
|
export * from './sc-i-primary-catalogable-item';
|
|
18
|
-
|
|
18
|
+
export * from './sc-i-request-state';
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbW1vbi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUU3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYy1pLWNyZWF0ZWQtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLWRlbGV0ZWQtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLWlkZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS11cGRhdGVkLWF0JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1uYW1lZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2MtaS10eXBlZC1udWxsYWJsZS1yYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktZGF0ZS1wZXJpb2QnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NjLWktbmFtZWQtaWRlbnRpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLWNvZGVkLWlkZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1yZWZlcmVuY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NjLWktdXBkYXRhYmxlLW5hbWVkLWlkZW50aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1kZWxldGFibGUtbmFtZWQtaWRlbnRpdHknO1xuXG5leHBvcnQgKiBmcm9tICcuL3NjLWktZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktaW1hZ2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3NjLWktY2F0YWxvZ2FibGUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NjLWktaGlkZGVuLWNhdGFsb2dhYmxlLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zYy1pLXByaW1hcnktY2F0YWxvZ2FibGUtaXRlbSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc2MtaS1yZXF1ZXN0LXN0YXRlJztcbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { catchError, map, startWith } from 'rxjs/operators';
|
|
3
|
+
import { ScRequestStateStatusEnum } from '../enums';
|
|
4
|
+
/**
|
|
5
|
+
* Состояние загрузки.
|
|
6
|
+
*/
|
|
7
|
+
export const ScLoadingRequestState = { status: ScRequestStateStatusEnum.Loading };
|
|
8
|
+
/**
|
|
9
|
+
* Состояние успешного выполнения запроса.
|
|
10
|
+
*
|
|
11
|
+
* @param requestData Данные запроса.
|
|
12
|
+
*/
|
|
13
|
+
export const ScSuccessRequestState = (requestData) => ({ status: ScRequestStateStatusEnum.Success, data: requestData });
|
|
14
|
+
/**
|
|
15
|
+
* Состояние ошибки.
|
|
16
|
+
*/
|
|
17
|
+
export const ScErrorRequestState = { status: ScRequestStateStatusEnum.Error };
|
|
18
|
+
/**
|
|
19
|
+
* Преобразует поток данных в поток с состояниями запроса.
|
|
20
|
+
*/
|
|
21
|
+
export const mapToRequestState = () => (source$) => source$.pipe(map((requestData) => ScSuccessRequestState(requestData)), startWith(ScLoadingRequestState), catchError(() => of(ScErrorRequestState)));
|
|
22
|
+
/**
|
|
23
|
+
* Извлекает данные из потока состояний запроса или возвращает null.
|
|
24
|
+
*/
|
|
25
|
+
export const mapRequestStateToDataOrNull = () => (source$) => source$.pipe(map((requestState) => (requestState.status === ScRequestStateStatusEnum.Success ? requestState.data : null)));
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1yZXF1ZXN0LXN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21tb24vaW50ZXJmYWNlcy9zYy1pLXJlcXVlc3Qtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBb0IsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBT3BEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQTJCLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO0FBRTFHOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFJLFdBQWMsRUFBc0IsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBRWxKOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTJCLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixDQUFDLEtBQUssRUFBRSxDQUFDO0FBRXRHOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQzFCLEdBQStDLEVBQUUsQ0FDakQsQ0FBQyxPQUFzQixFQUFFLEVBQUUsQ0FDdkIsT0FBTyxDQUFDLElBQUksQ0FDUixHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3hELFNBQVMsQ0FBQyxxQkFBMkMsQ0FBQyxFQUN0RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLG1CQUF5QyxDQUFDLENBQUMsQ0FDbEUsQ0FBQztBQUVWOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQ3BDLEdBQXNELEVBQUUsQ0FDeEQsQ0FBQyxPQUF1QyxFQUFFLEVBQUUsQ0FDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2NSZXF1ZXN0U3RhdGVTdGF0dXNFbnVtIH0gZnJvbSAnLi4vZW51bXMnO1xuXG4vKipcbiAqINCh0L7RgdGC0L7Rj9C90LjQtSDQstGL0L/QvtC70L3QtdC90LjRjyDQt9Cw0L/RgNC+0YHQsC5cbiAqL1xuZXhwb3J0IHR5cGUgU2NJUmVxdWVzdFN0YXRlPFQ+ID0geyBzdGF0dXM6IFNjUmVxdWVzdFN0YXRlU3RhdHVzRW51bS5Mb2FkaW5nIH0gfCB7IHN0YXR1czogU2NSZXF1ZXN0U3RhdGVTdGF0dXNFbnVtLlN1Y2Nlc3M7IGRhdGE6IFQgfSB8IHsgc3RhdHVzOiBTY1JlcXVlc3RTdGF0ZVN0YXR1c0VudW0uRXJyb3IgfTtcblxuLyoqXG4gKiDQodC+0YHRgtC+0Y/QvdC40LUg0LfQsNCz0YDRg9C30LrQuC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNjTG9hZGluZ1JlcXVlc3RTdGF0ZTogU2NJUmVxdWVzdFN0YXRlPG5ldmVyPiA9IHsgc3RhdHVzOiBTY1JlcXVlc3RTdGF0ZVN0YXR1c0VudW0uTG9hZGluZyB9O1xuXG4vKipcbiAqINCh0L7RgdGC0L7Rj9C90LjQtSDRg9GB0L/QtdGI0L3QvtCz0L4g0LLRi9C/0L7Qu9C90LXQvdC40Y8g0LfQsNC/0YDQvtGB0LAuXG4gKlxuICogQHBhcmFtIHJlcXVlc3REYXRhINCU0LDQvdC90YvQtSDQt9Cw0L/RgNC+0YHQsC5cbiAqL1xuZXhwb3J0IGNvbnN0IFNjU3VjY2Vzc1JlcXVlc3RTdGF0ZSA9IDxUPihyZXF1ZXN0RGF0YTogVCk6IFNjSVJlcXVlc3RTdGF0ZTxUPiA9PiAoeyBzdGF0dXM6IFNjUmVxdWVzdFN0YXRlU3RhdHVzRW51bS5TdWNjZXNzLCBkYXRhOiByZXF1ZXN0RGF0YSB9KTtcblxuLyoqXG4gKiDQodC+0YHRgtC+0Y/QvdC40LUg0L7RiNC40LHQutC4LlxuICovXG5leHBvcnQgY29uc3QgU2NFcnJvclJlcXVlc3RTdGF0ZTogU2NJUmVxdWVzdFN0YXRlPG5ldmVyPiA9IHsgc3RhdHVzOiBTY1JlcXVlc3RTdGF0ZVN0YXR1c0VudW0uRXJyb3IgfTtcblxuLyoqXG4gKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC/0L7RgtC+0Log0LTQsNC90L3Ri9GFINCyINC/0L7RgtC+0Log0YEg0YHQvtGB0YLQvtGP0L3QuNGP0LzQuCDQt9Cw0L/RgNC+0YHQsC5cbiAqL1xuZXhwb3J0IGNvbnN0IG1hcFRvUmVxdWVzdFN0YXRlID1cbiAgICA8VD4oKTogT3BlcmF0b3JGdW5jdGlvbjxULCBTY0lSZXF1ZXN0U3RhdGU8VD4+ID0+XG4gICAgKHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pID0+XG4gICAgICAgIHNvdXJjZSQucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVxdWVzdERhdGEpID0+IFNjU3VjY2Vzc1JlcXVlc3RTdGF0ZShyZXF1ZXN0RGF0YSkpLFxuICAgICAgICAgICAgc3RhcnRXaXRoKFNjTG9hZGluZ1JlcXVlc3RTdGF0ZSBhcyBTY0lSZXF1ZXN0U3RhdGU8VD4pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihTY0Vycm9yUmVxdWVzdFN0YXRlIGFzIFNjSVJlcXVlc3RTdGF0ZTxUPikpXG4gICAgICAgICk7XG5cbi8qKlxuICog0JjQt9Cy0LvQtdC60LDQtdGCINC00LDQvdC90YvQtSDQuNC3INC/0L7RgtC+0LrQsCDRgdC+0YHRgtC+0Y/QvdC40Lkg0LfQsNC/0YDQvtGB0LAg0LjQu9C4INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCIG51bGwuXG4gKi9cbmV4cG9ydCBjb25zdCBtYXBSZXF1ZXN0U3RhdGVUb0RhdGFPck51bGwgPVxuICAgIDxUPigpOiBPcGVyYXRvckZ1bmN0aW9uPFNjSVJlcXVlc3RTdGF0ZTxUPiwgVCB8IG51bGw+ID0+XG4gICAgKHNvdXJjZSQ6IE9ic2VydmFibGU8U2NJUmVxdWVzdFN0YXRlPFQ+PikgPT5cbiAgICAgICAgc291cmNlJC5waXBlKG1hcCgocmVxdWVzdFN0YXRlKSA9PiAocmVxdWVzdFN0YXRlLnN0YXR1cyA9PT0gU2NSZXF1ZXN0U3RhdGVTdGF0dXNFbnVtLlN1Y2Nlc3MgPyByZXF1ZXN0U3RhdGUuZGF0YSA6IG51bGwpKSk7XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { concatMap,
|
|
2
|
+
import { concatMap, defaultIfEmpty, map, of, take } from 'rxjs';
|
|
3
3
|
import { SC_AUTH_AS_CLIENT_OPTIONS } from '../tokens/notification-options';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../auth";
|
|
@@ -29,7 +29,7 @@ export class ScAuthAsClientGuard {
|
|
|
29
29
|
canActivate(route) {
|
|
30
30
|
const expiredAt = new Date();
|
|
31
31
|
expiredAt.setMinutes(new Date().getMinutes() + this.options.expiredAtMinute);
|
|
32
|
-
return this.authService.getAuthChange().pipe(
|
|
32
|
+
return this.authService.getAuthChange().pipe(take(1), defaultIfEmpty(false),
|
|
33
33
|
// Если пользователь авторизирован, то завершаем сеанс.
|
|
34
34
|
concatMap((state) => (state ? this.authService.getSignOut$(false) : of(null))),
|
|
35
35
|
// Обновляем полученные ключи, чтобы они перестали действовать. getRefreshTokenObservable() запишет новые ключи в систему, после чего проложение само запросит нового пользователя.
|
|
@@ -42,7 +42,7 @@ export class ScAuthAsClientGuard {
|
|
|
42
42
|
token: route.paramMap.get('rtoken') ?? '',
|
|
43
43
|
expiredAt: expiredAt,
|
|
44
44
|
},
|
|
45
|
-
})),
|
|
45
|
+
})), take(1), defaultIfEmpty(null), map(() => this.router.createUrlTree(this.options.urlTree)));
|
|
46
46
|
}
|
|
47
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScAuthAsClientGuard, deps: [{ token: i1.ScAuthService }, { token: i2.Router }, { token: SC_AUTH_AS_CLIENT_OPTIONS }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
48
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScAuthAsClientGuard }); }
|
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
53
53
|
type: Inject,
|
|
54
54
|
args: [SC_AUTH_AS_CLIENT_OPTIONS]
|
|
55
55
|
}] }] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYXV0aC1hcy1jbGllbnQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2d1YXJkcy9zYy1hdXRoLWFzLWNsaWVudC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1RSxPQUFPLEVBQUUseUJBQXlCLEVBQXlCLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFFbEc7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCOzs7Ozs7T0FNRztJQUNILFlBQ1ksV0FBMEIsRUFDMUIsTUFBYyxFQUVILE9BQThCO1FBSHpDLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFFSCxZQUFPLEdBQVAsT0FBTyxDQUF1QjtJQUNsRCxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILHdEQUF3RDtJQUNqRCxXQUFXLENBQUMsS0FBNkI7UUFDNUMsTUFBTSxTQUFTLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU3RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUN4QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUNyQix1REFBdUQ7UUFDdkQsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzlFLG1MQUFtTDtRQUNuTCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztZQUM5QixNQUFNLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBQ3pDLFNBQVMsRUFBRSxTQUFTO2FBQ3ZCO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO2dCQUN6QyxTQUFTLEVBQUUsU0FBUzthQUN2QjtTQUNKLENBQUMsQ0FDTCxFQUNELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQ3BCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQzdELENBQUM7SUFDTixDQUFDOytHQS9DUSxtQkFBbUIscUVBV2hCLHlCQUF5QjttSEFYNUIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVOzswQkFZRixNQUFNOzJCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgZGVmYXVsdElmRW1wdHksIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgnO1xuaW1wb3J0IHsgU0NfQVVUSF9BU19DTElFTlRfT1BUSU9OUywgU2NBdXRoQXNDbGllbnRPcHRpb25zIH0gZnJvbSAnLi4vdG9rZW5zL25vdGlmaWNhdGlvbi1vcHRpb25zJztcblxuLyoqXG4gKiDQodC10YDQstC40YEg0LDRg9GC0LXQvdGC0LjRhNC40LrQsNGG0LjQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L3QsCDQvtGB0L3QvtCy0LUg0LrQu9GO0YfQtdC5LCDQv9C10YDQtdC00LDQvdC90YvRhSDQsiDQv9Cw0YDQsNC80LXRgtGA0LDRhSDQt9Cw0L/RgNC+0YHQsC5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNjQXV0aEFzQ2xpZW50R3VhcmQge1xuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgQXV0aEFzQ2xpZW50R3VhcmR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGF1dGhTZXJ2aWNlINCh0LXRgNCy0LjRgSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4LlxuICAgICAqIEBwYXJhbSByb3V0ZXIg0KHQtdGA0LLQuNGBINC80LDRgNGI0YDRg9GC0LjQt9Cw0YbQuNC4LlxuICAgICAqIEBwYXJhbSBvcHRpb25zINCf0LDRgNCw0LzQtdGC0YDRiyDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4INC/0L7QtCDQutC70LjQtdC90YLQvtC8LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogU2NBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChTQ19BVVRIX0FTX0NMSUVOVF9PUFRJT05TKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uczogU2NBdXRoQXNDbGllbnRPcHRpb25zXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICog0KDQsNC30YDQtdGI0LDQtdGCL9C30LDQv9GA0LXRidCw0LXRgiDQtNC+0YHRgtGD0L8g0Log0LzQsNGA0YjRgNGD0YLRgy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByb3V0ZSDQlNCw0L3QvdGL0LUg0L4g0YLQtdC60YPRidC10Lwg0LzQsNGA0YjRgNGD0YLQtS5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9mdW5jdGlvbi1yZXR1cm4tdHlwZVxuICAgIHB1YmxpYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgICAgIGNvbnN0IGV4cGlyZWRBdDogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGV4cGlyZWRBdC5zZXRNaW51dGVzKG5ldyBEYXRlKCkuZ2V0TWludXRlcygpICsgdGhpcy5vcHRpb25zLmV4cGlyZWRBdE1pbnV0ZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aENoYW5nZSgpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgZGVmYXVsdElmRW1wdHkoZmFsc2UpLFxuICAgICAgICAgICAgLy8g0JXRgdC70Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCw0LLRgtC+0YDQuNC30LjRgNC+0LLQsNC9LCDRgtC+INC30LDQstC10YDRiNCw0LXQvCDRgdC10LDQvdGBLlxuICAgICAgICAgICAgY29uY2F0TWFwKChzdGF0ZSkgPT4gKHN0YXRlID8gdGhpcy5hdXRoU2VydmljZS5nZXRTaWduT3V0JChmYWxzZSkgOiBvZihudWxsKSkpLFxuICAgICAgICAgICAgLy8g0J7QsdC90L7QstC70Y/QtdC8INC/0L7Qu9GD0YfQtdC90L3Ri9C1INC60LvRjtGH0LgsINGH0YLQvtCx0Ysg0L7QvdC4INC/0LXRgNC10YHRgtCw0LvQuCDQtNC10LnRgdGC0LLQvtCy0LDRgtGMLiBnZXRSZWZyZXNoVG9rZW5PYnNlcnZhYmxlKCkg0LfQsNC/0LjRiNC10YIg0L3QvtCy0YvQtSDQutC70Y7Rh9C4INCyINGB0LjRgdGC0LXQvNGDLCDQv9C+0YHQu9C1INGH0LXQs9C+INC/0YDQvtC70L7QttC10L3QuNC1INGB0LDQvNC+INC30LDQv9GA0L7RgdC40YIg0L3QvtCy0L7Qs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgICAgICAgIGNvbmNhdE1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuJCh7XG4gICAgICAgICAgICAgICAgICAgIGFjY2Vzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW46IHJvdXRlLnBhcmFtTWFwLmdldCgnYXRva2VuJykgPz8gJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVkQXQ6IGV4cGlyZWRBdCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW46IHJvdXRlLnBhcmFtTWFwLmdldCgncnRva2VuJykgPz8gJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVkQXQ6IGV4cGlyZWRBdCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBkZWZhdWx0SWZFbXB0eShudWxsKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHRoaXMub3B0aW9ucy51cmxUcmVlKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|