@mudrichenkoevgeny/web-platform-sdk-core-security 0.0.1 → 0.1.0
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/LICENSE +201 -201
- package/README.md +110 -110
- package/dist/di/security-component.d.ts +56 -0
- package/dist/di/security-component.d.ts.map +1 -0
- package/dist/di/security-component.test.d.ts +2 -0
- package/dist/di/security-component.test.d.ts.map +1 -0
- package/dist/error/model/security-error.d.ts +117 -0
- package/dist/error/model/security-error.d.ts.map +1 -0
- package/dist/error/model/security-error.test.d.ts +2 -0
- package/dist/error/model/security-error.test.d.ts.map +1 -0
- package/dist/error/parser/security-error-parser.d.ts +37 -0
- package/dist/error/parser/security-error-parser.d.ts.map +1 -0
- package/dist/error/parser/security-error-parser.test.d.ts +2 -0
- package/dist/error/parser/security-error-parser.test.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12255 -5155
- package/dist/integration/SecuritySettingsIntegration.test.d.ts +2 -0
- package/dist/integration/SecuritySettingsIntegration.test.d.ts.map +1 -0
- package/dist/mock/di/security-component-mock.d.ts +9 -0
- package/dist/mock/di/security-component-mock.d.ts.map +1 -0
- package/dist/mock/network/open-security-settings-api-mock.d.ts +25 -0
- package/dist/mock/network/open-security-settings-api-mock.d.ts.map +1 -0
- package/dist/mock/repository/open-security-settings-repository-mock.d.ts +28 -0
- package/dist/mock/repository/open-security-settings-repository-mock.d.ts.map +1 -0
- package/dist/mock/storage/open-security-settings-storage-mock.d.ts +31 -0
- package/dist/mock/storage/open-security-settings-storage-mock.d.ts.map +1 -0
- package/dist/mock/usecase/validate-password-use-case-mock.d.ts +22 -0
- package/dist/mock/usecase/validate-password-use-case-mock.d.ts.map +1 -0
- package/dist/network/api/security-settings/fetch-open-security-settings-api.d.ts +22 -0
- package/dist/network/api/security-settings/fetch-open-security-settings-api.d.ts.map +1 -0
- package/dist/network/api/security-settings/fetch-open-security-settings-api.test.d.ts +2 -0
- package/dist/network/api/security-settings/fetch-open-security-settings-api.test.d.ts.map +1 -0
- package/dist/network/api/security-settings/open-security-settings-api.d.ts +14 -0
- package/dist/network/api/security-settings/open-security-settings-api.d.ts.map +1 -0
- package/dist/network/api/security-settings/security-settings-dto-mapping.test.d.ts +2 -0
- package/dist/network/api/security-settings/security-settings-dto-mapping.test.d.ts.map +1 -0
- package/dist/network/contract/security-web-socket-event-types.d.ts +2 -0
- package/dist/network/contract/security-web-socket-event-types.d.ts.map +1 -0
- package/dist/network/websocket/message-handler/security-web-socket-message-handler.d.ts +15 -0
- package/dist/network/websocket/message-handler/security-web-socket-message-handler.d.ts.map +1 -0
- package/dist/network/websocket/message-handler/security-web-socket-message-handler.test.d.ts +2 -0
- package/dist/network/websocket/message-handler/security-web-socket-message-handler.test.d.ts.map +1 -0
- package/dist/repository/open-security-settings-repository-impl.d.ts +57 -0
- package/dist/repository/open-security-settings-repository-impl.d.ts.map +1 -0
- package/dist/repository/open-security-settings-repository-impl.test.d.ts +2 -0
- package/dist/repository/open-security-settings-repository-impl.test.d.ts.map +1 -0
- package/dist/repository/open-security-settings-repository.d.ts +35 -0
- package/dist/repository/open-security-settings-repository.d.ts.map +1 -0
- package/dist/storage/security-settings/encrypted-open-security-settings-storage.d.ts +32 -0
- package/dist/storage/security-settings/encrypted-open-security-settings-storage.d.ts.map +1 -0
- package/dist/storage/security-settings/encrypted-open-security-settings-storage.test.d.ts +2 -0
- package/dist/storage/security-settings/encrypted-open-security-settings-storage.test.d.ts.map +1 -0
- package/dist/storage/security-settings/open-security-settings-storage.d.ts +23 -0
- package/dist/storage/security-settings/open-security-settings-storage.d.ts.map +1 -0
- package/dist/usecase/observe-open-security-settings-use-case.d.ts +19 -0
- package/dist/usecase/observe-open-security-settings-use-case.d.ts.map +1 -0
- package/dist/usecase/observe-open-security-settings-use-case.test.d.ts +2 -0
- package/dist/usecase/observe-open-security-settings-use-case.test.d.ts.map +1 -0
- package/dist/usecase/refresh-open-security-settings-use-case.d.ts +22 -0
- package/dist/usecase/refresh-open-security-settings-use-case.d.ts.map +1 -0
- package/dist/usecase/refresh-open-security-settings-use-case.test.d.ts +2 -0
- package/dist/usecase/refresh-open-security-settings-use-case.test.d.ts.map +1 -0
- package/dist/usecase/validate-password-use-case.d.ts +26 -0
- package/dist/usecase/validate-password-use-case.d.ts.map +1 -0
- package/dist/usecase/validate-password-use-case.test.d.ts +2 -0
- package/dist/usecase/validate-password-use-case.test.d.ts.map +1 -0
- package/package.json +16 -7
- package/src/di/security-component.test.ts +0 -33
- package/src/di/security-component.ts +0 -86
- package/src/domain/model/open-security-settings.ts +0 -79
- package/src/domain/model/password-policy-validator.test.ts +0 -96
- package/src/domain/model/password-policy-validator.ts +0 -63
- package/src/error/model/security-error.test.ts +0 -65
- package/src/error/model/security-error.ts +0 -182
- package/src/error/naming/client-security-error-codes.ts +0 -21
- package/src/error/parser/security-error-parser.test.ts +0 -87
- package/src/error/parser/security-error-parser.ts +0 -138
- package/src/index.ts +0 -24
- package/src/locales/en/strings.ts +0 -67
- package/src/locales/index.ts +0 -2
- package/src/locales/ru/strings.ts +0 -35
- package/src/mock/di/security-component-mock.ts +0 -35
- package/src/mock/domain/model/open-security-settings-mock.ts +0 -52
- package/src/mock/network/model/open-security-settings-payload-mock.ts +0 -28
- package/src/mock/network/open-security-settings-api-mock.ts +0 -38
- package/src/mock/repository/open-security-settings-repository-mock.ts +0 -62
- package/src/mock/storage/open-security-settings-storage-mock.ts +0 -45
- package/src/mock/usecase/validate-password-use-case-mock.ts +0 -31
- package/src/network/contract/security-web-socket-event-types.ts +0 -7
- package/src/network/security-settings/fetch-open-security-settings-api.test.ts +0 -51
- package/src/network/security-settings/fetch-open-security-settings-api.ts +0 -30
- package/src/network/security-settings/open-security-settings-api.ts +0 -15
- package/src/network/websocket/message-handler/security-web-socket-message-handler.test.ts +0 -19
- package/src/network/websocket/message-handler/security-web-socket-message-handler.ts +0 -19
- package/src/repository/open-security-settings-repository-impl.test.ts +0 -112
- package/src/repository/open-security-settings-repository-impl.ts +0 -151
- package/src/repository/open-security-settings-repository.ts +0 -39
- package/src/storage/security-settings/encrypted-open-security-settings-storage.test.ts +0 -71
- package/src/storage/security-settings/encrypted-open-security-settings-storage.ts +0 -65
- package/src/storage/security-settings/open-security-settings-storage.ts +0 -25
- package/src/usecase/refresh-open-security-settings-use-case.ts +0 -26
- package/src/usecase/security-use-cases.test.ts +0 -67
- package/src/usecase/validate-password-use-case.ts +0 -76
- package/tsconfig.json +0 -16
- package/vite.config.ts +0 -50
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecuritySettingsIntegration.test.d.ts","sourceRoot":"","sources":["../../src/integration/SecuritySettingsIntegration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SecurityComponent, SecurityComponentConfig } from '../../di/security-component';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a pre-configured {@link SecurityComponent} instance for testing and Storybook preview purposes.
|
|
4
|
+
*
|
|
5
|
+
* @param config - Optional configuration overrides for the mock component
|
|
6
|
+
* @returns Fully initialized {@link SecurityComponent}
|
|
7
|
+
*/
|
|
8
|
+
export declare const createMockSecurityComponent: (config?: Partial<SecurityComponentConfig>) => SecurityComponent;
|
|
9
|
+
//# sourceMappingURL=security-component-mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-component-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/di/security-component-mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAStE;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,OAAO,CAAC,uBAAuB,CAAC,KACxC,iBAgBF,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { OpenSecuritySettingsPayload } from '@mudrichenkoevgeny/shared-foundation';
|
|
2
|
+
import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
3
|
+
import { OpenSecuritySettingsApi } from '../../network/api/security-settings/open-security-settings-api';
|
|
4
|
+
/**
|
|
5
|
+
* Mock implementation of {@link OpenSecuritySettingsApi}.
|
|
6
|
+
*/
|
|
7
|
+
export declare class OpenSecuritySettingsApiMock implements OpenSecuritySettingsApi {
|
|
8
|
+
private readonly mockPayload?;
|
|
9
|
+
private readonly shouldFail;
|
|
10
|
+
getSecuritySettingsCallCount: number;
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a new {@link OpenSecuritySettingsApiMock}.
|
|
13
|
+
*
|
|
14
|
+
* @param mockPayload - Initial mock payload to return
|
|
15
|
+
* @param shouldFail - Whether requests should return an error
|
|
16
|
+
*/
|
|
17
|
+
constructor(mockPayload?: OpenSecuritySettingsPayload | undefined, shouldFail?: boolean);
|
|
18
|
+
/**
|
|
19
|
+
* Simulates fetching open security settings.
|
|
20
|
+
*
|
|
21
|
+
* @returns Configured mock result or error
|
|
22
|
+
*/
|
|
23
|
+
getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettingsPayload, AppError>>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=open-security-settings-api-mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-api-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/network/open-security-settings-api-mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAA;AAEzG;;GAEG;AACH,qBAAa,2BAA4B,YAAW,uBAAuB;IAUvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAVtB,4BAA4B,SAAI;IAEvC;;;;;OAKG;gBAEgB,WAAW,CAAC,EAAE,2BAA2B,YAAA,EACzC,UAAU,GAAE,OAAe;IAG9C;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;CAUlG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
2
|
+
import { OpenSecuritySettingsRepository, OpenSecuritySettingsObserver } from '../../repository/open-security-settings-repository';
|
|
3
|
+
import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration options for {@link OpenSecuritySettingsRepositoryMock}.
|
|
6
|
+
*/
|
|
7
|
+
export interface OpenSecuritySettingsRepositoryMockConfig {
|
|
8
|
+
/** Initial settings payload. */
|
|
9
|
+
initialSettings?: OpenSecuritySettings;
|
|
10
|
+
/** If true, getter and refresh will return AppError. */
|
|
11
|
+
shouldFailGet?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Mock implementation of {@link OpenSecuritySettingsRepository} for testing and Storybook.
|
|
15
|
+
*/
|
|
16
|
+
export declare class OpenSecuritySettingsRepositoryMock implements OpenSecuritySettingsRepository {
|
|
17
|
+
refreshCallCount: number;
|
|
18
|
+
updateCallCount: number;
|
|
19
|
+
private settings;
|
|
20
|
+
private shouldFailGet;
|
|
21
|
+
private readonly observers;
|
|
22
|
+
constructor(config?: OpenSecuritySettingsRepositoryMockConfig);
|
|
23
|
+
getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
|
|
24
|
+
refreshOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
|
|
25
|
+
updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
|
|
26
|
+
observeOpenSecuritySettings(observer: OpenSecuritySettingsObserver): () => void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=open-security-settings-repository-mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-repository-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/repository/open-security-settings-repository-mock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAE1F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AACpG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAExG;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACvD,gCAAgC;IAChC,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,kCAAmC,YAAW,8BAA8B;IAChF,gBAAgB,SAAI;IACpB,eAAe,SAAI;IAC1B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;gBAEjD,MAAM,CAAC,EAAE,wCAAwC;IAKvD,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAO7E,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAQjF,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvF,2BAA2B,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI;CAOvF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OpenSecuritySettingsStorage } from '../../storage/security-settings/open-security-settings-storage';
|
|
2
|
+
import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
|
|
3
|
+
/**
|
|
4
|
+
* Mock in-memory implementation of {@link OpenSecuritySettingsStorage}.
|
|
5
|
+
*/
|
|
6
|
+
export declare class OpenSecuritySettingsStorageMock implements OpenSecuritySettingsStorage {
|
|
7
|
+
private settings;
|
|
8
|
+
/**
|
|
9
|
+
* Constructs a new {@link OpenSecuritySettingsStorageMock}.
|
|
10
|
+
*
|
|
11
|
+
* @param initialSettings - Initial cached settings
|
|
12
|
+
*/
|
|
13
|
+
constructor(initialSettings?: OpenSecuritySettings);
|
|
14
|
+
/**
|
|
15
|
+
* Retrieves the mock stored settings.
|
|
16
|
+
*
|
|
17
|
+
* @returns Mock settings or null
|
|
18
|
+
*/
|
|
19
|
+
getOpenSecuritySettings(): Promise<OpenSecuritySettings | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Updates the mock stored settings.
|
|
22
|
+
*
|
|
23
|
+
* @param securitySettings - New settings
|
|
24
|
+
*/
|
|
25
|
+
updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Clears the mock stored settings.
|
|
28
|
+
*/
|
|
29
|
+
clearOpenSecuritySettings(): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=open-security-settings-storage-mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-storage-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/storage/open-security-settings-storage-mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAA;AAC7G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF;;GAEG;AACH,qBAAa,+BAAgC,YAAW,2BAA2B;IACjF,OAAO,CAAC,QAAQ,CAAoC;IAEpD;;;;OAIG;gBACgB,eAAe,CAAC,EAAE,oBAAoB;IAMzD;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAI5E;;;;OAIG;IACU,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F;;OAEG;IACU,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
2
|
+
import { ValidatePasswordUseCase } from '../../usecase/validate-password-use-case';
|
|
3
|
+
/**
|
|
4
|
+
* Mock implementation of {@link ValidatePasswordUseCase} for testing UI components.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ValidatePasswordUseCaseMock extends ValidatePasswordUseCase {
|
|
7
|
+
private readonly shouldFail;
|
|
8
|
+
/**
|
|
9
|
+
* Constructs a new {@link ValidatePasswordUseCaseMock}.
|
|
10
|
+
*
|
|
11
|
+
* @param shouldFail - If true, mock will always fail with passwordTooShort
|
|
12
|
+
*/
|
|
13
|
+
constructor(shouldFail?: boolean);
|
|
14
|
+
/**
|
|
15
|
+
* Evaluates the candidate password synchronously.
|
|
16
|
+
*
|
|
17
|
+
* @param _password - Candidate password (ignored)
|
|
18
|
+
* @returns Configured mock result
|
|
19
|
+
*/
|
|
20
|
+
execute(_password: string): Promise<AppResult<void, AppError>>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=validate-password-use-case-mock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-password-use-case-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/usecase/validate-password-use-case-mock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAE1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAI9E;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAMnD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL9C;;;;OAIG;gBACiC,UAAU,GAAE,OAAe;IAI/D;;;;;OAKG;IACU,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAM5E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OpenSecuritySettingsPayload } from '@mudrichenkoevgeny/shared-foundation';
|
|
2
|
+
import { HttpClient, AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
3
|
+
import { OpenSecuritySettingsApi } from './open-security-settings-api';
|
|
4
|
+
/**
|
|
5
|
+
* Fetch HTTP client implementation of {@link OpenSecuritySettingsApi}.
|
|
6
|
+
*/
|
|
7
|
+
export declare class FetchOpenSecuritySettingsApi implements OpenSecuritySettingsApi {
|
|
8
|
+
private readonly httpClient;
|
|
9
|
+
/**
|
|
10
|
+
* Constructs a new {@link FetchOpenSecuritySettingsApi}.
|
|
11
|
+
*
|
|
12
|
+
* @param httpClient - Configured SDK HTTP client instance
|
|
13
|
+
*/
|
|
14
|
+
constructor(httpClient: HttpClient);
|
|
15
|
+
/**
|
|
16
|
+
* Executes HTTP GET request to retrieve open security settings payload.
|
|
17
|
+
*
|
|
18
|
+
* @returns AppResult wrapping {@link OpenSecuritySettingsPayload}
|
|
19
|
+
*/
|
|
20
|
+
getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettingsPayload, AppError>>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=fetch-open-security-settings-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-open-security-settings-api.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/fetch-open-security-settings-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AACtG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAE3E;;GAEG;AACH,qBAAa,4BAA6B,YAAW,uBAAuB;IAMvD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL9C;;;;OAIG;gBACiC,UAAU,EAAE,UAAU;IAE1D;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;CAQlG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-open-security-settings-api.test.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/fetch-open-security-settings-api.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OpenSecuritySettingsPayload } from '@mudrichenkoevgeny/shared-foundation';
|
|
2
|
+
import { AppError, AppResult } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
3
|
+
/**
|
|
4
|
+
* Direct HTTP REST API client interface for fetching open security settings.
|
|
5
|
+
*/
|
|
6
|
+
export interface OpenSecuritySettingsApi {
|
|
7
|
+
/**
|
|
8
|
+
* Fetches active open security settings payload from the server.
|
|
9
|
+
*
|
|
10
|
+
* @returns AppResult containing {@link OpenSecuritySettingsPayload} on success or {@link AppError} on failure
|
|
11
|
+
*/
|
|
12
|
+
getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettingsPayload, AppError>>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=open-security-settings-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-api.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/open-security-settings-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAA;AAE1F;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC,CAAA;CACrF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-settings-dto-mapping.test.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/security-settings-dto-mapping.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-web-socket-event-types.d.ts","sourceRoot":"","sources":["../../../src/network/contract/security-web-socket-event-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { WebSocketMessageHandler, WebSocketMessageHandlerResult, SocketFrame } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
2
|
+
/**
|
|
3
|
+
* WebSocket message handler for security domain frame types.
|
|
4
|
+
* Note: Real-time security settings updates are processed directly by {@link OpenSecuritySettingsRepositoryImpl}.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SecurityWebSocketMessageHandler implements WebSocketMessageHandler {
|
|
7
|
+
/**
|
|
8
|
+
* Processes incoming security WebSocket message frame.
|
|
9
|
+
*
|
|
10
|
+
* @param frame - Incoming socket frame
|
|
11
|
+
* @returns {@link WebSocketMessageHandlerResult}
|
|
12
|
+
*/
|
|
13
|
+
handle(_frame: SocketFrame): WebSocketMessageHandlerResult;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=security-web-socket-message-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-web-socket-message-handler.d.ts","sourceRoot":"","sources":["../../../../src/network/websocket/message-handler/security-web-socket-message-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,WAAW,EACZ,MAAM,iDAAiD,CAAA;AAExD;;;GAGG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E;;;;;OAKG;IACI,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,6BAA6B;CAGlE"}
|
package/dist/network/websocket/message-handler/security-web-socket-message-handler.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-web-socket-message-handler.test.d.ts","sourceRoot":"","sources":["../../../../src/network/websocket/message-handler/security-web-socket-message-handler.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { AppResult, AppError, WebSocketService } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
2
|
+
import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
|
|
3
|
+
import { OpenSecuritySettingsRepository, OpenSecuritySettingsObserver } from './open-security-settings-repository';
|
|
4
|
+
import { OpenSecuritySettingsApi } from '../network/api/security-settings/open-security-settings-api';
|
|
5
|
+
import { OpenSecuritySettingsStorage } from '../storage/security-settings/open-security-settings-storage';
|
|
6
|
+
/**
|
|
7
|
+
* Implementation of {@link OpenSecuritySettingsRepository} handling API fetch, encrypted storage, and WebSocket updates.
|
|
8
|
+
*/
|
|
9
|
+
export declare class OpenSecuritySettingsRepositoryImpl implements OpenSecuritySettingsRepository {
|
|
10
|
+
private readonly api;
|
|
11
|
+
private readonly storage;
|
|
12
|
+
private readonly webSocketService;
|
|
13
|
+
private readonly logger?;
|
|
14
|
+
private inMemorySettings;
|
|
15
|
+
private readonly observers;
|
|
16
|
+
private initializationPromise;
|
|
17
|
+
/**
|
|
18
|
+
* Constructs a new {@link OpenSecuritySettingsRepositoryImpl}.
|
|
19
|
+
*
|
|
20
|
+
* @param api - REST API client for open security settings
|
|
21
|
+
* @param storage - Encrypted storage backend for settings persistence
|
|
22
|
+
* @param webSocketService - WebSocket client for receiving real-time setting updates
|
|
23
|
+
* @param logger - Optional diagnostic logger
|
|
24
|
+
*/
|
|
25
|
+
constructor(api: OpenSecuritySettingsApi, storage: OpenSecuritySettingsStorage, webSocketService: WebSocketService, logger?: ((msg: string) => void) | undefined);
|
|
26
|
+
/**
|
|
27
|
+
* Retrieves security settings from memory, storage, or network.
|
|
28
|
+
*
|
|
29
|
+
* @returns Resolved security settings result
|
|
30
|
+
*/
|
|
31
|
+
getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
|
|
32
|
+
/**
|
|
33
|
+
* Forces a refresh from the network and persists result.
|
|
34
|
+
*
|
|
35
|
+
* @returns Updated security settings result
|
|
36
|
+
*/
|
|
37
|
+
refreshOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
|
|
38
|
+
/**
|
|
39
|
+
* Overwrites the active security settings (e.g. from WebSocket update).
|
|
40
|
+
*
|
|
41
|
+
* @param securitySettings - New active settings
|
|
42
|
+
*/
|
|
43
|
+
updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Subscribes to updates of the security settings.
|
|
46
|
+
*
|
|
47
|
+
* @param observer - Callback
|
|
48
|
+
* @returns Unsubscribe function
|
|
49
|
+
*/
|
|
50
|
+
observeOpenSecuritySettings(observer: OpenSecuritySettingsObserver): () => void;
|
|
51
|
+
private preloadCache;
|
|
52
|
+
private refreshOpenSecuritySettingsInternal;
|
|
53
|
+
private applySettingsUpdate;
|
|
54
|
+
private notifyObservers;
|
|
55
|
+
private startWebSocketObservation;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=open-security-settings-repository-impl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-repository-impl.d.ts","sourceRoot":"","sources":["../../src/repository/open-security-settings-repository-impl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAe,MAAM,iDAAiD,CAAA;AACzH,OAAO,EAA6D,KAAK,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3I,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AACpG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAA;AACzG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAA;AAG7G;;GAEG;AACH,qBAAa,kCAAmC,YAAW,8BAA8B;IAcrF,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAhB1B,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,qBAAqB,CAA6B;IAE1D;;;;;;;OAOG;gBAEgB,GAAG,EAAE,uBAAuB,EAC5B,OAAO,EAAE,2BAA2B,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,CAAC,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,aAAA;IAMjD;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAe1F;;;;OAIG;IACU,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAI9F;;;;OAIG;IACU,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F;;;;;OAKG;IACI,2BAA2B,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI;YAQxE,YAAY;YAcZ,mCAAmC;YASnC,mBAAmB;IAUjC,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,yBAAyB;CAmBlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-repository-impl.test.d.ts","sourceRoot":"","sources":["../../src/repository/open-security-settings-repository-impl.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
2
|
+
import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
|
|
3
|
+
/** Observer callback for security settings changes. */
|
|
4
|
+
export type OpenSecuritySettingsObserver = (settings: OpenSecuritySettings | null) => void;
|
|
5
|
+
/**
|
|
6
|
+
* Repository interface for retrieving, updating, and observing open security settings.
|
|
7
|
+
*/
|
|
8
|
+
export interface OpenSecuritySettingsRepository {
|
|
9
|
+
/**
|
|
10
|
+
* Retrieves in-memory or persisted settings. If unavailable, fetches from network.
|
|
11
|
+
*
|
|
12
|
+
* @returns AppResult containing current settings or error
|
|
13
|
+
*/
|
|
14
|
+
getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
|
|
15
|
+
/**
|
|
16
|
+
* Forces a network refresh of the open security settings and persists them.
|
|
17
|
+
*
|
|
18
|
+
* @returns AppResult containing updated settings or error
|
|
19
|
+
*/
|
|
20
|
+
refreshOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
|
|
21
|
+
/**
|
|
22
|
+
* Applies an external update to the settings and persists them.
|
|
23
|
+
*
|
|
24
|
+
* @param securitySettings - New settings snapshot
|
|
25
|
+
*/
|
|
26
|
+
updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Registers an observer for live updates to the security settings.
|
|
29
|
+
*
|
|
30
|
+
* @param observer - Callback receiving updated settings or null
|
|
31
|
+
* @returns Unsubscribe function
|
|
32
|
+
*/
|
|
33
|
+
observeOpenSecuritySettings(observer: OpenSecuritySettingsObserver): () => void;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=open-security-settings-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-repository.d.ts","sourceRoot":"","sources":["../../src/repository/open-security-settings-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF,uDAAuD;AACvD,MAAM,MAAM,4BAA4B,GAAG,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAA;AAE1F;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE7E;;;;OAIG;IACH,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEjF;;;;OAIG;IACH,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjF;;;;;OAKG;IACH,2BAA2B,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI,CAAA;CAChF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
|
|
2
|
+
import { EncryptedSettings } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
3
|
+
import { OpenSecuritySettingsStorage } from './open-security-settings-storage';
|
|
4
|
+
/**
|
|
5
|
+
* Storage implementation of {@link OpenSecuritySettingsStorage} backed by {@link EncryptedSettings}.
|
|
6
|
+
*/
|
|
7
|
+
export declare class EncryptedOpenSecuritySettingsStorage implements OpenSecuritySettingsStorage {
|
|
8
|
+
private readonly encryptedSettings;
|
|
9
|
+
/**
|
|
10
|
+
* Constructs a new {@link EncryptedOpenSecuritySettingsStorage}.
|
|
11
|
+
*
|
|
12
|
+
* @param encryptedSettings - Encrypted settings key-value store instance
|
|
13
|
+
*/
|
|
14
|
+
constructor(encryptedSettings: EncryptedSettings);
|
|
15
|
+
/**
|
|
16
|
+
* Retrieves and deserializes encrypted open security settings.
|
|
17
|
+
*
|
|
18
|
+
* @returns Deserialized settings or null if unreadable or absent
|
|
19
|
+
*/
|
|
20
|
+
getOpenSecuritySettings(): Promise<OpenSecuritySettings | null>;
|
|
21
|
+
/**
|
|
22
|
+
* Serializes and persists open security settings.
|
|
23
|
+
*
|
|
24
|
+
* @param securitySettings - Security settings snapshot to store
|
|
25
|
+
*/
|
|
26
|
+
updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Removes persisted open security settings from storage.
|
|
29
|
+
*/
|
|
30
|
+
clearOpenSecuritySettings(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=encrypted-open-security-settings-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypted-open-security-settings-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/security-settings/encrypted-open-security-settings-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAA;AAI7G;;GAEG;AACH,qBAAa,oCAAqC,YAAW,2BAA2B;IAMnE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALrD;;;;OAIG;gBACiC,iBAAiB,EAAE,iBAAiB;IAExE;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAoB5E;;;;OAIG;IACU,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9F;;OAEG;IACU,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypted-open-security-settings-storage.test.d.ts","sourceRoot":"","sources":["../../../src/storage/security-settings/encrypted-open-security-settings-storage.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
|
|
2
|
+
/**
|
|
3
|
+
* Persistence port for {@link OpenSecuritySettings} storage implementations.
|
|
4
|
+
*/
|
|
5
|
+
export interface OpenSecuritySettingsStorage {
|
|
6
|
+
/**
|
|
7
|
+
* Retrieves the stored {@link OpenSecuritySettings}, or null if none are persisted yet.
|
|
8
|
+
*
|
|
9
|
+
* @returns Promise resolving to stored settings or null
|
|
10
|
+
*/
|
|
11
|
+
getOpenSecuritySettings(): Promise<OpenSecuritySettings | null>;
|
|
12
|
+
/**
|
|
13
|
+
* Persists a new snapshot of {@link OpenSecuritySettings}.
|
|
14
|
+
*
|
|
15
|
+
* @param securitySettings - Snapshot to serialize and persist
|
|
16
|
+
*/
|
|
17
|
+
updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Removes persisted open security settings from storage, if present.
|
|
20
|
+
*/
|
|
21
|
+
clearOpenSecuritySettings(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=open-security-settings-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-security-settings-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/security-settings/open-security-settings-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAE/D;;;;OAIG;IACH,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjF;;OAEG;IACH,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OpenSecuritySettingsObserver, OpenSecuritySettingsRepository } from '../repository/open-security-settings-repository';
|
|
2
|
+
/** Subscribes an observer to live open security settings updates. */
|
|
3
|
+
export declare class ObserveOpenSecuritySettingsUseCase {
|
|
4
|
+
protected readonly repository: OpenSecuritySettingsRepository;
|
|
5
|
+
/**
|
|
6
|
+
* Constructs a new {@link ObserveOpenSecuritySettingsUseCase}.
|
|
7
|
+
*
|
|
8
|
+
* @param repository - Open security settings repository
|
|
9
|
+
*/
|
|
10
|
+
constructor(repository: OpenSecuritySettingsRepository);
|
|
11
|
+
/**
|
|
12
|
+
* Executes the use case to register an observer for settings changes.
|
|
13
|
+
*
|
|
14
|
+
* @param observer - Callback invoked when open security settings are updated
|
|
15
|
+
* @returns Unsubscribe cleanup function
|
|
16
|
+
*/
|
|
17
|
+
execute(observer: OpenSecuritySettingsObserver): () => void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=observe-open-security-settings-use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe-open-security-settings-use-case.d.ts","sourceRoot":"","sources":["../../src/usecase/observe-open-security-settings-use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAA;AAEnI,qEAAqE;AACrE,qBAAa,kCAAkC;IAM1B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,8BAA8B;IALhF;;;;OAIG;gBACmC,UAAU,EAAE,8BAA8B;IAEhF;;;;;OAKG;IACI,OAAO,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI;CAGnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe-open-security-settings-use-case.test.d.ts","sourceRoot":"","sources":["../../src/usecase/observe-open-security-settings-use-case.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
2
|
+
import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
|
|
3
|
+
import { OpenSecuritySettingsRepository } from '../repository/open-security-settings-repository';
|
|
4
|
+
/**
|
|
5
|
+
* Use case that delegates to {@link OpenSecuritySettingsRepository.refreshOpenSecuritySettings}.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RefreshOpenSecuritySettingsUseCase {
|
|
8
|
+
private readonly openSecuritySettingsRepository;
|
|
9
|
+
/**
|
|
10
|
+
* Constructs a new {@link RefreshOpenSecuritySettingsUseCase}.
|
|
11
|
+
*
|
|
12
|
+
* @param openSecuritySettingsRepository - Repository performing the network refresh and persistence
|
|
13
|
+
*/
|
|
14
|
+
constructor(openSecuritySettingsRepository: OpenSecuritySettingsRepository);
|
|
15
|
+
/**
|
|
16
|
+
* Executes the refresh operation.
|
|
17
|
+
*
|
|
18
|
+
* @returns Promise resolving to AppResult with refreshed settings or error
|
|
19
|
+
*/
|
|
20
|
+
execute(): Promise<AppResult<OpenSecuritySettings, AppError>>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=refresh-open-security-settings-use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-open-security-settings-use-case.d.ts","sourceRoot":"","sources":["../../src/usecase/refresh-open-security-settings-use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AAEpG;;GAEG;AACH,qBAAa,kCAAkC;IAO3C,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IANjD;;;;OAIG;gBAEgB,8BAA8B,EAAE,8BAA8B;IAGjF;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;CAG3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-open-security-settings-use-case.test.d.ts","sourceRoot":"","sources":["../../src/usecase/refresh-open-security-settings-use-case.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
|
|
2
|
+
import { PasswordPolicyValidator } from '@mudrichenkoevgeny/shared-foundation';
|
|
3
|
+
import { OpenSecuritySettingsRepository } from '../repository/open-security-settings-repository';
|
|
4
|
+
/**
|
|
5
|
+
* Validates a password string against the current {@link OpenPasswordPolicy} from {@link OpenSecuritySettingsRepository}.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ValidatePasswordUseCase {
|
|
8
|
+
private readonly openSecuritySettingsRepository;
|
|
9
|
+
private readonly passwordPolicyValidator;
|
|
10
|
+
/**
|
|
11
|
+
* Constructs a new {@link ValidatePasswordUseCase}.
|
|
12
|
+
*
|
|
13
|
+
* @param openSecuritySettingsRepository - Source of the active password policy
|
|
14
|
+
* @param passwordPolicyValidator - Pure domain logic validator implementation from shared foundation
|
|
15
|
+
*/
|
|
16
|
+
constructor(openSecuritySettingsRepository: OpenSecuritySettingsRepository, passwordPolicyValidator: PasswordPolicyValidator);
|
|
17
|
+
/**
|
|
18
|
+
* Evaluates the candidate password.
|
|
19
|
+
*
|
|
20
|
+
* @param password - Candidate password to validate
|
|
21
|
+
* @returns AppResult resolving to void on success, or SecurityError on failure
|
|
22
|
+
*/
|
|
23
|
+
execute(password: string): Promise<AppResult<void, AppError>>;
|
|
24
|
+
private toSecurityError;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=validate-password-use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-password-use-case.d.ts","sourceRoot":"","sources":["../../src/usecase/validate-password-use-case.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,EAEL,uBAAuB,EAExB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AAapG;;GAEG;AACH,qBAAa,uBAAuB;IAQhC,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAR1C;;;;;OAKG;gBAEgB,8BAA8B,EAAE,8BAA8B,EAC9D,uBAAuB,EAAE,uBAAuB;IAGnE;;;;;OAKG;IACU,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAiB1E,OAAO,CAAC,eAAe;CA2BxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-password-use-case.test.d.ts","sourceRoot":"","sources":["../../src/usecase/validate-password-use-case.test.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,23 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mudrichenkoevgeny/web-platform-sdk-core-security",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"type": "module",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist"
|
|
7
|
+
],
|
|
8
|
+
"sideEffects": false,
|
|
5
9
|
"main": "./dist/index.js",
|
|
6
10
|
"module": "./dist/index.js",
|
|
7
11
|
"types": "./dist/index.d.ts",
|
|
8
12
|
"exports": {
|
|
9
13
|
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
10
15
|
"import": "./dist/index.js",
|
|
11
|
-
"
|
|
16
|
+
"default": "./dist/index.js"
|
|
12
17
|
}
|
|
13
18
|
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/mudrichenkoevgeny/web-platform-sdk.git"
|
|
22
|
+
},
|
|
14
23
|
"peerDependencies": {
|
|
15
24
|
"react": "^18.0.0 || ^19.0.0",
|
|
16
25
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
17
26
|
},
|
|
18
27
|
"dependencies": {
|
|
19
|
-
"@mudrichenkoevgeny/shared-foundation": "^0.
|
|
20
|
-
"@mudrichenkoevgeny/web-platform-sdk-core-common": "0.0
|
|
28
|
+
"@mudrichenkoevgeny/shared-foundation": "^0.1.7",
|
|
29
|
+
"@mudrichenkoevgeny/web-platform-sdk-core-common": "0.1.0",
|
|
21
30
|
"clsx": "^2.1.1",
|
|
22
31
|
"tailwind-merge": "^3.7.0"
|
|
23
32
|
},
|
|
@@ -30,10 +39,10 @@
|
|
|
30
39
|
"@typescript/typescript6": "^6.0.2",
|
|
31
40
|
"jsdom": "^26.0.0",
|
|
32
41
|
"typescript": "^7.0.2",
|
|
33
|
-
"vite": "^8.3.
|
|
34
|
-
"vite-plugin-dts": "^5.1.
|
|
42
|
+
"vite": "^8.3.4",
|
|
43
|
+
"vite-plugin-dts": "^5.1.2",
|
|
35
44
|
"vite-plugin-svgr": "^5.2.0",
|
|
36
|
-
"vitest": "^5.0.
|
|
45
|
+
"vitest": "^5.0.4"
|
|
37
46
|
},
|
|
38
47
|
"scripts": {
|
|
39
48
|
"build": "vite build",
|