@snabcentr/common-lib 1.63.1 → 1.64.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.
Files changed (31) hide show
  1. package/dist/manifest.json +1 -1
  2. package/dist/release_notes.tmp +3 -3
  3. package/dist/sc-common-lib.js +1137 -989
  4. package/dist/sc-common-lib.js.map +1 -1
  5. package/dist/sc-common-lib.umd.cjs +1 -1
  6. package/dist/sc-common-lib.umd.cjs.map +1 -1
  7. package/dist/src/auth/classes/detailed-jwt-payload.d.ts +46 -0
  8. package/dist/src/auth/classes/detailed-jwt-payload.d.ts.map +1 -0
  9. package/dist/src/auth/classes/index.d.ts +3 -0
  10. package/dist/src/auth/classes/index.d.ts.map +1 -0
  11. package/dist/src/auth/classes/jwt-payload.d.ts +109 -0
  12. package/dist/src/auth/classes/jwt-payload.d.ts.map +1 -0
  13. package/dist/src/auth/index.d.ts +3 -0
  14. package/dist/src/auth/index.d.ts.map +1 -0
  15. package/dist/src/auth/interfaces/i-base-resource-access.d.ts +24 -0
  16. package/dist/src/auth/interfaces/i-base-resource-access.d.ts.map +1 -0
  17. package/dist/src/auth/interfaces/i-detailed-jwt-payload.d.ts +33 -0
  18. package/dist/src/auth/interfaces/i-detailed-jwt-payload.d.ts.map +1 -0
  19. package/dist/src/auth/interfaces/i-jwt-payload.d.ts +118 -0
  20. package/dist/src/auth/interfaces/i-jwt-payload.d.ts.map +1 -0
  21. package/dist/src/auth/interfaces/i-realm-access.d.ts +12 -0
  22. package/dist/src/auth/interfaces/i-realm-access.d.ts.map +1 -0
  23. package/dist/src/auth/interfaces/i-resource-roles.d.ts +11 -0
  24. package/dist/src/auth/interfaces/i-resource-roles.d.ts.map +1 -0
  25. package/dist/src/auth/interfaces/i-user-address.d.ts +30 -0
  26. package/dist/src/auth/interfaces/i-user-address.d.ts.map +1 -0
  27. package/dist/src/auth/interfaces/index.d.ts +7 -0
  28. package/dist/src/auth/interfaces/index.d.ts.map +1 -0
  29. package/dist/src/index.d.ts +1 -0
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/package.json +20 -19
@@ -0,0 +1,46 @@
1
+ import { JwtPayload } from './jwt-payload';
2
+ import { IBaseResourceAccess } from '../interfaces/i-base-resource-access';
3
+ import { IDetailedJwtPayload } from '../interfaces/i-detailed-jwt-payload';
4
+ import { IUserAddress } from '../interfaces/i-user-address';
5
+ /**
6
+ * Расширенные данные полезной нагрузки JWT токена.
7
+ */
8
+ export declare class DetailedJwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> extends JwtPayload<T> implements IDetailedJwtPayload<T> {
9
+ /**
10
+ * Возвращает данные полезной нагрузки для указанного JWT-токена.
11
+ *
12
+ * @param jwtToken JWT-ключ доступа.
13
+ */
14
+ static getJwtPayload<O extends IBaseResourceAccess = IBaseResourceAccess>(jwtToken: string): IDetailedJwtPayload<O>;
15
+ /**
16
+ * @inheritDoc
17
+ */
18
+ familyName?: string;
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ middleName?: string;
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ locale?: string;
27
+ /**
28
+ * @inheritDoc
29
+ */
30
+ phoneNumber?: string;
31
+ /**
32
+ * @inheritDoc
33
+ */
34
+ phoneNumberVerified?: boolean;
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ address?: IUserAddress;
39
+ /**
40
+ * Инициализирует экземпляр класса {@link DetailedJwtPayload}.
41
+ *
42
+ * @param data Данные для первоначальной инициализации.
43
+ */
44
+ constructor(data: IDetailedJwtPayload<T>);
45
+ }
46
+ //# sourceMappingURL=detailed-jwt-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detailed-jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/classes/detailed-jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKlE;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAE,YAAW,mBAAmB,CAAC,CAAC,CAAC;IACxI;;;;OAIG;WACW,aAAa,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;IAI1H;;OAEG;IACI,UAAU,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACI,UAAU,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACI,MAAM,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACI,WAAW,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACI,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAErC;;OAEG;IACI,OAAO,CAAC,EAAE,YAAY,CAAC;IAE9B;;;;OAIG;gBACgB,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAKlD"}
@@ -0,0 +1,3 @@
1
+ export * from './jwt-payload';
2
+ export * from './detailed-jwt-payload';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,109 @@
1
+ import { IBaseResourceAccess } from '../interfaces/i-base-resource-access';
2
+ import { IJwtPayload } from '../interfaces/i-jwt-payload';
3
+ import { IRealmAccess } from '../interfaces/i-realm-access';
4
+ /**
5
+ * Данные полезной нагрузки JWT токена.
6
+ */
7
+ export declare class JwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> implements IJwtPayload<T> {
8
+ /**
9
+ * Возвращает данные полезной нагрузки для указанного JWT-токена.
10
+ *
11
+ * @param jwtToken JWT-ключ доступа.
12
+ */
13
+ static getJwtPayload<O extends IBaseResourceAccess = IBaseResourceAccess>(jwtToken: string): IJwtPayload<O>;
14
+ /**
15
+ * @inheritDoc
16
+ */
17
+ exp: number;
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ iat: number;
22
+ /**
23
+ * @inheritDoc
24
+ */
25
+ authTime: number;
26
+ /**
27
+ * @inheritDoc
28
+ */
29
+ jti: string;
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ iss: string;
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ aud: string[];
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ sub: string;
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ typ: string;
46
+ /**
47
+ * @inheritDoc
48
+ */
49
+ azp: string;
50
+ /**
51
+ * @inheritDoc
52
+ */
53
+ sid: string;
54
+ /**
55
+ * @inheritDoc
56
+ */
57
+ acr: string;
58
+ /**
59
+ * @inheritDoc
60
+ */
61
+ allowedOrigins: string[];
62
+ /**
63
+ * @inheritDoc
64
+ */
65
+ realmAccess: IRealmAccess;
66
+ /**
67
+ * @inheritDoc
68
+ */
69
+ resourceAccess: T;
70
+ /**
71
+ * @inheritDoc
72
+ */
73
+ scope: string;
74
+ /**
75
+ * @inheritDoc
76
+ */
77
+ emailVerified: boolean;
78
+ /**
79
+ * @inheritDoc
80
+ */
81
+ name: string;
82
+ /**
83
+ * @inheritDoc
84
+ */
85
+ guid: string;
86
+ /**
87
+ * @inheritDoc
88
+ */
89
+ preferredUsername: string;
90
+ /**
91
+ * @inheritDoc
92
+ */
93
+ givenName: string;
94
+ /**
95
+ * @inheritDoc
96
+ */
97
+ email: string;
98
+ /**
99
+ * @inheritDoc
100
+ */
101
+ [key: string]: unknown;
102
+ /**
103
+ * Инициализирует экземпляр класса {@link JwtPayload}.
104
+ *
105
+ * @param data Данные для первоначальной инициализации.
106
+ */
107
+ constructor(data: IJwtPayload<T>);
108
+ }
109
+ //# sourceMappingURL=jwt-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/classes/jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAKlE;;GAEG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAClG;;;;OAIG;WACW,aAAa,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAIlH;;OAEG;IACI,GAAG,EAAE,MAAM,CAAK;IAEvB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAK;IAEvB;;OAEG;IACI,QAAQ,EAAE,MAAM,CAAK;IAE5B;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,EAAE,CAAM;IAE1B;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAY;IAE9B;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAM;IAExB;;OAEG;IACI,cAAc,EAAE,MAAM,EAAE,CAAM;IAErC;;OAEG;IACI,WAAW,EAAE,YAAY,CAAiB;IAEjD;;OAEG;IACI,cAAc,EAAE,CAAC,CAAW;IAEnC;;OAEG;IACI,KAAK,EAAE,MAAM,CAAM;IAE1B;;OAEG;IACI,aAAa,EAAE,OAAO,CAAS;IAEtC;;OAEG;IACI,IAAI,EAAE,MAAM,CAAM;IAEzB;;OAEG;IACI,IAAI,EAAE,MAAM,CAAM;IAEzB;;OAEG;IACI,iBAAiB,EAAE,MAAM,CAAM;IAEtC;;OAEG;IACI,SAAS,EAAE,MAAM,CAAM;IAE9B;;OAEG;IACI,KAAK,EAAE,MAAM,CAAM;IAE1B;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvB;;;;OAIG;gBACgB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;CAG1C"}
@@ -0,0 +1,3 @@
1
+ export * from './interfaces';
2
+ export * from './classes';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { IResourceRoles } from './i-resource-roles';
2
+ /**
3
+ * Данные о доступе к ресурсам системы.
4
+ * Содержит права доступа к различным сервисам и API.
5
+ */
6
+ export interface IBaseResourceAccess {
7
+ /**
8
+ * Список основных ролей.
9
+ */
10
+ internal?: IResourceRoles;
11
+ /**
12
+ * Список ролей для управления настройками и конфигурацией Keycloak realm.
13
+ */
14
+ realmManagement?: IResourceRoles;
15
+ /**
16
+ * Список ролей для управления учетными записями пользователей.
17
+ */
18
+ account?: IResourceRoles;
19
+ /**
20
+ * Список дополнительных ролей доступа к ресурсам.
21
+ */
22
+ [key: string]: IResourceRoles | undefined;
23
+ }
24
+ //# sourceMappingURL=i-base-resource-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-base-resource-access.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-base-resource-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;OAEG;IACH,eAAe,CAAC,EAAE,cAAc,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CAC7C"}
@@ -0,0 +1,33 @@
1
+ import { IBaseResourceAccess } from './i-base-resource-access';
2
+ import { IJwtPayload } from './i-jwt-payload';
3
+ import { IUserAddress } from './i-user-address';
4
+ /**
5
+ * Расширенные данные полезной нагрузки JWT токена.
6
+ */
7
+ export interface IDetailedJwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> extends IJwtPayload<T> {
8
+ /**
9
+ * Фамилия пользователя (Family Name).
10
+ */
11
+ familyName?: string;
12
+ /**
13
+ * Отчество пользователя (Middle Name).
14
+ */
15
+ middleName?: string;
16
+ /**
17
+ * Локаль пользователя (Locale).
18
+ */
19
+ locale?: string;
20
+ /**
21
+ * Телефонный номер пользователя в международном формате.
22
+ */
23
+ phoneNumber?: string;
24
+ /**
25
+ * Флаг, указывающий на подтвержденный номер телефона.
26
+ */
27
+ phoneNumberVerified?: boolean;
28
+ /**
29
+ * Почтовый адрес пользователя.
30
+ */
31
+ address?: IUserAddress;
32
+ }
33
+ //# sourceMappingURL=i-detailed-jwt-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-detailed-jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-detailed-jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC5G;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CAC1B"}
@@ -0,0 +1,118 @@
1
+ import { IBaseResourceAccess } from './i-base-resource-access';
2
+ import { IRealmAccess } from './i-realm-access';
3
+ /**
4
+ * Данные полезной нагрузки JWT токена.
5
+ */
6
+ export interface IJwtPayload<T extends IBaseResourceAccess = IBaseResourceAccess> {
7
+ /**
8
+ * Время истечения токена (Expiration Time).
9
+ * Unix timestamp в секундах, когда токен становится недействительным.
10
+ */
11
+ exp: number;
12
+ /**
13
+ * Время выдачи токена (Issued At).
14
+ * Unix timestamp в секундах, когда токен был выпущен.
15
+ */
16
+ iat: number;
17
+ /**
18
+ * Время аутентификации (Authentication Time).
19
+ * Unix timestamp в секундах, когда пользователь прошел аутентификацию.
20
+ */
21
+ authTime: number;
22
+ /**
23
+ * Уникальный идентификатор JWT (JWT ID).
24
+ * Используется для предотвращения повторного использования токена.
25
+ */
26
+ jti: string;
27
+ /**
28
+ * Издатель токена (Issuer).
29
+ * URL или идентификатор сервиса, выпустившего токен.
30
+ */
31
+ iss: string;
32
+ /**
33
+ * Аудитория токена (Audience).
34
+ * Массив идентификаторов сервисов, для которых предназначен токен.
35
+ */
36
+ aud: string[];
37
+ /**
38
+ * Субъект токена (Subject).
39
+ * Уникальный идентификатор пользователя в системе.
40
+ */
41
+ sub: string;
42
+ /**
43
+ * Тип токена (Type).
44
+ * Всегда "Bearer" для токенов доступа OAuth 2.0.
45
+ */
46
+ typ: string;
47
+ /**
48
+ * Авторизованная сторона (Authorized Party).
49
+ * Идентификатор клиентского приложения, запросившего токен.
50
+ */
51
+ azp: string;
52
+ /**
53
+ * Идентификатор сессии (Session ID).
54
+ * Уникальный идентификатор сессии пользователя.
55
+ */
56
+ sid: string;
57
+ /**
58
+ * Уровень аутентификации (Authentication Context Class Reference).
59
+ * Указывает уровень достоверности аутентификации.
60
+ */
61
+ acr: string;
62
+ /**
63
+ * Разрешенные источники (Allowed Origins).
64
+ * Массив доменов, с которых разрешены запросы с этим токеном.
65
+ */
66
+ allowedOrigins: string[];
67
+ /**
68
+ * Доступ на уровне realm (Realm Access).
69
+ * Права доступа в рамках всего Keycloak realm.
70
+ */
71
+ realmAccess: IRealmAccess;
72
+ /**
73
+ * Доступ к ресурсам (Resource Access).
74
+ * Права доступа к конкретным сервисам и ресурсам системы.
75
+ */
76
+ resourceAccess: T;
77
+ /**
78
+ * Области доступа (Scope).
79
+ * Перечень разрешений, предоставленных токену.
80
+ */
81
+ scope: string;
82
+ /**
83
+ * Подтверждение email (Email Verified).
84
+ * Флаг, указывающий на подтвержденный email адрес.
85
+ */
86
+ emailVerified: boolean;
87
+ /**
88
+ * Полное имя пользователя (Full Name).
89
+ * ФИО пользователя в формате "Фамилия Имя Отчество".
90
+ */
91
+ name: string;
92
+ /**
93
+ * Глобальный уникальный идентификатор (GUID).
94
+ * Уникальный идентификатор пользователя в системе.
95
+ */
96
+ guid: string;
97
+ /**
98
+ * Предпочитаемое имя пользователя (Preferred Username).
99
+ * Имя пользователя для отображения в интерфейсе.
100
+ */
101
+ preferredUsername: string;
102
+ /**
103
+ * Имя пользователя (Given Name).
104
+ * ФИО пользователя (может совпадать с полным именем).
105
+ */
106
+ givenName: string;
107
+ /**
108
+ * Email адрес (Email Address).
109
+ * Электронная почта пользователя.
110
+ */
111
+ email: string;
112
+ /**
113
+ * Динамические свойства.
114
+ * Для обработки дополнительных claims, не описанных в интерфейсе.
115
+ */
116
+ [key: string]: unknown;
117
+ }
118
+ //# sourceMappingURL=i-jwt-payload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-jwt-payload.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-jwt-payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAC5E;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,WAAW,EAAE,YAAY,CAAC;IAE1B;;;OAGG;IACH,cAAc,EAAE,CAAC,CAAC;IAElB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Данные о доступе на уровне realm.
3
+ * Содержит роли, применяемые ко всему Keycloak realm.
4
+ */
5
+ export interface IRealmAccess {
6
+ /**
7
+ * Роли realm уровня.
8
+ * Массив ролей, назначенных пользователю в рамках всего realm.
9
+ */
10
+ roles: string[];
11
+ }
12
+ //# sourceMappingURL=i-realm-access.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-realm-access.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-realm-access.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Роли ресурса.
3
+ * Базовый интерфейс для ролей конкретного сервиса.
4
+ */
5
+ export interface IResourceRoles {
6
+ /**
7
+ * Список ролей доступа.
8
+ */
9
+ roles: string[];
10
+ }
11
+ //# sourceMappingURL=i-resource-roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-resource-roles.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-resource-roles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Данные об адресе пользователя.
3
+ */
4
+ export interface IUserAddress {
5
+ /**
6
+ * Полный адрес в готовом для отображения виде.
7
+ */
8
+ formatted?: string;
9
+ /**
10
+ * Название улицы, номер дома, корпус, квартира.
11
+ */
12
+ streetAddress?: string;
13
+ /**
14
+ * Город или населенный пункт.
15
+ */
16
+ locality?: string;
17
+ /**
18
+ * Область, край, республика, штат.
19
+ */
20
+ region?: string;
21
+ /**
22
+ * Почтовый индекс адреса.
23
+ */
24
+ postalCode?: string;
25
+ /**
26
+ * Страна в формате ISO 3166-1 alpha-2.
27
+ */
28
+ country?: string;
29
+ }
30
+ //# sourceMappingURL=i-user-address.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-user-address.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/i-user-address.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,7 @@
1
+ export * from './i-realm-access';
2
+ export * from './i-base-resource-access';
3
+ export * from './i-user-address';
4
+ export * from './i-resource-roles';
5
+ export * from './i-jwt-payload';
6
+ export * from './i-detailed-jwt-payload';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './auth';
1
2
  export * from './cart';
2
3
  export * from './catalog';
3
4
  export * from './clients';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "keywords": [],
5
5
  "author": "Sergey S. Smirnov <dev@snabcentr.com>",
6
6
  "type": "module",
7
- "version": "1.63.1",
7
+ "version": "1.64.0",
8
8
  "license": "ISC",
9
9
  "scripts": {
10
10
  "dev": "vite",
@@ -37,37 +37,38 @@
37
37
  ]
38
38
  },
39
39
  "peerDependencies": {
40
- "axios": "^1.8.1",
40
+ "axios": "^1.11.0",
41
41
  "date-fns": "^3.6.0 || ^4.1.0",
42
+ "jwt-decode": "^4.0.0",
42
43
  "lodash-es": "^4.17.21",
43
- "pinia": "^3.0.1",
44
+ "pinia": "^3.0.3",
44
45
  "ts-case-convert": "^2.1.0",
45
- "vue": "^3.5.13"
46
+ "vue": "^3.5.20"
46
47
  },
47
48
  "devDependencies": {
48
- "@snabcentr/eslint-config": "^2.2.0",
49
+ "@snabcentr/eslint-config": "^3.1.0",
49
50
  "@types/lodash-es": "^4.17.12",
50
- "@types/node": "^20.17.23",
51
- "@vitejs/plugin-vue": "^5.2.1",
52
- "autoprefixer": "^10.4.20",
51
+ "@types/node": "^20.19.11",
52
+ "@vitejs/plugin-vue": "^5.2.4",
53
+ "autoprefixer": "^10.4.21",
53
54
  "cross-env": "^7.0.3",
54
55
  "husky": "^9.1.7",
55
- "lint-staged": "^15.4.3",
56
- "naive-ui": "^2.41.0",
56
+ "lint-staged": "^15.5.2",
57
+ "naive-ui": "^2.42.0",
57
58
  "path": "^0.12.7",
58
59
  "rollup-plugin-visualizer": "^5.14.0",
59
60
  "tailwindcss": "^3.4.17",
60
- "typescript": "~5.8.2",
61
- "unplugin-vue-components": "^28.4.1",
62
- "vite": "^6.2.0",
63
- "vite-plugin-dts": "^4.5.3",
61
+ "typescript": "~5.8.3",
62
+ "unplugin-vue-components": "^28.8.0",
63
+ "vite": "^6.3.5",
64
+ "vite-plugin-dts": "^4.5.4",
64
65
  "vite-plugin-manifest-sri": "^0.2.0",
65
- "vue-json-pretty": "^2.4.0",
66
- "vue-router": "^4.5.0",
67
- "vue-tsc": "^2.2.8"
66
+ "vue-json-pretty": "^2.5.0",
67
+ "vue-router": "^4.5.1",
68
+ "vue-tsc": "^2.2.12"
68
69
  },
69
70
  "optionalDependencies": {
70
- "@esbuild/linux-x64": "0.25.0",
71
- "@rollup/rollup-linux-x64-gnu": "4.34.9"
71
+ "@esbuild/linux-x64": "0.25.9",
72
+ "@rollup/rollup-linux-x64-gnu": "4.49.0"
72
73
  }
73
74
  }