eh-commons 0.0.1-testing.97 → 0.0.2-testing.78
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/.prettierrc +2 -1
- package/dist/clients/index.d.ts +3 -0
- package/dist/clients/index.js +20 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/rest.client.d.ts +18 -0
- package/dist/clients/rest.client.js +101 -0
- package/dist/clients/rest.client.js.map +1 -0
- package/dist/clients/session.client.d.ts +3 -4
- package/dist/clients/session.client.js +4 -4
- package/dist/clients/session.client.js.map +1 -1
- package/dist/index.d.ts +22 -35
- package/dist/index.js +29 -55
- package/dist/index.js.map +1 -1
- package/dist/models/commons/interfaces/base.interface.d.ts +2 -2
- package/dist/models/interfaces/session/session.interface.d.ts +2 -2
- package/dist/models/rewards/embedded/origin.embedded.schema.d.ts +2 -2
- package/dist/models/rewards/embedded/rewards.embedded.d.ts +2 -2
- package/dist/models/s3/embedded/file-log.embedded.d.ts +2 -2
- package/dist/models/s3/embedded/file-meta.embedded.d.ts +2 -2
- package/dist/models/s3/embedded/file-record.embedded.d.ts +2 -2
- package/dist/models/s3/embedded/file-state.embedded.d.ts +2 -2
- package/dist/models/s3/embedded/file.embedded.d.ts +2 -2
- package/dist/models/s3/embedded/initiator.embedded.d.ts +2 -2
- package/dist/models/s3/embedded/s3.embedded.d.ts +2 -2
- package/dist/models/session/interfaces/session-client-data.interface.d.ts +2 -2
- package/dist/models/util/embedded/address.embedded.d.ts +2 -2
- package/dist/models/util/embedded/author.embedded.d.ts +2 -2
- package/dist/models/util/embedded/contact.embedded.d.ts +2 -2
- package/dist/models/util/embedded/geo-location.embedded.d.ts +2 -2
- package/dist/models/util/embedded/i18n.embedded.d.ts +2 -2
- package/dist/models/util/embedded/record.embedded.d.ts +2 -2
- package/dist/models/util/interfaces/person.interface.d.ts +0 -7
- package/dist/models/util/interfaces/person.interface.js +0 -2
- package/dist/models/wrappers/rest-wrapper.class.js +1 -4
- package/dist/models/wrappers/rest-wrapper.class.js.map +1 -1
- package/dist/modules/core/index.d.ts +6 -0
- package/dist/modules/core/index.js +23 -0
- package/dist/modules/core/index.js.map +1 -0
- package/dist/modules/core/models/enums/feed-type.enum.d.ts +6 -0
- package/dist/modules/core/models/enums/feed-type.enum.js +11 -0
- package/dist/modules/core/models/enums/feed-type.enum.js.map +1 -0
- package/dist/modules/core/models/interfaces/feed-thin.interface.d.ts +9 -0
- package/dist/modules/core/models/interfaces/feed-thin.interface.js +3 -0
- package/dist/modules/core/models/interfaces/feed-thin.interface.js.map +1 -0
- package/dist/modules/core/models/interfaces/index.d.ts +4 -0
- package/dist/modules/core/models/interfaces/index.js +21 -0
- package/dist/modules/core/models/interfaces/index.js.map +1 -0
- package/dist/modules/core/models/interfaces/range.interface.d.ts +4 -0
- package/dist/modules/core/models/interfaces/range.interface.js +3 -0
- package/dist/modules/core/models/interfaces/range.interface.js.map +1 -0
- package/dist/modules/core/models/interfaces/ref.interface.d.ts +6 -0
- package/dist/modules/core/models/interfaces/ref.interface.js +3 -0
- package/dist/modules/core/models/interfaces/ref.interface.js.map +1 -0
- package/dist/modules/core/models/interfaces/scope.interface.d.ts +14 -0
- package/dist/modules/core/models/interfaces/scope.interface.js +3 -0
- package/dist/modules/core/models/interfaces/scope.interface.js.map +1 -0
- package/dist/modules/core/models/schemas/index.d.ts +2 -0
- package/dist/modules/core/models/schemas/index.js +19 -0
- package/dist/modules/core/models/schemas/index.js.map +1 -0
- package/dist/modules/core/models/schemas/range.embedded.d.ts +14 -0
- package/dist/modules/core/models/schemas/range.embedded.js +29 -0
- package/dist/modules/core/models/schemas/range.embedded.js.map +1 -0
- package/dist/modules/core/models/schemas/scope.embedded.d.ts +25 -0
- package/dist/modules/core/models/schemas/scope.embedded.js +63 -0
- package/dist/modules/core/models/schemas/scope.embedded.js.map +1 -0
- package/dist/modules/dictionary/index.d.ts +5 -0
- package/dist/modules/dictionary/index.js +22 -0
- package/dist/modules/dictionary/index.js.map +1 -0
- package/dist/modules/dictionary/models/dtos/dictionary-list.dto.d.ts +10 -0
- package/dist/modules/dictionary/models/dtos/dictionary-list.dto.js +59 -0
- package/dist/modules/dictionary/models/dtos/dictionary-list.dto.js.map +1 -0
- package/dist/modules/dictionary/models/interfaces/index.d.ts +27 -0
- package/dist/modules/dictionary/models/interfaces/index.js +3 -0
- package/dist/modules/dictionary/models/interfaces/index.js.map +1 -0
- package/dist/modules/dictionary/models/schemas/index.d.ts +21 -0
- package/dist/modules/dictionary/models/schemas/index.js +47 -0
- package/dist/modules/dictionary/models/schemas/index.js.map +1 -0
- package/dist/modules/dictionary/services/dictionary.service.d.ts +13 -14
- package/dist/modules/dictionary/services/dictionary.service.js +43 -96
- package/dist/modules/dictionary/services/dictionary.service.js.map +1 -1
- package/dist/modules/dmm/dmm.module.d.ts +2 -0
- package/dist/modules/dmm/dmm.module.js +26 -0
- package/dist/modules/dmm/dmm.module.js.map +1 -0
- package/dist/modules/dmm/index.d.ts +4 -0
- package/dist/modules/dmm/index.js +21 -0
- package/dist/modules/dmm/index.js.map +1 -0
- package/dist/modules/dmm/models/interfaces/index.d.ts +12 -0
- package/dist/modules/dmm/models/interfaces/index.js +3 -0
- package/dist/modules/dmm/models/interfaces/index.js.map +1 -0
- package/dist/modules/dmm/models/schemas/index.d.ts +23 -0
- package/dist/modules/dmm/models/schemas/index.js +58 -0
- package/dist/modules/dmm/models/schemas/index.js.map +1 -0
- package/dist/modules/dmm/services/dmm.service.d.ts +26 -0
- package/dist/modules/dmm/services/dmm.service.js +40 -0
- package/dist/modules/dmm/services/dmm.service.js.map +1 -0
- package/dist/modules/emis/emis.module.d.ts +2 -0
- package/dist/modules/emis/emis.module.js +24 -0
- package/dist/modules/emis/emis.module.js.map +1 -0
- package/dist/modules/emis/index.d.ts +3 -0
- package/dist/modules/emis/index.js +20 -0
- package/dist/modules/emis/index.js.map +1 -0
- package/dist/modules/emis/models/interfaces/emis.interface.d.ts +34 -0
- package/dist/modules/emis/models/interfaces/emis.interface.js +3 -0
- package/dist/modules/emis/models/interfaces/emis.interface.js.map +1 -0
- package/dist/modules/emis/services/emis.service.d.ts +8 -0
- package/dist/modules/emis/services/emis.service.js +37 -0
- package/dist/modules/emis/services/emis.service.js.map +1 -0
- package/dist/modules/iam/iam.module.d.ts +2 -0
- package/dist/modules/iam/iam.module.js +24 -0
- package/dist/modules/iam/iam.module.js.map +1 -0
- package/dist/modules/iam/index.d.ts +5 -0
- package/dist/modules/iam/index.js +22 -0
- package/dist/modules/iam/index.js.map +1 -0
- package/dist/modules/iam/models/enums/index.d.ts +6 -0
- package/dist/modules/iam/models/enums/index.js +11 -0
- package/dist/modules/iam/models/enums/index.js.map +1 -0
- package/dist/modules/iam/models/interfaces/index.d.ts +101 -0
- package/dist/modules/iam/models/interfaces/index.js +3 -0
- package/dist/modules/iam/models/interfaces/index.js.map +1 -0
- package/dist/modules/iam/models/schemas/embedded/person.embedded.d.ts +19 -0
- package/dist/modules/iam/models/schemas/embedded/person.embedded.js +41 -0
- package/dist/modules/iam/models/schemas/embedded/person.embedded.js.map +1 -0
- package/dist/modules/iam/models/schemas/embedded/user-person-info.embedded.d.ts +17 -0
- package/dist/modules/iam/models/schemas/embedded/user-person-info.embedded.js +31 -0
- package/dist/modules/iam/models/schemas/embedded/user-person-info.embedded.js.map +1 -0
- package/dist/modules/iam/models/schemas/index.d.ts +2 -0
- package/dist/modules/iam/models/schemas/index.js +19 -0
- package/dist/modules/iam/models/schemas/index.js.map +1 -0
- package/dist/modules/iam/services/iam.service.d.ts +9 -0
- package/dist/modules/iam/services/iam.service.js +40 -0
- package/dist/modules/iam/services/iam.service.js.map +1 -0
- package/dist/modules/otp/index.d.ts +3 -0
- package/dist/modules/otp/index.js +20 -0
- package/dist/modules/otp/index.js.map +1 -0
- package/dist/modules/otp/models/interfaces/index.d.ts +18 -0
- package/dist/modules/otp/models/interfaces/index.js +3 -0
- package/dist/modules/otp/models/interfaces/index.js.map +1 -0
- package/dist/modules/otp/otp.module.d.ts +2 -0
- package/dist/modules/otp/otp.module.js +24 -0
- package/dist/modules/otp/otp.module.js.map +1 -0
- package/dist/modules/otp/services/otp.service.d.ts +11 -0
- package/dist/modules/otp/services/otp.service.js +48 -0
- package/dist/modules/otp/services/otp.service.js.map +1 -0
- package/dist/modules/session/functions/index.d.ts +5 -0
- package/dist/modules/session/functions/index.js +28 -0
- package/dist/modules/session/functions/index.js.map +1 -0
- package/dist/modules/session/guards/permission.guard.d.ts +15 -0
- package/dist/modules/session/guards/permission.guard.js +118 -0
- package/dist/modules/session/guards/permission.guard.js.map +1 -0
- package/dist/modules/session/guards/user.guard.d.ts +12 -0
- package/dist/modules/session/guards/user.guard.js +88 -0
- package/dist/modules/session/guards/user.guard.js.map +1 -0
- package/dist/modules/session/index.d.ts +9 -0
- package/dist/modules/session/index.js +26 -0
- package/dist/modules/session/index.js.map +1 -0
- package/dist/modules/session/models/classes/index.d.ts +3 -0
- package/dist/modules/session/models/classes/index.js +7 -0
- package/dist/modules/session/models/classes/index.js.map +1 -0
- package/dist/modules/session/models/interfaces/index.d.ts +54 -0
- package/dist/modules/session/models/interfaces/index.js +7 -0
- package/dist/modules/session/models/interfaces/index.js.map +1 -0
- package/dist/modules/session/reflectors/permission.reflector.d.ts +2 -0
- package/dist/modules/session/reflectors/permission.reflector.js +6 -0
- package/dist/modules/session/reflectors/permission.reflector.js.map +1 -0
- package/dist/modules/session/services/redis.service.d.ts +16 -0
- package/dist/modules/session/services/redis.service.js +94 -0
- package/dist/modules/session/services/redis.service.js.map +1 -0
- package/dist/modules/session/services/session-v1.service.d.ts +12 -0
- package/dist/modules/session/services/session-v1.service.js +36 -0
- package/dist/modules/session/services/session-v1.service.js.map +1 -0
- package/dist/modules/session/services/session-v2.service.d.ts +17 -0
- package/dist/modules/session/services/session-v2.service.js +102 -0
- package/dist/modules/session/services/session-v2.service.js.map +1 -0
- package/dist/modules/session/session.module.d.ts +2 -0
- package/dist/modules/session/session.module.js +27 -0
- package/dist/modules/session/session.module.js.map +1 -0
- package/dist/modules/storage/index.d.ts +4 -0
- package/dist/modules/storage/index.js +21 -0
- package/dist/modules/storage/index.js.map +1 -0
- package/dist/modules/storage/models/inerfaces/index.d.ts +7 -0
- package/dist/modules/storage/models/inerfaces/index.js +3 -0
- package/dist/modules/storage/models/inerfaces/index.js.map +1 -0
- package/dist/modules/storage/models/schemas/index.d.ts +36 -0
- package/dist/modules/storage/models/schemas/index.js +62 -0
- package/dist/modules/storage/models/schemas/index.js.map +1 -0
- package/dist/modules/storage/services/storage.service.d.ts +9 -0
- package/dist/modules/storage/services/storage.service.js +35 -0
- package/dist/modules/storage/services/storage.service.js.map +1 -0
- package/dist/modules/storage/storage.module.d.ts +2 -0
- package/dist/modules/storage/storage.module.js +24 -0
- package/dist/modules/storage/storage.module.js.map +1 -0
- package/dist/pipes/index.d.ts +13 -0
- package/dist/pipes/index.js +64 -0
- package/dist/pipes/index.js.map +1 -0
- package/dist/pipes/validate-mongo-id.pipe.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -18
- package/src/clients/index.ts +3 -0
- package/src/clients/rest.client.ts +112 -0
- package/src/clients/session.client.ts +10 -20
- package/src/index.ts +36 -164
- package/src/models/commons/interfaces/base.interface.ts +2 -2
- package/src/models/interfaces/session/session.interface.ts +6 -6
- package/src/models/session/interfaces/session-client-data.interface.ts +2 -2
- package/src/models/util/interfaces/person.interface.ts +1 -7
- package/src/models/wrappers/rest-wrapper.class.ts +1 -4
- package/src/modules/core/index.ts +6 -0
- package/src/modules/core/models/enums/feed-type.enum.ts +6 -0
- package/src/modules/core/models/interfaces/feed-thin.interface.ts +10 -0
- package/src/modules/core/models/interfaces/index.ts +4 -0
- package/src/modules/core/models/interfaces/range.interface.ts +4 -0
- package/src/modules/core/models/interfaces/ref.interface.ts +7 -0
- package/src/modules/core/models/interfaces/scope.interface.ts +15 -0
- package/src/modules/core/models/schemas/index.ts +2 -0
- package/src/modules/core/models/schemas/range.embedded.ts +13 -0
- package/src/modules/core/models/schemas/scope.embedded.ts +41 -0
- package/src/modules/dictionary/index.ts +5 -0
- package/src/modules/dictionary/{dtos → models/dtos}/dictionary-list.dto.ts +9 -16
- package/src/modules/dictionary/models/interfaces/index.ts +31 -0
- package/src/modules/dictionary/models/schemas/index.ts +28 -0
- package/src/modules/dictionary/services/dictionary.service.ts +55 -149
- package/src/modules/dmm/dmm.module.ts +13 -0
- package/src/modules/dmm/index.ts +4 -0
- package/src/modules/dmm/models/interfaces/index.ts +13 -0
- package/src/modules/dmm/models/schemas/index.ts +36 -0
- package/src/modules/dmm/services/dmm.service.ts +33 -0
- package/src/modules/emis/emis.module.ts +11 -0
- package/src/modules/emis/index.ts +3 -0
- package/src/modules/emis/models/interfaces/emis.interface.ts +37 -0
- package/src/modules/emis/services/emis.service.ts +30 -0
- package/src/modules/iam/iam.module.ts +11 -0
- package/src/modules/iam/index.ts +5 -0
- package/src/modules/iam/models/enums/index.ts +6 -0
- package/src/modules/iam/models/interfaces/index.ts +114 -0
- package/src/{models/util → modules/iam/models/schemas}/embedded/person.embedded.ts +5 -1
- package/src/modules/iam/models/schemas/embedded/user-person-info.embedded.ts +16 -0
- package/src/modules/iam/models/schemas/index.ts +2 -0
- package/src/modules/iam/services/iam.service.ts +35 -0
- package/src/modules/otp/index.ts +3 -0
- package/src/modules/otp/models/interfaces/index.ts +20 -0
- package/src/modules/otp/otp.module.ts +11 -0
- package/src/modules/otp/services/otp.service.ts +48 -0
- package/src/modules/session/functions/index.ts +24 -0
- package/src/modules/session/guards/permission.guard.ts +122 -0
- package/src/modules/session/guards/user.guard.ts +88 -0
- package/src/modules/session/index.ts +9 -0
- package/src/modules/session/models/classes/index.ts +3 -0
- package/src/modules/session/models/interfaces/index.ts +57 -0
- package/src/modules/{cache/reflector → session/reflectors}/permission.reflector.ts +1 -1
- package/src/modules/{cache → session}/services/redis.service.ts +23 -20
- package/src/modules/session/services/session-v1.service.ts +30 -0
- package/src/modules/session/services/session-v2.service.ts +113 -0
- package/src/modules/session/session.module.ts +14 -0
- package/src/modules/storage/index.ts +4 -0
- package/src/modules/storage/models/inerfaces/index.ts +8 -0
- package/src/modules/storage/models/schemas/index.ts +42 -0
- package/src/modules/storage/services/storage.service.ts +29 -0
- package/src/modules/storage/storage.module.ts +11 -0
- package/src/pipes/index.ts +49 -0
- package/src/pipes/validate-mongo-id.pipe.ts +1 -3
- package/src/functions/session/keyword.function.ts +0 -14
- package/src/models/dictionary/embedded/dictionary.embedded.ts +0 -31
- package/src/models/dictionary/interfaces/dictionary-embedded.interface.ts +0 -12
- package/src/models/dictionary/interfaces/dictionary-event.interface.ts +0 -6
- package/src/models/dictionary/interfaces/dictionary-setting.interface.ts +0 -5
- package/src/models/dictionary/interfaces/dictionary.interface.ts +0 -13
- package/src/models/session/interfaces/session-user-data.interface.ts +0 -16
- package/src/models/um/enums/client-type.enum.ts +0 -6
- package/src/models/um/enums/permission-include-strategy.enum.ts +0 -5
- package/src/models/um/interfaces/client.interface.ts +0 -23
- package/src/models/um/interfaces/credentials.interface.ts +0 -4
- package/src/models/um/interfaces/permission.interface.ts +0 -11
- package/src/models/um/interfaces/prof-info.interface.ts +0 -5
- package/src/models/um/interfaces/role.interface.ts +0 -14
- package/src/models/um/interfaces/user-client.interface.ts +0 -10
- package/src/models/um/interfaces/user.interface.ts +0 -20
- package/src/models/wrappers/permission-guard-config.wrapper.ts +0 -5
- package/src/modules/cache/cache.module.ts +0 -13
- package/src/modules/cache/guards/permission.guard.ts +0 -109
- package/src/modules/cache/services/session.service.ts +0 -23
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eh-commons",
|
|
3
3
|
"type": "commonjs",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.2-testing.78",
|
|
5
5
|
"description": "eh-commons",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -13,28 +13,26 @@
|
|
|
13
13
|
"author": "",
|
|
14
14
|
"license": "ISC",
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@types/express": "^
|
|
17
|
-
"@types/node": "^
|
|
18
|
-
"
|
|
19
|
-
"@typescript-eslint/parser": "^6.18.1",
|
|
20
|
-
"eslint": "^8.56.0",
|
|
21
|
-
"typescript": "^5.0.4"
|
|
16
|
+
"@types/express": "^5.0.0",
|
|
17
|
+
"@types/node": "^20.14.2",
|
|
18
|
+
"typescript": "^5.4.5"
|
|
22
19
|
},
|
|
23
20
|
"dependencies": {
|
|
24
|
-
"@nestjs/common": "^
|
|
25
|
-
"@nestjs/config": "^
|
|
26
|
-
"@nestjs/core": "^
|
|
27
|
-
"@nestjs/mongoose": "^
|
|
28
|
-
"axios": "^1.
|
|
21
|
+
"@nestjs/common": "^11.1.13",
|
|
22
|
+
"@nestjs/config": "^4.0.3",
|
|
23
|
+
"@nestjs/core": "^11.1.13",
|
|
24
|
+
"@nestjs/mongoose": "^11.0.4",
|
|
25
|
+
"axios": "^1.13.5",
|
|
29
26
|
"class-transformer": "^0.5.1",
|
|
30
|
-
"class-validator": "^0.14.
|
|
31
|
-
"express": "^
|
|
32
|
-
"ioredis": "^5.3
|
|
27
|
+
"class-validator": "^0.14.1",
|
|
28
|
+
"express": "^5.0.0",
|
|
29
|
+
"ioredis": "^5.9.3",
|
|
33
30
|
"kafkajs": "^2.2.4",
|
|
34
|
-
"mongoose": "^8.
|
|
35
|
-
"qs": "^6.
|
|
31
|
+
"mongoose": "^8.4.1",
|
|
32
|
+
"qs": "^6.15.0",
|
|
36
33
|
"rxjs": "^7.8.1",
|
|
37
|
-
"
|
|
34
|
+
"ua-parser-js": "^2.0.9",
|
|
35
|
+
"winston": "^3.19.0",
|
|
38
36
|
"winston-graylog2": "^2.1.2"
|
|
39
37
|
}
|
|
40
38
|
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { HttpStatus } from '@nestjs/common';
|
|
2
|
+
import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
3
|
+
import { RESTError } from '../models/wrappers/rest-wrapper.class';
|
|
4
|
+
|
|
5
|
+
export interface IAPIConfig {
|
|
6
|
+
name?: string;
|
|
7
|
+
baseUrl: string;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
accessToken?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class RestClient {
|
|
13
|
+
private _name: string;
|
|
14
|
+
private _instance: AxiosInstance;
|
|
15
|
+
|
|
16
|
+
constructor(config: IAPIConfig) {
|
|
17
|
+
this._name = config.name || config.baseUrl;
|
|
18
|
+
|
|
19
|
+
const axiosConfig: AxiosRequestConfig = {
|
|
20
|
+
baseURL: config.baseUrl,
|
|
21
|
+
timeout: config.timeout || 30000,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
if (config.accessToken) {
|
|
25
|
+
axiosConfig.headers = { 'x-access-token': config.accessToken };
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
this._instance = axios.create(axiosConfig);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public async get<T = any>(route: string, sessionToken?: string): Promise<T> {
|
|
32
|
+
try {
|
|
33
|
+
const config = this._buildRequestConfig(sessionToken);
|
|
34
|
+
|
|
35
|
+
if (config) {
|
|
36
|
+
const response = await this._instance.get(route, config);
|
|
37
|
+
return response.data.result.data;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const response = await this._instance.get(route);
|
|
41
|
+
return response.data.result.data;
|
|
42
|
+
} catch (e: any) {
|
|
43
|
+
this._handleError(e);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public async post<T = any>(route: string, requestBody: any, sessionToken?: string): Promise<T> {
|
|
48
|
+
try {
|
|
49
|
+
const config = this._buildRequestConfig(sessionToken);
|
|
50
|
+
|
|
51
|
+
if (config) {
|
|
52
|
+
const response = await this._instance.post(route, requestBody, config);
|
|
53
|
+
return response.data.result.data;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const response = await this._instance.post(route, requestBody);
|
|
57
|
+
return response.data.result.data;
|
|
58
|
+
} catch (e: any) {
|
|
59
|
+
this._handleError(e);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
public async put<T = any>(route: string, requestBody: any, sessionToken?: string): Promise<T> {
|
|
64
|
+
try {
|
|
65
|
+
const response = await this._instance.put(route, requestBody, this._buildRequestConfig(sessionToken));
|
|
66
|
+
return response.data.result.data;
|
|
67
|
+
} catch (e: any) {
|
|
68
|
+
this._handleError(e);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
public async delete<T = any>(route: string, sessionToken?: string): Promise<T> {
|
|
73
|
+
try {
|
|
74
|
+
const response = await this._instance.delete(route, this._buildRequestConfig(sessionToken));
|
|
75
|
+
return response.data.result.data;
|
|
76
|
+
} catch (e: any) {
|
|
77
|
+
this._handleError(e);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
public async patch<T = any>(route: string, requestBody: any, sessionToken?: string): Promise<T> {
|
|
82
|
+
try {
|
|
83
|
+
const response = await this._instance.patch(route, requestBody, this._buildRequestConfig(sessionToken));
|
|
84
|
+
return response.data.result.data;
|
|
85
|
+
} catch (e: any) {
|
|
86
|
+
this._handleError(e);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
private _buildRequestConfig(sessionToken?: string): AxiosRequestConfig | undefined {
|
|
91
|
+
if (!sessionToken) return undefined;
|
|
92
|
+
return {
|
|
93
|
+
headers: { 'authorization': sessionToken },
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
private _handleError(e: any): never {
|
|
98
|
+
if (e.response) {
|
|
99
|
+
if (e.response.data?.errors?.length && e.response.data.errors[0].keyword) {
|
|
100
|
+
throw new RESTError(e.response.data.errors[0].keyword, null, HttpStatus.BAD_REQUEST);
|
|
101
|
+
} else if (e.response.data?.errors && e.response.data.errors.keyword) {
|
|
102
|
+
// because of damn storage api made by DITO
|
|
103
|
+
throw new RESTError(e.response.data.errors.keyword, null, HttpStatus.BAD_REQUEST);
|
|
104
|
+
}
|
|
105
|
+
throw new RESTError('internal_error', e, HttpStatus.INTERNAL_SERVER_ERROR);
|
|
106
|
+
} else if (e.request) {
|
|
107
|
+
throw new RESTError(`service_unavailable_${this._name}`, e, HttpStatus.SERVICE_UNAVAILABLE);
|
|
108
|
+
} else {
|
|
109
|
+
throw new RESTError(`bad_config_${this._name}`, e, HttpStatus.SERVICE_UNAVAILABLE);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import * as IORedis from 'ioredis';
|
|
2
|
-
|
|
3
|
-
import { ISessionUserData } from '../models/session/interfaces/session-user-data.interface';
|
|
4
|
-
import {
|
|
5
|
-
generateSessionKeyword,
|
|
6
|
-
generateUserClientKeyword,
|
|
7
|
-
generateUserClientPermissionKeyword,
|
|
8
|
-
} from '../functions/session/keyword.function';
|
|
9
2
|
import { Observable, from, map } from 'rxjs';
|
|
10
3
|
import { ISessionClientData } from '../models/session/interfaces/session-client-data.interface';
|
|
11
|
-
import { IClient } from '../
|
|
12
|
-
import {
|
|
4
|
+
import { IClient, IPermission } from '../modules/iam';
|
|
5
|
+
import { IUserSessionData } from '../modules/session/models/interfaces';
|
|
6
|
+
import { generateSessionKeyword, generateUserClientPermissionKeyword, generateUserClientsKeyword } from '../modules/session';
|
|
13
7
|
|
|
14
8
|
export class SessionClient {
|
|
15
9
|
private redisClient: IORedis.Redis | IORedis.Cluster;
|
|
@@ -30,7 +24,7 @@ export class SessionClient {
|
|
|
30
24
|
return from(this.redisClient.del(key));
|
|
31
25
|
}
|
|
32
26
|
|
|
33
|
-
public getUserData(token: string): Observable<
|
|
27
|
+
public getUserData(token: string): Observable<IUserSessionData> {
|
|
34
28
|
const key = generateSessionKeyword(token);
|
|
35
29
|
const userDataString$ = this.get(key);
|
|
36
30
|
return userDataString$.pipe(
|
|
@@ -40,10 +34,8 @@ export class SessionClient {
|
|
|
40
34
|
);
|
|
41
35
|
}
|
|
42
36
|
|
|
43
|
-
public getUserClients(
|
|
44
|
-
userId
|
|
45
|
-
): Observable<Map<string, ISessionClientData>> {
|
|
46
|
-
const key = generateUserClientKeyword(userId);
|
|
37
|
+
public getUserClients(userId: string): Observable<Map<string, ISessionClientData>> {
|
|
38
|
+
const key = generateUserClientsKeyword(userId);
|
|
47
39
|
const clientDataString$ = this.get(key);
|
|
48
40
|
return clientDataString$.pipe(
|
|
49
41
|
map((clientDataString) => {
|
|
@@ -62,9 +54,9 @@ export class SessionClient {
|
|
|
62
54
|
);
|
|
63
55
|
}
|
|
64
56
|
|
|
65
|
-
private parseUser(jsonString: string):
|
|
57
|
+
private parseUser(jsonString: string): IUserSessionData | null {
|
|
66
58
|
try {
|
|
67
|
-
const parsedUser:
|
|
59
|
+
const parsedUser: IUserSessionData = JSON.parse(jsonString);
|
|
68
60
|
return parsedUser;
|
|
69
61
|
} catch (error) {
|
|
70
62
|
return null;
|
|
@@ -73,8 +65,7 @@ export class SessionClient {
|
|
|
73
65
|
|
|
74
66
|
private parseClient(jsonString: string) {
|
|
75
67
|
try {
|
|
76
|
-
const parsedClient: Map<string, ISessionClientData> =
|
|
77
|
-
JSON.parse(jsonString);
|
|
68
|
+
const parsedClient: Map<string, ISessionClientData> = JSON.parse(jsonString);
|
|
78
69
|
return parsedClient;
|
|
79
70
|
} catch (error) {
|
|
80
71
|
return null;
|
|
@@ -83,8 +74,7 @@ export class SessionClient {
|
|
|
83
74
|
|
|
84
75
|
private parsePermissions(jsonString: string) {
|
|
85
76
|
try {
|
|
86
|
-
const parsedPermissions: { client: IClient; permissions: IPermission[] } =
|
|
87
|
-
JSON.parse(jsonString);
|
|
77
|
+
const parsedPermissions: { client: IClient; permissions: IPermission[] } = JSON.parse(jsonString);
|
|
88
78
|
return parsedPermissions;
|
|
89
79
|
} catch (error) {
|
|
90
80
|
return null;
|
package/src/index.ts
CHANGED
|
@@ -8,32 +8,12 @@ import { BaseExceptionsFilter } from './filters/base-exception.filter';
|
|
|
8
8
|
import { RecordDTO } from './models/dtos/record.dto';
|
|
9
9
|
import { StateParamDTO } from './models/dtos/state-params.dto';
|
|
10
10
|
import { RecordState } from './models/util/enums/record-state.enum';
|
|
11
|
-
import {
|
|
12
|
-
IMongoPage,
|
|
13
|
-
RESTError,
|
|
14
|
-
RESTPage,
|
|
15
|
-
RESTPaging,
|
|
16
|
-
RESTQueryParams,
|
|
17
|
-
RESTRequestBody,
|
|
18
|
-
RESTResponseBody,
|
|
19
|
-
RESTResult,
|
|
20
|
-
RESTSort,
|
|
21
|
-
SortDirection,
|
|
22
|
-
} from './models/wrappers/rest-wrapper.class';
|
|
23
11
|
import { ConfigUtil } from './utils/config-util.class';
|
|
24
12
|
import { ISession } from './models/interfaces/session/session.interface';
|
|
25
|
-
import {
|
|
26
|
-
import { SessionClient } from './clients/session.client';
|
|
27
|
-
import { RedisService } from './modules/cache/services/redis.service';
|
|
28
|
-
import { SessionService } from './modules/cache/services/session.service';
|
|
29
|
-
import { CacheModule } from './modules/cache/cache.module';
|
|
30
|
-
import { PermissionGuard } from './modules/cache/guards/permission.guard';
|
|
13
|
+
import { RedisService } from './modules/session/services/redis.service';
|
|
31
14
|
import { generateUUID } from './functions/generate-uuid.function';
|
|
32
|
-
import { Permission } from './modules/
|
|
33
|
-
import { PermissionsIncludeStrategy } from './models/um/enums/permission-include-strategy.enum';
|
|
34
|
-
import { PermissionGuardConfig } from './models/wrappers/permission-guard-config.wrapper';
|
|
15
|
+
import { Permission } from './modules/session/reflectors/permission.reflector';
|
|
35
16
|
import { ClientPermissions } from './models/wrappers/client-permissions.wrapper';
|
|
36
|
-
import { ValidateMongoIdPipe } from './pipes/validate-mongo-id.pipe';
|
|
37
17
|
import { escapeRegex } from './functions/escape-regex.function';
|
|
38
18
|
import { translitGeorgiaToLatin } from './functions/transliterate-geo-to-latin';
|
|
39
19
|
import { getRandomNumberFromRange } from './functions/random-range.function';
|
|
@@ -41,57 +21,20 @@ import { sizeOfJson } from './functions/json-size.function';
|
|
|
41
21
|
import { HTTPMethod } from './models/util/enums/http-method.enum';
|
|
42
22
|
import { LogModule } from './modules/log/log.module';
|
|
43
23
|
import { LogService } from './modules/log/services/log.service';
|
|
44
|
-
import { LoggerClient } from './clients/logger.client';
|
|
45
24
|
import { Env } from './models/util/enums/env.enum';
|
|
46
25
|
import { ConsoleLogger } from './utils/console-logger.class';
|
|
47
|
-
|
|
48
|
-
import { IClient } from './models/um/interfaces/client.interface';
|
|
49
|
-
|
|
50
26
|
import { IGeoLocation } from './models/util/interfaces/geo-location.interface';
|
|
51
|
-
|
|
52
27
|
import { II18n } from './models/util/interfaces/i18n.interface';
|
|
53
|
-
|
|
54
|
-
import { IPerson } from './models/util/interfaces/person.interface';
|
|
55
|
-
import { IRole } from './models/um/interfaces/role.interface';
|
|
56
|
-
|
|
57
|
-
import { IUserClient } from './models/um/interfaces/user-client.interface';
|
|
58
|
-
import { IUser } from './models/um/interfaces/user.interface';
|
|
59
28
|
import { AuthorDTO } from './models/dtos/author.dto';
|
|
60
29
|
import { IAuthor } from './models/util/interfaces/author.interface';
|
|
61
|
-
import {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
} from './models/s3/embedded/
|
|
66
|
-
import {
|
|
67
|
-
FileMeta,
|
|
68
|
-
FileMetaSchema,
|
|
69
|
-
FileMetaDocument,
|
|
70
|
-
} from './models/s3/embedded/file-meta.embedded';
|
|
71
|
-
import {
|
|
72
|
-
FileRecord,
|
|
73
|
-
FileRecordSchema,
|
|
74
|
-
FileRecordDocument,
|
|
75
|
-
} from './models/s3/embedded/file-record.embedded';
|
|
76
|
-
import {
|
|
77
|
-
FileState,
|
|
78
|
-
FileStateDocument,
|
|
79
|
-
FileStateSchema,
|
|
80
|
-
} from './models/s3/embedded/file-state.embedded';
|
|
81
|
-
import {
|
|
82
|
-
LogInitiator,
|
|
83
|
-
LogInitiatorDocument,
|
|
84
|
-
LogInitiatorSchema,
|
|
85
|
-
} from './models/s3/embedded/initiator.embedded';
|
|
30
|
+
import { FileLog, FileLogSchema, FileLogDocument } from './models/s3/embedded/file-log.embedded';
|
|
31
|
+
import { FileMeta, FileMetaSchema, FileMetaDocument } from './models/s3/embedded/file-meta.embedded';
|
|
32
|
+
import { FileRecord, FileRecordSchema, FileRecordDocument } from './models/s3/embedded/file-record.embedded';
|
|
33
|
+
import { FileState, FileStateDocument, FileStateSchema } from './models/s3/embedded/file-state.embedded';
|
|
34
|
+
import { LogInitiator, LogInitiatorDocument, LogInitiatorSchema } from './models/s3/embedded/initiator.embedded';
|
|
86
35
|
import { S3, S3Document, S3Schema } from './models/s3/embedded/s3.embedded';
|
|
87
36
|
import { S3FileState } from './models/s3/enums/s3-file-state.enum';
|
|
88
|
-
import {
|
|
89
|
-
S3File,
|
|
90
|
-
S3FileDocument,
|
|
91
|
-
S3FileSchema,
|
|
92
|
-
} from './models/s3/embedded/file.embedded';
|
|
93
|
-
import { IDictionarySetting } from './models/dictionary/interfaces/dictionary-setting.interface';
|
|
94
|
-
import { IDictionary } from './models/dictionary/interfaces/dictionary.interface';
|
|
37
|
+
import { S3File, S3FileDocument, S3FileSchema } from './models/s3/embedded/file.embedded';
|
|
95
38
|
import { IFileLog } from './models/s3/interfaces/file-log.interface';
|
|
96
39
|
import { IFileMeta } from './models/s3/interfaces/file-meta.interface';
|
|
97
40
|
import { IFileRecord } from './models/s3/interfaces/file-record.interface';
|
|
@@ -102,75 +45,29 @@ import { IS3 } from './models/s3/interfaces/s3.interface';
|
|
|
102
45
|
import { Page } from './models/wrappers/page.wrapper';
|
|
103
46
|
import { SortPage } from './models/wrappers/sort-page.wrapper';
|
|
104
47
|
import { Sort } from './models/wrappers/sort.wrapper';
|
|
105
|
-
import { ClientType } from './models/um/enums/client-type.enum';
|
|
106
48
|
import { ResourceType } from './models/emis/enums/resource-type.enum';
|
|
107
49
|
import { ContactType } from './models/util/enums/contact-type.enum';
|
|
108
|
-
import {
|
|
109
|
-
import {
|
|
110
|
-
Address,
|
|
111
|
-
AddressSchema,
|
|
112
|
-
AddressDocument,
|
|
113
|
-
} from './models/util/embedded/address.embedded';
|
|
50
|
+
import { Address, AddressSchema, AddressDocument } from './models/util/embedded/address.embedded';
|
|
114
51
|
import { Author, AuthorSchema } from './models/util/embedded/author.embedded';
|
|
115
|
-
import {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
} from './models/util/embedded/contact.embedded';
|
|
120
|
-
import {
|
|
121
|
-
GeoLocation,
|
|
122
|
-
GeoLocationSchema,
|
|
123
|
-
GeoLocationDocument,
|
|
124
|
-
} from './models/util/embedded/geo-location.embedded';
|
|
125
|
-
import {
|
|
126
|
-
I18n,
|
|
127
|
-
I18nSchema,
|
|
128
|
-
I18nDocument,
|
|
129
|
-
} from './models/util/embedded/i18n.embedded';
|
|
130
|
-
import {
|
|
131
|
-
Person,
|
|
132
|
-
PersonSchema,
|
|
133
|
-
PersonDocument,
|
|
134
|
-
} from './models/util/embedded/person.embedded';
|
|
135
|
-
import {
|
|
136
|
-
Record,
|
|
137
|
-
RecordSchema,
|
|
138
|
-
RecordDocument,
|
|
139
|
-
} from './models/util/embedded/record.embedded';
|
|
52
|
+
import { Contact, ContactSchema, ContactDocument } from './models/util/embedded/contact.embedded';
|
|
53
|
+
import { GeoLocation, GeoLocationSchema, GeoLocationDocument } from './models/util/embedded/geo-location.embedded';
|
|
54
|
+
import { I18n, I18nSchema, I18nDocument } from './models/util/embedded/i18n.embedded';
|
|
55
|
+
import { Record, RecordSchema, RecordDocument } from './models/util/embedded/record.embedded';
|
|
140
56
|
import { IAddress } from './models/util/interfaces/address.interface';
|
|
141
57
|
import { IContact } from './models/util/interfaces/contact.interface';
|
|
142
58
|
import { IRecord } from './models/util/interfaces/record.interface';
|
|
143
|
-
import { ICredentials } from './models/um/interfaces/credentials.interface';
|
|
144
|
-
import { IProfInfo } from './models/um/interfaces/prof-info.interface';
|
|
145
|
-
import {
|
|
146
|
-
generateSessionKeyword,
|
|
147
|
-
generateUserClientKeyword,
|
|
148
|
-
generateUserClientPermissionKeyword,
|
|
149
|
-
} from './functions/session/keyword.function';
|
|
150
59
|
import { getSortObj } from './functions/sort-object.function';
|
|
151
60
|
import { I18nDTO } from './models/dtos/i18n.dto';
|
|
152
61
|
import { IBase } from './models/commons/interfaces/base.interface';
|
|
153
62
|
import { Base } from './models/commons/schemas/base.schema';
|
|
154
|
-
import {
|
|
155
|
-
DictionaryEmbedded,
|
|
156
|
-
DictionaryEmbeddedDocument,
|
|
157
|
-
DictionaryEmbeddedSchema,
|
|
158
|
-
} from './models/dictionary/embedded/dictionary.embedded';
|
|
159
|
-
import { IDictionaryEmbedded } from './models/dictionary/interfaces/dictionary-embedded.interface';
|
|
160
|
-
import { IDictionaryEvent } from './models/dictionary/interfaces/dictionary-event.interface';
|
|
161
|
-
import { DictionaryModule } from './modules/dictionary/dictionary.module';
|
|
162
|
-
import { DictionaryService } from './modules/dictionary/services/dictionary.service';
|
|
163
63
|
import { APP__PORT, APP__DEBUG, APP__ACCESS_TOKEN, MONGODB__CS, KAFKAJS_NO_PARTITIONER_WARNING } from './models/commons/consts/env.variables';
|
|
164
64
|
import { AccessTokenGuard } from './guards/access-token.guard';
|
|
165
|
-
import { ValidatePIDPipe } from './pipes/validate-pid.pipe';
|
|
166
65
|
import { Reward, RewardDocument, RewardSchema } from './models/rewards/embedded/rewards.embedded';
|
|
167
66
|
import { RewardQuality } from './models/rewards/enums/reward-quality.enum';
|
|
168
67
|
import { RewardType } from './models/rewards/enums/reward-type.enum';
|
|
169
68
|
import { RewardOrigin, RewardOriginDocument, RewardOriginSchema } from './models/rewards/embedded/origin.embedded.schema';
|
|
170
69
|
import { RewardOriginType } from './models/rewards/enums/reward-origin-type.enum';
|
|
171
|
-
import {
|
|
172
|
-
import { CoreModule } from './modules/core/core.module';
|
|
173
|
-
import { appLoggerInstance } from './modules/core/instances/app-logger.instance';
|
|
70
|
+
import { IUserSession } from './modules/session/models/interfaces';
|
|
174
71
|
|
|
175
72
|
export {
|
|
176
73
|
IsMapOfStringsConstraint,
|
|
@@ -183,32 +80,15 @@ export {
|
|
|
183
80
|
RecordDTO,
|
|
184
81
|
StateParamDTO,
|
|
185
82
|
RecordState,
|
|
186
|
-
SortDirection,
|
|
187
83
|
Sort,
|
|
188
84
|
Page,
|
|
189
85
|
SortPage,
|
|
190
|
-
RESTSort,
|
|
191
|
-
RESTPaging,
|
|
192
|
-
RESTRequestBody,
|
|
193
|
-
RESTPage,
|
|
194
|
-
RESTResult,
|
|
195
|
-
RESTError,
|
|
196
|
-
RESTResponseBody,
|
|
197
86
|
ConfigUtil,
|
|
198
87
|
ISession,
|
|
199
|
-
ISessionUserData,
|
|
200
|
-
SessionClient,
|
|
201
88
|
RedisService,
|
|
202
|
-
SessionService,
|
|
203
|
-
CacheModule,
|
|
204
|
-
PermissionGuard,
|
|
205
89
|
generateUUID,
|
|
206
90
|
Permission,
|
|
207
|
-
PermissionsIncludeStrategy,
|
|
208
|
-
PermissionGuardConfig,
|
|
209
91
|
ClientPermissions,
|
|
210
|
-
ValidateMongoIdPipe,
|
|
211
|
-
ValidatePIDPipe,
|
|
212
92
|
escapeRegex,
|
|
213
93
|
translitGeorgiaToLatin,
|
|
214
94
|
getRandomNumberFromRange,
|
|
@@ -216,15 +96,12 @@ export {
|
|
|
216
96
|
HTTPMethod,
|
|
217
97
|
LogModule,
|
|
218
98
|
LogService,
|
|
219
|
-
LoggerClient,
|
|
220
99
|
Env,
|
|
221
100
|
ConsoleLogger,
|
|
222
101
|
IAddress,
|
|
223
102
|
Address,
|
|
224
103
|
AddressSchema,
|
|
225
104
|
AddressDocument,
|
|
226
|
-
ClientType,
|
|
227
|
-
IClient,
|
|
228
105
|
ContactType,
|
|
229
106
|
IContact,
|
|
230
107
|
Contact,
|
|
@@ -238,18 +115,10 @@ export {
|
|
|
238
115
|
I18n,
|
|
239
116
|
I18nSchema,
|
|
240
117
|
I18nDocument,
|
|
241
|
-
IPermission,
|
|
242
|
-
IPerson,
|
|
243
|
-
Person,
|
|
244
|
-
PersonSchema,
|
|
245
|
-
PersonDocument,
|
|
246
118
|
IRecord,
|
|
247
119
|
Record,
|
|
248
120
|
RecordSchema,
|
|
249
121
|
RecordDocument,
|
|
250
|
-
IRole,
|
|
251
|
-
IUserClient,
|
|
252
|
-
IUser,
|
|
253
122
|
AuthorDTO,
|
|
254
123
|
IAuthor,
|
|
255
124
|
Author,
|
|
@@ -283,27 +152,11 @@ export {
|
|
|
283
152
|
S3Document,
|
|
284
153
|
S3Schema,
|
|
285
154
|
S3FileState,
|
|
286
|
-
IDictionarySetting,
|
|
287
|
-
IDictionary,
|
|
288
|
-
RESTQueryParams,
|
|
289
|
-
IMongoPage,
|
|
290
155
|
ResourceType,
|
|
291
|
-
ICredentials,
|
|
292
|
-
IProfInfo,
|
|
293
|
-
generateSessionKeyword,
|
|
294
|
-
generateUserClientKeyword,
|
|
295
|
-
generateUserClientPermissionKeyword,
|
|
296
156
|
getSortObj,
|
|
297
157
|
I18nDTO,
|
|
298
158
|
Base,
|
|
299
159
|
IBase,
|
|
300
|
-
DictionaryEmbeddedSchema,
|
|
301
|
-
DictionaryEmbeddedDocument,
|
|
302
|
-
DictionaryEmbedded,
|
|
303
|
-
IDictionaryEmbedded,
|
|
304
|
-
IDictionaryEvent,
|
|
305
|
-
DictionaryModule,
|
|
306
|
-
DictionaryService,
|
|
307
160
|
AccessTokenGuard,
|
|
308
161
|
APP__PORT,
|
|
309
162
|
APP__DEBUG,
|
|
@@ -319,7 +172,26 @@ export {
|
|
|
319
172
|
RewardOriginSchema,
|
|
320
173
|
RewardOriginType,
|
|
321
174
|
RewardOriginDocument,
|
|
322
|
-
AppLogger,
|
|
323
|
-
CoreModule,
|
|
324
|
-
appLoggerInstance,
|
|
325
175
|
};
|
|
176
|
+
|
|
177
|
+
declare global {
|
|
178
|
+
namespace Express {
|
|
179
|
+
interface Request {
|
|
180
|
+
session: IUserSession;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export * from './clients';
|
|
186
|
+
export * from './pipes';
|
|
187
|
+
|
|
188
|
+
export * from './models/wrappers/rest-wrapper.class';
|
|
189
|
+
|
|
190
|
+
export * from './modules/core';
|
|
191
|
+
export * from './modules/dictionary';
|
|
192
|
+
export * from './modules/iam';
|
|
193
|
+
export * from './modules/session';
|
|
194
|
+
export * from './modules/emis';
|
|
195
|
+
export * from './modules/otp';
|
|
196
|
+
export * from './modules/storage';
|
|
197
|
+
export * from './modules/dmm';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IUserSessionData } from '../../../modules/session/models/interfaces';
|
|
2
2
|
|
|
3
3
|
export interface ISession {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
token: string;
|
|
5
|
+
userAgent: string;
|
|
6
|
+
createdAt: Date;
|
|
7
|
+
expiresAt: Date;
|
|
8
|
+
data: IUserSessionData;
|
|
9
9
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IDictionaryEmbedded } from '
|
|
2
|
-
import { IPermission } from '
|
|
1
|
+
import { IDictionaryEmbedded } from '../../../modules/dictionary';
|
|
2
|
+
import { IPermission } from '../../../modules/iam';
|
|
3
3
|
import { IAddress } from '../../util/interfaces/address.interface';
|
|
4
4
|
import { IContact } from '../../util/interfaces/contact.interface';
|
|
5
5
|
import { II18n } from '../../util/interfaces/i18n.interface';
|
|
@@ -138,10 +138,7 @@ export class RESTError {
|
|
|
138
138
|
constructor(keyword: string, debug?: any, statusCode?: HttpStatus) {
|
|
139
139
|
this.keyword = keyword;
|
|
140
140
|
this.debug = debug;
|
|
141
|
-
|
|
142
|
-
this.statusCode = HttpStatus.BAD_REQUEST;
|
|
143
|
-
}
|
|
144
|
-
this.statusCode = statusCode;
|
|
141
|
+
this.statusCode = statusCode || HttpStatus.BAD_REQUEST;
|
|
145
142
|
}
|
|
146
143
|
|
|
147
144
|
/**
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { I18n } from '../../../../models/util/embedded/i18n.embedded';
|
|
2
|
+
import { IRef } from './ref.interface';
|
|
3
|
+
import { IScope } from './scope.interface';
|
|
4
|
+
|
|
5
|
+
export interface IFeedThin {
|
|
6
|
+
ref: IRef;
|
|
7
|
+
textNormal?: I18n;
|
|
8
|
+
textStylized?: I18n;
|
|
9
|
+
scope: IScope;
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IDictionaryEmbedded } from "../../../dictionary";
|
|
2
|
+
import { IRangeINT } from "./range.interface";
|
|
3
|
+
|
|
4
|
+
export interface IScope {
|
|
5
|
+
ageRange: IRangeINT;
|
|
6
|
+
genders: number[];
|
|
7
|
+
districts: IDictionaryEmbedded[];
|
|
8
|
+
teacherLevels: IDictionaryEmbedded[];
|
|
9
|
+
schoolTypes: IDictionaryEmbedded[];
|
|
10
|
+
languageSectors: IDictionaryEmbedded[];
|
|
11
|
+
subjects: IDictionaryEmbedded[];
|
|
12
|
+
levels: IDictionaryEmbedded[];
|
|
13
|
+
highland: boolean;
|
|
14
|
+
tags: IDictionaryEmbedded[];
|
|
15
|
+
}
|