@aristid/leav-types 1.4.1-e4137e04 → 1.4.1-e8855e93
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/apps/core/config/default.d.ts +5 -5
- package/apps/core/config/test.d.ts +43 -9
- package/apps/core/src/__tests__/e2e/api/e2eUtils.d.ts +15 -1
- package/apps/core/src/__tests__/e2e/api/export/export.test.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/mailpitUtils.d.ts +21 -0
- package/apps/core/src/_types/config.d.ts +3 -2
- package/apps/core/src/_types/errors.d.ts +1 -0
- package/apps/core/src/_types/eventsManager.d.ts +9 -1
- package/apps/core/src/_types/userData.d.ts +10 -0
- package/apps/core/src/app/auth/authApp.d.ts +3 -3
- package/apps/core/src/app/core/index.d.ts +1 -0
- package/apps/core/src/app/core/notificationApp.d.ts +10 -0
- package/apps/core/src/domain/export/exportDomain.d.ts +4 -1
- package/apps/core/src/domain/export/exportProfileDomain.d.ts +23 -0
- package/apps/core/src/domain/export/exportProfileDomain.spec.d.ts +1 -0
- package/apps/core/src/domain/export/index.d.ts +1 -0
- package/apps/core/src/domain/notification/channels/emailChannel.d.ts +7 -1
- package/apps/core/src/domain/user/userDomain.d.ts +5 -2
- package/apps/core/src/errors/CustomConfigError.d.ts +4 -0
- package/apps/core/src/infra/cache/cacheService.d.ts +4 -3
- package/apps/core/src/infra/cache/index.d.ts +1 -2
- package/apps/core/src/infra/cache/ramService.d.ts +1 -7
- package/apps/core/src/infra/cache/redis.d.ts +5 -1
- package/apps/core/src/infra/oidc/oidcClientService.d.ts +3 -3
- package/apps/core/src/infra/session/index.d.ts +1 -0
- package/apps/core/src/infra/session/sessionRepo.d.ts +8 -0
- package/libs/config-manager/src/envTo.d.ts +4 -0
- package/package.json +1 -1
|
@@ -93,7 +93,7 @@ export declare namespace matomo {
|
|
|
93
93
|
export let siteId: string;
|
|
94
94
|
}
|
|
95
95
|
export declare namespace lang {
|
|
96
|
-
export let available: string
|
|
96
|
+
export let available: string[];
|
|
97
97
|
let _default: string;
|
|
98
98
|
export { _default as default };
|
|
99
99
|
}
|
|
@@ -122,7 +122,8 @@ export declare namespace redis {
|
|
|
122
122
|
export { host_2 as host };
|
|
123
123
|
let port_3: string;
|
|
124
124
|
export { port_3 as port };
|
|
125
|
-
export let
|
|
125
|
+
export let cacheDatabase: number;
|
|
126
|
+
export let sessionDatabase: number;
|
|
126
127
|
}
|
|
127
128
|
export declare namespace filesManager {
|
|
128
129
|
namespace queues {
|
|
@@ -168,8 +169,7 @@ export declare namespace eventsManager {
|
|
|
168
169
|
}
|
|
169
170
|
export { routingKeys_2 as routingKeys };
|
|
170
171
|
export namespace queues_2 {
|
|
171
|
-
let
|
|
172
|
-
export { pubsub_events_1 as pubsub_events };
|
|
172
|
+
let pubsub_events_prefix: string;
|
|
173
173
|
}
|
|
174
174
|
export { queues_2 as queues };
|
|
175
175
|
}
|
|
@@ -235,5 +235,5 @@ export declare namespace elasticsearch {
|
|
|
235
235
|
export declare namespace logsCollector {
|
|
236
236
|
let queue: string;
|
|
237
237
|
}
|
|
238
|
-
export declare let pluginsPath: string
|
|
238
|
+
export declare let pluginsPath: string[];
|
|
239
239
|
export { _export as export, _import as import };
|
|
@@ -6,6 +6,10 @@ export namespace server {
|
|
|
6
6
|
let password: string;
|
|
7
7
|
let email: string;
|
|
8
8
|
}
|
|
9
|
+
namespace systemUser {
|
|
10
|
+
let email_1: string;
|
|
11
|
+
export { email_1 as email };
|
|
12
|
+
}
|
|
9
13
|
let allowIntrospection: boolean;
|
|
10
14
|
}
|
|
11
15
|
export namespace db {
|
|
@@ -22,33 +26,63 @@ export namespace filesManager {
|
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
28
|
export namespace eventsManager {
|
|
25
|
-
namespace routingKeys {
|
|
29
|
+
export namespace routingKeys {
|
|
26
30
|
let data_events: string;
|
|
31
|
+
let pubsub_events: string;
|
|
32
|
+
}
|
|
33
|
+
export namespace queues_1 {
|
|
34
|
+
let pubsub_events_prefix: string;
|
|
27
35
|
}
|
|
36
|
+
export { queues_1 as queues };
|
|
28
37
|
}
|
|
29
38
|
export namespace indexationManager {
|
|
30
|
-
export namespace
|
|
39
|
+
export namespace queues_2 {
|
|
31
40
|
let events_1: string;
|
|
32
41
|
export { events_1 as events };
|
|
33
42
|
}
|
|
34
|
-
export {
|
|
43
|
+
export { queues_2 as queues };
|
|
35
44
|
}
|
|
36
45
|
export namespace tasksManager {
|
|
37
|
-
export
|
|
38
|
-
|
|
46
|
+
export let checkingInterval: number;
|
|
47
|
+
export namespace queues_3 {
|
|
48
|
+
let execOrders: string;
|
|
49
|
+
let cancelOrders: string;
|
|
39
50
|
}
|
|
40
|
-
export {
|
|
51
|
+
export { queues_3 as queues };
|
|
41
52
|
export namespace routingKeys_1 {
|
|
42
|
-
let
|
|
43
|
-
export {
|
|
53
|
+
let execOrders_1: string;
|
|
54
|
+
export { execOrders_1 as execOrders };
|
|
55
|
+
let cancelOrders_1: string;
|
|
56
|
+
export { cancelOrders_1 as cancelOrders };
|
|
44
57
|
}
|
|
45
58
|
export { routingKeys_1 as routingKeys };
|
|
46
59
|
}
|
|
47
60
|
export namespace logs {
|
|
48
61
|
let transport: string;
|
|
49
62
|
}
|
|
63
|
+
export namespace notification {
|
|
64
|
+
export let enable: boolean;
|
|
65
|
+
export namespace email_2 {
|
|
66
|
+
let enable_1: boolean;
|
|
67
|
+
export { enable_1 as enable };
|
|
68
|
+
}
|
|
69
|
+
export { email_2 as email };
|
|
70
|
+
export namespace webSocket {
|
|
71
|
+
let enable_2: boolean;
|
|
72
|
+
export { enable_2 as enable };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export namespace mailer {
|
|
76
|
+
namespace from {
|
|
77
|
+
let name_1: string;
|
|
78
|
+
export { name_1 as name };
|
|
79
|
+
let email_3: string;
|
|
80
|
+
export { email_3 as email };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
50
83
|
export let debug: boolean;
|
|
51
84
|
export namespace redis {
|
|
52
|
-
let
|
|
85
|
+
let cacheDatabase: number;
|
|
86
|
+
let sessionDatabase: number;
|
|
53
87
|
}
|
|
54
88
|
export let pluginsPath: string[];
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
+
import WebSocket from 'ws';
|
|
2
|
+
import { type Client as GraphqlWsClient } from 'graphql-ws';
|
|
3
|
+
import { type AxiosResponse } from 'axios';
|
|
1
4
|
import type FormData from 'form-data';
|
|
2
5
|
import { type ActionsListConfig } from '_types/actionsList';
|
|
3
6
|
import { type ITreeElement } from '_types/tree';
|
|
4
7
|
import { AttributeFormats, type AttributeTypes, type IAttributeVersionsConf, type IEmbeddedAttribute } from '../../../_types/attribute';
|
|
5
8
|
export declare function getGraphQLUrl(): Promise<string>;
|
|
6
|
-
export declare
|
|
9
|
+
export declare class E2EGraphQLError extends Error {
|
|
10
|
+
readonly response: AxiosResponse;
|
|
11
|
+
constructor(message: string, response: AxiosResponse);
|
|
12
|
+
}
|
|
13
|
+
export declare function makeGraphQlCall(query: string | FormData): Promise<any>;
|
|
7
14
|
export declare function gqlSaveLibrary(id: string, label: string, additionalAttributes?: string[]): Promise<any>;
|
|
8
15
|
export declare function gqlSaveApplication(id: string, label: string, endpoint: string): Promise<any>;
|
|
9
16
|
export declare function gqlSaveAttribute(params: {
|
|
@@ -41,3 +48,10 @@ export declare function gqlSaveVersionProfile(profileId: string, label: string,
|
|
|
41
48
|
* Convert object to JSON, escaping quotes to be able to use it in a graphql query
|
|
42
49
|
**/
|
|
43
50
|
export declare function toCleanJSON(obj: {}): string;
|
|
51
|
+
export declare function makeWebSocketGraphQlCall(): Promise<GraphqlWsClient>;
|
|
52
|
+
export declare function waitGraphqlWebSocketMessage<T>(client: GraphqlWsClient, query: string, variables: Record<string, any>, acceptMessage: (msg: T) => boolean, { timeoutMs }: {
|
|
53
|
+
timeoutMs: any;
|
|
54
|
+
}): Promise<T>;
|
|
55
|
+
export declare function waitWebSocketMessage<T>(webSocket: WebSocket, acceptMessage: (msg: T) => boolean, { timeoutMs }: {
|
|
56
|
+
timeoutMs: any;
|
|
57
|
+
}): Promise<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface IMailpitMsgLight {
|
|
2
|
+
From: {
|
|
3
|
+
Name: string;
|
|
4
|
+
Address: string;
|
|
5
|
+
};
|
|
6
|
+
ID: string;
|
|
7
|
+
MessageID: string;
|
|
8
|
+
Read: boolean;
|
|
9
|
+
Size: number;
|
|
10
|
+
Subject: string;
|
|
11
|
+
To: Array<{
|
|
12
|
+
Name: string;
|
|
13
|
+
Address: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
interface IMailpitMsgFull extends IMailpitMsgLight {
|
|
17
|
+
HTML: string;
|
|
18
|
+
Text: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function waitMailpitMessage(acceptMessage: (msg: IMailpitMsgLight) => boolean): Promise<IMailpitMsgFull>;
|
|
21
|
+
export {};
|
|
@@ -132,7 +132,8 @@ export interface IAmqp {
|
|
|
132
132
|
export interface IRedis {
|
|
133
133
|
host: string;
|
|
134
134
|
port: number;
|
|
135
|
-
|
|
135
|
+
cacheDatabase: number;
|
|
136
|
+
sessionDatabase: number;
|
|
136
137
|
}
|
|
137
138
|
export interface IFilesManager {
|
|
138
139
|
queues: {
|
|
@@ -157,7 +158,7 @@ export interface IEventsManager {
|
|
|
157
158
|
pubsub_events: string;
|
|
158
159
|
};
|
|
159
160
|
queues: {
|
|
160
|
-
|
|
161
|
+
pubsub_events_prefix: string;
|
|
161
162
|
};
|
|
162
163
|
}
|
|
163
164
|
export interface IIndexationManager {
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import { type INotificationContent } from './notification';
|
|
1
2
|
export declare enum TriggerNames {
|
|
2
3
|
APPLICATION_EVENT = "APPLICATION_EVENT",
|
|
3
4
|
UPLOAD_FILE = "UPLOAD_FILE",
|
|
4
5
|
INDEXATION = "INDEXATION",
|
|
5
6
|
TASK = "TASK",
|
|
6
7
|
TREE_EVENT = "TREE_EVENT",
|
|
7
|
-
RECORD_UPDATE = "RECORD_UPDATE"
|
|
8
|
+
RECORD_UPDATE = "RECORD_UPDATE",
|
|
9
|
+
NOTIFICATION = "NOTIFICATION"
|
|
10
|
+
}
|
|
11
|
+
export interface IPubSubNotificationData {
|
|
12
|
+
notification: INotificationContent & {
|
|
13
|
+
date: number;
|
|
14
|
+
};
|
|
15
|
+
recipientUserIds: string[];
|
|
8
16
|
}
|
|
@@ -2,3 +2,13 @@ export interface IUserData {
|
|
|
2
2
|
global: boolean;
|
|
3
3
|
data: any;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Same idea as IRecordIdentity but for users
|
|
7
|
+
*/
|
|
8
|
+
export interface IUserIdentity {
|
|
9
|
+
id: string;
|
|
10
|
+
/**
|
|
11
|
+
* @throw if user have no email
|
|
12
|
+
*/
|
|
13
|
+
getEmail: () => Promise<string>;
|
|
14
|
+
}
|
|
@@ -4,7 +4,6 @@ import { type IUserDomain } from 'domain/user/userDomain';
|
|
|
4
4
|
import { type IValueDomain } from 'domain/value/valueDomain';
|
|
5
5
|
import { type Response } from 'express';
|
|
6
6
|
import { type IConfig } from '_types/config';
|
|
7
|
-
import { type ICachesService } from '../../infra/cache/cacheService';
|
|
8
7
|
import { type ITokenUserData } from '../../_types/auth';
|
|
9
8
|
import { type IRequestWithContext } from '../../_types/express';
|
|
10
9
|
import { type ILogger } from '@leav/logger';
|
|
@@ -16,6 +15,7 @@ import { type IRecordRepo } from '../../infra/record/recordRepo';
|
|
|
16
15
|
import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
|
|
17
16
|
import { type IServerRouteAppModule } from 'interface/server';
|
|
18
17
|
import { type GetSystemQueryContext } from 'utils/helpers/getSystemQueryContext';
|
|
18
|
+
import { type ISessionRepo } from '../../infra/session/sessionRepo';
|
|
19
19
|
export interface IAuthApp extends IGraphqlAppModule, IServerRouteAppModule {
|
|
20
20
|
validateRequestToken(params: {
|
|
21
21
|
apiKey?: string;
|
|
@@ -30,12 +30,12 @@ export interface IAuthAppDeps {
|
|
|
30
30
|
'core.infra.record': IRecordRepo;
|
|
31
31
|
'core.domain.apiKey': IApiKeyDomain;
|
|
32
32
|
'core.domain.user': IUserDomain;
|
|
33
|
-
'core.infra.cache.cacheService': ICachesService;
|
|
34
33
|
'core.utils.logger': ILogger;
|
|
35
34
|
'core.infra.oidc.oidcClientService': IOIDCClientService;
|
|
36
35
|
'core.app.helpers.initQueryContext': InitQueryContextFunc;
|
|
37
36
|
'core.app.helpers.convertOIDCIdentifier': IConvertOIDCIdentifier;
|
|
38
37
|
'core.utils.getSystemQueryContext': GetSystemQueryContext;
|
|
39
38
|
config: IConfig;
|
|
39
|
+
'core.infra.session': ISessionRepo;
|
|
40
40
|
}
|
|
41
|
-
export default function ({ 'core.domain.value': valueDomain, 'core.domain.record': recordDomain, 'core.infra.record': recordRepo, 'core.domain.apiKey': apiKeyDomain, 'core.domain.user': userDomain, 'core.utils.logger': logger, 'core.infra.
|
|
41
|
+
export default function ({ 'core.domain.value': valueDomain, 'core.domain.record': recordDomain, 'core.infra.record': recordRepo, 'core.domain.apiKey': apiKeyDomain, 'core.domain.user': userDomain, 'core.utils.logger': logger, 'core.infra.oidc.oidcClientService': oidcClientService, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.convertOIDCIdentifier': convertOIDCIdentifier, 'core.utils.getSystemQueryContext': getSystemQueryContext, 'core.infra.session': sessionRepo, config }: IAuthAppDeps): IAuthApp;
|
|
@@ -17,6 +17,7 @@ export { default as permission } from './permissionApp/permissionApp';
|
|
|
17
17
|
export { default as plugins } from './pluginsApp';
|
|
18
18
|
export { default as record } from './recordApp/recordApp';
|
|
19
19
|
export { default as tasksManager } from './tasksManagerApp';
|
|
20
|
+
export { default as notification } from './notificationApp';
|
|
20
21
|
export { default as tree } from './treeApp/treeApp';
|
|
21
22
|
export { default as userData } from './userDataApp';
|
|
22
23
|
export { default as value } from './valueApp';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
|
|
2
|
+
import { type IEventsManagerDomain } from 'domain/eventsManager/eventsManagerDomain';
|
|
3
|
+
import { type IUtils } from 'utils/utils';
|
|
4
|
+
export type INotificationApp = IGraphqlAppModule;
|
|
5
|
+
interface IDeps {
|
|
6
|
+
'core.utils'?: IUtils;
|
|
7
|
+
'core.domain.eventsManager'?: IEventsManagerDomain;
|
|
8
|
+
}
|
|
9
|
+
export default function ({ 'core.domain.eventsManager': eventsManager }: IDeps): INotificationApp;
|
|
10
|
+
export {};
|
|
@@ -12,8 +12,10 @@ import { type IRecordFilterLight } from '../../_types/record';
|
|
|
12
12
|
import { type ITaskFuncParams } from '../../_types/tasksManager';
|
|
13
13
|
import { type IValidateHelper } from '../helpers/validate';
|
|
14
14
|
import { type INotificationDomain } from 'domain/notification/notificationDomain';
|
|
15
|
+
import { type IExportProfileDomain } from './exportProfileDomain';
|
|
15
16
|
export interface IExportParams {
|
|
16
17
|
library: string;
|
|
18
|
+
profile: string;
|
|
17
19
|
attributes: string[];
|
|
18
20
|
filters?: IRecordFilterLight[];
|
|
19
21
|
ctx: IQueryInfos;
|
|
@@ -41,8 +43,9 @@ export interface IExportDomainDeps {
|
|
|
41
43
|
'core.domain.helpers.updateTaskProgress': UpdateTaskProgress;
|
|
42
44
|
'core.domain.eventsManager': IEventsManagerDomain;
|
|
43
45
|
'core.domain.notification': INotificationDomain;
|
|
46
|
+
'core.domain.export.exportProfile': IExportProfileDomain;
|
|
44
47
|
'core.utils': IUtils;
|
|
45
48
|
translator: i18n;
|
|
46
49
|
config: Config.IConfig;
|
|
47
50
|
}
|
|
48
|
-
export default function ({ config, 'core.domain.record': recordDomain, 'core.domain.helpers.validate': validateHelper, 'core.domain.attribute': attributeDomain, 'core.domain.library': libraryDomain, 'core.domain.tasksManager': tasksManager, 'core.domain.helpers.updateTaskProgress': updateTaskProgress, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.notification': notificationDomain, 'core.utils': utils, translator }: IExportDomainDeps): IExportDomain;
|
|
51
|
+
export default function ({ config, 'core.domain.record': recordDomain, 'core.domain.helpers.validate': validateHelper, 'core.domain.attribute': attributeDomain, 'core.domain.library': libraryDomain, 'core.domain.tasksManager': tasksManager, 'core.domain.helpers.updateTaskProgress': updateTaskProgress, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.notification': notificationDomain, 'core.domain.export.exportProfile': exportProfileDomain, 'core.utils': utils, translator }: IExportDomainDeps): IExportDomain;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ILibraryDomain } from '../library/libraryDomain';
|
|
2
|
+
import { type IQueryInfos } from '../../_types/queryInfos';
|
|
3
|
+
export interface IExportProfileConfig {
|
|
4
|
+
profileSelected: string;
|
|
5
|
+
profiles: Array<{
|
|
6
|
+
label: string;
|
|
7
|
+
columns: Array<{
|
|
8
|
+
columnLabel: string;
|
|
9
|
+
attribute: string;
|
|
10
|
+
}>;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
export interface IExportColumn {
|
|
14
|
+
columnLabel: string;
|
|
15
|
+
attribute: string;
|
|
16
|
+
}
|
|
17
|
+
export interface IExportProfileDomain {
|
|
18
|
+
getColumnsFromProfileConfig(profile: string, library: string, ctx: IQueryInfos): Promise<IExportColumn[]>;
|
|
19
|
+
}
|
|
20
|
+
export interface IExportProfileDomainDeps {
|
|
21
|
+
'core.domain.library': ILibraryDomain;
|
|
22
|
+
}
|
|
23
|
+
export default function ({ 'core.domain.library': libraryDomain }: IExportProfileDomainDeps): IExportProfileDomain;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { type INotificationChannel } from '../../../_types/notification';
|
|
2
2
|
import { type IMailerService } from 'infra/mailer/mailerService';
|
|
3
|
+
import { type IUserDomain } from 'domain/user/userDomain';
|
|
4
|
+
import { type IGlobalSettingsDomain } from 'domain/globalSettings/globalSettingsDomain';
|
|
5
|
+
import { type IConfig } from '_types/config';
|
|
3
6
|
export interface INotificationByEmailChannelDeps {
|
|
7
|
+
config: IConfig;
|
|
4
8
|
'core.infra.mailer.mailerService': IMailerService;
|
|
9
|
+
'core.domain.globalSettings': IGlobalSettingsDomain;
|
|
10
|
+
'core.domain.user': IUserDomain;
|
|
5
11
|
}
|
|
6
|
-
export default function ({ 'core.infra.mailer.mailerService': mailerService }: INotificationByEmailChannelDeps): INotificationChannel;
|
|
12
|
+
export default function ({ config, 'core.infra.mailer.mailerService': mailerService, 'core.domain.globalSettings': globalSettingsDomain, 'core.domain.user': userDomain }: INotificationByEmailChannelDeps): INotificationChannel;
|
|
@@ -6,7 +6,8 @@ import { type IUserDataRepo } from 'infra/userData/userDataRepo';
|
|
|
6
6
|
import { type IUtils } from 'utils/utils';
|
|
7
7
|
import type * as Config from '_types/config';
|
|
8
8
|
import { type IQueryInfos } from '_types/queryInfos';
|
|
9
|
-
import { type IUserData } from '_types/userData';
|
|
9
|
+
import { type IUserIdentity, type IUserData } from '_types/userData';
|
|
10
|
+
import { type IValueDomain } from 'domain/value/valueDomain';
|
|
10
11
|
interface ISaveUserDataParams {
|
|
11
12
|
key: string;
|
|
12
13
|
value: any;
|
|
@@ -15,12 +16,14 @@ interface ISaveUserDataParams {
|
|
|
15
16
|
ctx: IQueryInfos;
|
|
16
17
|
}
|
|
17
18
|
export interface IUserDomain {
|
|
19
|
+
getUserIdentity(userId: string, ctx: IQueryInfos): Promise<IUserIdentity>;
|
|
18
20
|
saveUserData(params: ISaveUserDataParams): Promise<IUserData>;
|
|
19
21
|
getUserData(keys: string[], global: boolean, ctx: IQueryInfos): Promise<IUserData>;
|
|
20
22
|
sendResetPasswordEmail(email: string, token: string, login: string, browser: string, os: string, lang: 'fr' | 'en', ctx: IQueryInfos): Promise<void>;
|
|
21
23
|
}
|
|
22
24
|
export interface IUserDomainDeps {
|
|
23
25
|
config: Config.IConfig;
|
|
26
|
+
'core.domain.value': IValueDomain;
|
|
24
27
|
'core.domain.permissions': IPermissionDomain;
|
|
25
28
|
'core.infra.userData': IUserDataRepo;
|
|
26
29
|
'core.domain.permission': IPermissionDomain;
|
|
@@ -32,5 +35,5 @@ export interface IUserDomainDeps {
|
|
|
32
35
|
export declare enum UserCoreDataKeys {
|
|
33
36
|
CONSULTED_APPS = "applications_consultation"
|
|
34
37
|
}
|
|
35
|
-
export default function ({ config, 'core.infra.userData': userDataRepo, 'core.domain.permission': permissionDomain, 'core.infra.mailer.mailerService': mailerService, 'core.domain.globalSettings': globalSettingsDomain, 'core.utils': utils, translator }: IUserDomainDeps): IUserDomain;
|
|
38
|
+
export default function ({ config, 'core.domain.value': valueDomain, 'core.infra.userData': userDataRepo, 'core.domain.permission': permissionDomain, 'core.infra.mailer.mailerService': mailerService, 'core.domain.globalSettings': globalSettingsDomain, 'core.utils': utils, translator }: IUserDomainDeps): IUserDomain;
|
|
36
39
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type IQueryInfos } from '_types/queryInfos';
|
|
2
|
+
import { type IRedis } from './redis';
|
|
2
3
|
export interface IMemoizeParams<T> {
|
|
3
4
|
key: string;
|
|
4
5
|
func: () => Promise<T>;
|
|
@@ -21,13 +22,13 @@ export interface ICacheService {
|
|
|
21
22
|
deleteData(keys: string[], path?: string): Promise<void>;
|
|
22
23
|
deleteAll(path?: string): Promise<void>;
|
|
23
24
|
}
|
|
24
|
-
interface
|
|
25
|
-
'core.infra.
|
|
25
|
+
interface ICacheServiceDeps {
|
|
26
|
+
'core.infra.redis': IRedis;
|
|
26
27
|
'core.infra.cache.diskService': ICacheService;
|
|
27
28
|
}
|
|
28
29
|
export declare enum ECacheType {
|
|
29
30
|
DISK = "DISK",
|
|
30
31
|
RAM = "RAM"
|
|
31
32
|
}
|
|
32
|
-
export default function ({ 'core.infra.
|
|
33
|
+
export default function ({ 'core.infra.redis': redis, 'core.infra.cache.diskService': diskService }: ICacheServiceDeps): ICachesService;
|
|
33
34
|
export {};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
1
|
import { type ICacheService } from './cacheService';
|
|
2
2
|
import { type RedisClientType } from './redis';
|
|
3
|
-
|
|
4
|
-
interface IDeps {
|
|
5
|
-
config?: IConfig;
|
|
6
|
-
'core.infra.redis'?: RedisClientType;
|
|
7
|
-
}
|
|
8
|
-
export default function ({ 'core.infra.redis': redis, config }: IDeps): ICacheService;
|
|
9
|
-
export {};
|
|
3
|
+
export default function (redisClient: RedisClientType): ICacheService;
|
|
@@ -4,5 +4,9 @@ interface IDeps {
|
|
|
4
4
|
config?: IConfig;
|
|
5
5
|
}
|
|
6
6
|
export type RedisClientType = ReturnType<typeof redis.createClient>;
|
|
7
|
-
export
|
|
7
|
+
export interface IRedis {
|
|
8
|
+
cache: RedisClientType;
|
|
9
|
+
session: RedisClientType;
|
|
10
|
+
}
|
|
11
|
+
export declare function initRedis({ config }: IDeps): Promise<IRedis>;
|
|
8
12
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type OidcClient } from './oidcClient';
|
|
2
2
|
import { TokenSet } from 'openid-client';
|
|
3
|
-
import { type ICachesService } from '../cache/cacheService';
|
|
4
3
|
import { type IConfig } from '../../_types/config';
|
|
4
|
+
import { type ISessionRepo } from '../session/sessionRepo';
|
|
5
5
|
export interface IOIDCClientService {
|
|
6
6
|
oidcClient?: OidcClient;
|
|
7
7
|
getTokensFromCodes: (params: {
|
|
@@ -30,8 +30,8 @@ export interface IOIDCClientService {
|
|
|
30
30
|
}
|
|
31
31
|
interface IDeps {
|
|
32
32
|
'core.infra.oidcClient'?: OidcClient;
|
|
33
|
-
'core.infra.cache.cacheService'?: ICachesService;
|
|
34
33
|
config?: IConfig;
|
|
34
|
+
'core.infra.session'?: ISessionRepo;
|
|
35
35
|
}
|
|
36
|
-
export default function ({ 'core.infra.oidcClient': oidcClient, 'core.infra.
|
|
36
|
+
export default function ({ 'core.infra.oidcClient': oidcClient, 'core.infra.session': sessionRepo, config }?: IDeps): IOIDCClientService;
|
|
37
37
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './sessionRepo';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ICacheService } from '../cache/cacheService';
|
|
2
|
+
import { type IRedis } from '../cache/redis';
|
|
3
|
+
export type ISessionRepo = ICacheService;
|
|
4
|
+
interface ISessionRepoDeps {
|
|
5
|
+
'core.infra.redis'?: IRedis;
|
|
6
|
+
}
|
|
7
|
+
export default function ({ 'core.infra.redis': redis }: ISessionRepoDeps): ISessionRepo;
|
|
8
|
+
export {};
|
|
@@ -6,3 +6,7 @@ export declare function envToBool(value: string, defaultValue?: boolean): boolea
|
|
|
6
6
|
* To convert process.env string to number
|
|
7
7
|
*/
|
|
8
8
|
export declare function envToNumber(value: string, defaultValue?: number): number;
|
|
9
|
+
/**
|
|
10
|
+
* To convert process.env string to string array
|
|
11
|
+
*/
|
|
12
|
+
export declare function envToStringArray(value: string, separator?: string, defaultValue?: string[]): string[];
|