@aristid/leav-types 1.4.0-cf0d20a9 → 1.4.1-242090ba
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 +7 -7
- package/apps/core/config/development.d.ts +0 -4
- package/apps/core/src/__tests__/e2e/api/permissions/extendedLibraryPermissions.test.d.ts +1 -0
- package/apps/core/src/_types/config.d.ts +6 -5
- package/apps/core/src/_types/forms.d.ts +2 -2
- package/apps/core/src/app/auth/authApp.d.ts +3 -1
- package/apps/core/src/domain/logsCollector/logsCollectorDomain.d.ts +3 -3
- package/apps/core/src/domain/permission/helpers/index.d.ts +1 -1
- package/apps/core/src/domain/permission/helpers/recordInCreationBypass.d.ts +8 -3
- package/apps/core/src/domain/permission/recordAttributePermissionDomain.d.ts +2 -2
- package/apps/core/src/domain/permission/recordPermissionDomain.d.ts +2 -2
- package/apps/core/src/domain/record/helpers/getAccessPermissionFilters.d.ts +6 -5
- package/apps/core/src/domain/value/valueDomain.d.ts +3 -1
- package/apps/core/src/infra/{elasticSearch/elasticSearchService.d.ts → elasticsearch/elasticsearchService.d.ts} +4 -4
- package/apps/core/src/infra/elasticsearch/index.d.ts +1 -0
- package/apps/core/src/infra/log/logRepo.d.ts +3 -3
- package/libs/logger/src/LoggerCallStack.d.ts +14 -0
- package/libs/logger/src/catchErrorFormatter.d.ts +2 -0
- package/libs/logger/src/config.d.ts +32 -3
- package/libs/logger/src/locationInfoFormatter.d.ts +2 -0
- package/libs/logger/src/logger.d.ts +1 -1
- package/libs/message-broker/src/amqpService.d.ts +2 -2
- package/libs/message-broker/src/types/amqp.d.ts +1 -1
- package/package.json +2 -2
- package/apps/core/src/infra/elasticSearch/index.d.ts +0 -1
- /package/apps/core/src/infra/{elasticSearch/elasticSearchClient.d.ts → elasticsearch/elasticsearchClient.d.ts} +0 -0
|
@@ -63,6 +63,12 @@ export declare namespace mailer {
|
|
|
63
63
|
export { port_1 as port };
|
|
64
64
|
let secure_1: boolean;
|
|
65
65
|
export { secure_1 as secure };
|
|
66
|
+
export namespace from {
|
|
67
|
+
let name_1: string;
|
|
68
|
+
export { name_1 as name };
|
|
69
|
+
let email_2: string;
|
|
70
|
+
export { email_2 as email };
|
|
71
|
+
}
|
|
66
72
|
export namespace auth_1 {
|
|
67
73
|
export let user: string;
|
|
68
74
|
let password_1: string;
|
|
@@ -90,12 +96,6 @@ export declare namespace lang {
|
|
|
90
96
|
let _default: string;
|
|
91
97
|
export { _default as default };
|
|
92
98
|
}
|
|
93
|
-
export declare namespace logs {
|
|
94
|
-
let level: string;
|
|
95
|
-
let transport: string;
|
|
96
|
-
let destinationFile: string;
|
|
97
|
-
let useJsonFormat: boolean;
|
|
98
|
-
}
|
|
99
99
|
export declare namespace permissions {
|
|
100
100
|
let _default_1: boolean;
|
|
101
101
|
export { _default_1 as default };
|
|
@@ -211,7 +211,7 @@ export declare namespace dbProfiler {
|
|
|
211
211
|
let enable_3: boolean;
|
|
212
212
|
export { enable_3 as enable };
|
|
213
213
|
}
|
|
214
|
-
export declare namespace
|
|
214
|
+
export declare namespace elasticsearch {
|
|
215
215
|
export let indexPrefix: string;
|
|
216
216
|
let url_2: string;
|
|
217
217
|
export { url_2 as url };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type ILoggerConfig } from '@leav/logger';
|
|
2
1
|
import { type Options } from 'amqplib';
|
|
3
2
|
import { type IKeyValue } from './shared';
|
|
4
3
|
export interface IConfig {
|
|
@@ -10,7 +9,6 @@ export interface IConfig {
|
|
|
10
9
|
auth: IAuth;
|
|
11
10
|
mailer: IMailer;
|
|
12
11
|
lang: ILang;
|
|
13
|
-
logs: ILogs;
|
|
14
12
|
permissions: IPermissions;
|
|
15
13
|
amqp: IAmqp;
|
|
16
14
|
redis: IRedis;
|
|
@@ -29,7 +27,7 @@ export interface IConfig {
|
|
|
29
27
|
files: IFilesConfig;
|
|
30
28
|
dbProfiler: IDbProfilerConfig;
|
|
31
29
|
instanceId: string;
|
|
32
|
-
|
|
30
|
+
elasticsearch: IElasticsearchConfig;
|
|
33
31
|
logsCollector: ILogsCollector;
|
|
34
32
|
pluginsPath: string[];
|
|
35
33
|
bugsnag: IBugsnag;
|
|
@@ -100,6 +98,10 @@ export interface IMailer {
|
|
|
100
98
|
host: string;
|
|
101
99
|
port: number;
|
|
102
100
|
secure: boolean;
|
|
101
|
+
from: {
|
|
102
|
+
name: string;
|
|
103
|
+
email: string;
|
|
104
|
+
};
|
|
103
105
|
auth: {
|
|
104
106
|
user: string;
|
|
105
107
|
password: string;
|
|
@@ -109,7 +111,6 @@ export interface ILang {
|
|
|
109
111
|
available: string[];
|
|
110
112
|
default: string;
|
|
111
113
|
}
|
|
112
|
-
export type ILogs = ILoggerConfig;
|
|
113
114
|
export interface IPermissions {
|
|
114
115
|
default: boolean;
|
|
115
116
|
enableCache: boolean;
|
|
@@ -225,7 +226,7 @@ export interface IFilesConfig {
|
|
|
225
226
|
export interface IDbProfilerConfig {
|
|
226
227
|
enable: boolean;
|
|
227
228
|
}
|
|
228
|
-
export interface
|
|
229
|
+
export interface IElasticsearchConfig {
|
|
229
230
|
indexPrefix: string;
|
|
230
231
|
url: string;
|
|
231
232
|
ilmPolicyName: string;
|
|
@@ -22,8 +22,8 @@ export interface IRecordForm {
|
|
|
22
22
|
sidePanel: IFormSidePanel;
|
|
23
23
|
}
|
|
24
24
|
export declare enum FormElementTypes {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
FIELD = "field",
|
|
26
|
+
LAYOUT = "layout"
|
|
27
27
|
}
|
|
28
28
|
export type IFormStrict = Required<IForm>;
|
|
29
29
|
export interface IFormElementsDependency {
|
|
@@ -15,6 +15,7 @@ import { type IncomingHttpHeaders } from 'http';
|
|
|
15
15
|
import { type IRecordRepo } from '../../infra/record/recordRepo';
|
|
16
16
|
import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
|
|
17
17
|
import { type IServerRouteAppModule } from 'interface/server';
|
|
18
|
+
import { type GetSystemQueryContext } from 'utils/helpers/getSystemQueryContext';
|
|
18
19
|
export interface IAuthApp extends IGraphqlAppModule, IServerRouteAppModule {
|
|
19
20
|
validateRequestToken(params: {
|
|
20
21
|
apiKey?: string;
|
|
@@ -34,6 +35,7 @@ export interface IAuthAppDeps {
|
|
|
34
35
|
'core.infra.oidc.oidcClientService': IOIDCClientService;
|
|
35
36
|
'core.app.helpers.initQueryContext': InitQueryContextFunc;
|
|
36
37
|
'core.app.helpers.convertOIDCIdentifier': IConvertOIDCIdentifier;
|
|
38
|
+
'core.utils.getSystemQueryContext': GetSystemQueryContext;
|
|
37
39
|
config: IConfig;
|
|
38
40
|
}
|
|
39
|
-
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.cache.cacheService': cacheService, 'core.infra.oidc.oidcClientService': oidcClientService, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.convertOIDCIdentifier': convertOIDCIdentifier, config }: IAuthAppDeps): IAuthApp;
|
|
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.cache.cacheService': cacheService, 'core.infra.oidc.oidcClientService': oidcClientService, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.convertOIDCIdentifier': convertOIDCIdentifier, 'core.utils.getSystemQueryContext': getSystemQueryContext, config }: IAuthAppDeps): IAuthApp;
|
|
@@ -2,7 +2,7 @@ import { type IAmqpService } from '@leav/message-broker';
|
|
|
2
2
|
import { type ILogger } from '@leav/logger';
|
|
3
3
|
import type * as Config from '_types/config';
|
|
4
4
|
import { type IIndexationService } from '../../infra/indexation/indexationService';
|
|
5
|
-
import { type
|
|
5
|
+
import { type IElasticsearchService } from '../../infra/elasticsearch/elasticsearchService';
|
|
6
6
|
export interface ILogsCollectorDomain {
|
|
7
7
|
init(): Promise<void>;
|
|
8
8
|
}
|
|
@@ -11,6 +11,6 @@ export interface ILogsCollectorDomainDeps {
|
|
|
11
11
|
'core.infra.amqpService': IAmqpService;
|
|
12
12
|
'core.infra.indexation.indexationService': IIndexationService;
|
|
13
13
|
'core.utils.logger': ILogger;
|
|
14
|
-
'core.infra.
|
|
14
|
+
'core.infra.elasticsearch.service': IElasticsearchService;
|
|
15
15
|
}
|
|
16
|
-
export default function ({ config, 'core.infra.amqpService': amqpService, 'core.infra.indexation.indexationService': indexationService, 'core.utils.logger': logger, 'core.infra.
|
|
16
|
+
export default function ({ config, 'core.infra.amqpService': amqpService, 'core.infra.indexation.indexationService': indexationService, 'core.utils.logger': logger, 'core.infra.elasticsearch.service': esService }: ILogsCollectorDomainDeps): ILogsCollectorDomain;
|
|
@@ -5,4 +5,4 @@ export { default as permissionsByActions } from './permissionsByActions';
|
|
|
5
5
|
export { default as reducePermissionsArray } from './reducePermissionsArray';
|
|
6
6
|
export { default as simplePermission } from './simplePermission';
|
|
7
7
|
export { default as treeBasedPermissions } from './treeBasedPermissions';
|
|
8
|
-
export { default as
|
|
8
|
+
export { default as recordInCreationBypass } from './recordInCreationBypass';
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { type IRecord } from '../../../_types/record';
|
|
2
2
|
import { type IQueryInfos } from '../../../_types/queryInfos';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import { type IRecordRepo } from '../../../infra/record/recordRepo';
|
|
4
|
+
export interface IRecordInCreationBypassHelper {
|
|
5
|
+
recordInCreationBypass: (record: IRecord, ctx: IQueryInfos) => boolean;
|
|
6
|
+
recordInCreationBypassById: (libraryId: string, recordId: string, ctx: IQueryInfos) => Promise<boolean>;
|
|
5
7
|
}
|
|
6
|
-
export
|
|
8
|
+
export interface IRecordInCreationBypassHelperDeps {
|
|
9
|
+
'core.infra.record': IRecordRepo;
|
|
10
|
+
}
|
|
11
|
+
export default function ({ 'core.infra.record': recordRepo }: IRecordInCreationBypassHelperDeps): IRecordInCreationBypassHelper;
|
|
@@ -8,7 +8,7 @@ import { type IPermissionByUserGroupsHelper } from './helpers/permissionByUserGr
|
|
|
8
8
|
import { type ITreeBasedPermissionHelper } from './helpers/treeBasedPermissions';
|
|
9
9
|
import { type IGetRecordAttributeHeritedPermissionsParams as IGetRecordAttributeInheritedPermissionsParams } from './_types';
|
|
10
10
|
import { type IRecordRepo } from '../../infra/record/recordRepo';
|
|
11
|
-
import { type
|
|
11
|
+
import { type IRecordInCreationBypassHelper } from './helpers/recordInCreationBypass';
|
|
12
12
|
export interface IRecordAttributePermissionDomain {
|
|
13
13
|
getRecordAttributePermission(action: RecordAttributePermissionsActions, userGroupId: string, attributeId: string, recordLibrary: string, recordId: string, ctx: IQueryInfos): Promise<boolean>;
|
|
14
14
|
getInheritedRecordAttributePermission(params: IGetRecordAttributeInheritedPermissionsParams, ctx: IQueryInfos): Promise<boolean>;
|
|
@@ -18,7 +18,7 @@ export interface IRecordAttributePermissionDomainDeps {
|
|
|
18
18
|
'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
|
|
19
19
|
'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
|
|
20
20
|
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
21
|
-
'core.domain.permission.helpers.
|
|
21
|
+
'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
|
|
22
22
|
'core.domain.attribute': IAttributeDomain;
|
|
23
23
|
'core.infra.value': IValueRepo;
|
|
24
24
|
'core.infra.record': IRecordRepo;
|
|
@@ -8,7 +8,7 @@ import { type ILibraryPermissionDomain } from './libraryPermissionDomain';
|
|
|
8
8
|
import { type IEstimateTreeValueRecordPermissionParams, type IGetInheritedRecordPermissionParams, type IGetRecordPermissionParams } from './_types';
|
|
9
9
|
import { type ITreeRepo } from '../../infra/tree/treeRepo';
|
|
10
10
|
import { type IRecordRepo } from '../../infra/record/recordRepo';
|
|
11
|
-
import { type
|
|
11
|
+
import { type IRecordInCreationBypassHelper } from './helpers/recordInCreationBypass';
|
|
12
12
|
export interface IRecordPermissionDomain {
|
|
13
13
|
getRecordPermission(params: IGetRecordPermissionParams): Promise<boolean>;
|
|
14
14
|
getInheritedRecordPermission(params: IGetInheritedRecordPermissionParams): Promise<boolean>;
|
|
@@ -19,7 +19,7 @@ export interface IRecordPermissionDomainDeps {
|
|
|
19
19
|
'core.domain.permission.helpers.treeBasedPermissions': ITreeBasedPermissionHelper;
|
|
20
20
|
'core.domain.permission.helpers.permissionByUserGroups': IPermissionByUserGroupsHelper;
|
|
21
21
|
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
22
|
-
'core.domain.permission.helpers.
|
|
22
|
+
'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
|
|
23
23
|
'core.domain.attribute': IAttributeDomain;
|
|
24
24
|
'core.domain.helpers.getCoreEntityById': GetCoreEntityByIdFunc;
|
|
25
25
|
'core.infra.value': IValueRepo;
|
|
@@ -11,14 +11,15 @@ interface IAccessPermissionFilterDeps {
|
|
|
11
11
|
'core.infra.permission': IPermissionRepo;
|
|
12
12
|
'core.domain.permission.helpers.defaultPermission': IDefaultPermissionHelper;
|
|
13
13
|
}
|
|
14
|
+
interface INodeIdsByPermissions {
|
|
15
|
+
true: Array<ITreeNode['id']>;
|
|
16
|
+
false: Array<ITreeNode['id']>;
|
|
17
|
+
}
|
|
14
18
|
export interface IGetAccessPermissionsValue {
|
|
15
19
|
treeId: string;
|
|
16
20
|
attribute: IAttribute;
|
|
17
|
-
permissions:
|
|
18
|
-
true: Array<ITreeNode['id']>;
|
|
19
|
-
false: Array<ITreeNode['id']>;
|
|
20
|
-
};
|
|
21
|
+
permissions: INodeIdsByPermissions;
|
|
21
22
|
}
|
|
22
|
-
export type IGetAccessPermissions = (groupsIds: string[][], library: string, deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
|
|
23
|
+
export type IGetAccessPermissions = (groupsIds: string[][], library: string, existingFiltersOnTreeIds: string[], deps: IAccessPermissionFilterDeps, ctx: IQueryInfos) => Promise<IGetAccessPermissionsValue[]>;
|
|
23
24
|
declare const getAccessPermissionsFilters: IGetAccessPermissions;
|
|
24
25
|
export default getAccessPermissionsFilters;
|
|
@@ -24,6 +24,7 @@ import { type IDeleteValueParams, type IRunActionListParams } from './_types';
|
|
|
24
24
|
import { type DeleteRecordHelper } from 'domain/record/helpers/deleteRecord';
|
|
25
25
|
import { type CreateRecordHelper } from 'domain/record/helpers/createRecord';
|
|
26
26
|
import { type IfLibraryJoinLinkAttribute } from '../attribute/helpers/ifLibraryJoinLinkAttribute';
|
|
27
|
+
import { type IRecordInCreationBypassHelper } from '../permission/helpers/recordInCreationBypass';
|
|
27
28
|
export interface ISaveBatchValueError {
|
|
28
29
|
type: string;
|
|
29
30
|
message: string;
|
|
@@ -107,6 +108,7 @@ export interface IValueDomainDeps {
|
|
|
107
108
|
'core.domain.record.helpers.sendRecordUpdateEvent': SendRecordUpdateEventHelper;
|
|
108
109
|
'core.domain.record.helpers.createRecord': CreateRecordHelper;
|
|
109
110
|
'core.domain.record.helpers.deleteRecord': DeleteRecordHelper;
|
|
111
|
+
'core.domain.permission.helpers.recordInCreationBypass': IRecordInCreationBypassHelper;
|
|
110
112
|
'core.domain.attribute.helpers.ifLibraryJoinLinkAttribute': IfLibraryJoinLinkAttribute;
|
|
111
113
|
'core.domain.versionProfile': IVersionProfileDomain;
|
|
112
114
|
'core.infra.record': IRecordRepo;
|
|
@@ -116,5 +118,5 @@ export interface IValueDomainDeps {
|
|
|
116
118
|
'core.utils.logger': ILogger;
|
|
117
119
|
'core.domain.tree': ITreeDomain;
|
|
118
120
|
}
|
|
119
|
-
declare const valueDomain: ({ config, "core.domain.actionsList": actionsListDomain, "core.domain.attribute": attributeDomain, "core.domain.permission.recordAttribute": recordAttributePermissionDomain, "core.domain.permission.record": recordPermissionDomain, "core.domain.eventsManager": eventsManager, "core.domain.helpers.validate": validate, "core.domain.helpers.updateRecordLastModif": updateRecordLastModif, "core.domain.tree.helpers.elementAncestors": elementAncestors, "core.domain.tree.helpers.getDefaultElement": getDefaultElementHelper, "core.domain.record.helpers.sendRecordUpdateEvent": sendRecordUpdateEvent, "core.domain.record.helpers.createRecord": createRecordHelper, "core.domain.record.helpers.deleteRecord": deleteRecordHelper, "core.domain.attribute.helpers.ifLibraryJoinLinkAttribute": ifLibraryJoinLinkAttribute, "core.domain.versionProfile": versionProfileDomain, "core.infra.record": recordRepo, "core.infra.tree": treeRepo, "core.infra.value": valueRepo, "core.utils": utils, "core.utils.logger": logger }: IValueDomainDeps) => IValueDomain;
|
|
121
|
+
declare const valueDomain: ({ config, "core.domain.actionsList": actionsListDomain, "core.domain.attribute": attributeDomain, "core.domain.permission.recordAttribute": recordAttributePermissionDomain, "core.domain.permission.record": recordPermissionDomain, "core.domain.eventsManager": eventsManager, "core.domain.helpers.validate": validate, "core.domain.helpers.updateRecordLastModif": updateRecordLastModif, "core.domain.tree.helpers.elementAncestors": elementAncestors, "core.domain.tree.helpers.getDefaultElement": getDefaultElementHelper, "core.domain.record.helpers.sendRecordUpdateEvent": sendRecordUpdateEvent, "core.domain.record.helpers.createRecord": createRecordHelper, "core.domain.permission.helpers.recordInCreationBypass": recordInCreationBypassHelper, "core.domain.record.helpers.deleteRecord": deleteRecordHelper, "core.domain.attribute.helpers.ifLibraryJoinLinkAttribute": ifLibraryJoinLinkAttribute, "core.domain.versionProfile": versionProfileDomain, "core.infra.record": recordRepo, "core.infra.tree": treeRepo, "core.infra.value": valueRepo, "core.utils": utils, "core.utils.logger": logger }: IValueDomainDeps) => IValueDomain;
|
|
120
122
|
export default valueDomain;
|
|
@@ -15,14 +15,14 @@ interface IElasticsearchServiceSearchParams {
|
|
|
15
15
|
};
|
|
16
16
|
query?: estypes.QueryDslQueryContainer;
|
|
17
17
|
}
|
|
18
|
-
export interface
|
|
18
|
+
export interface IElasticsearchService {
|
|
19
19
|
client: Client;
|
|
20
20
|
search: <T>(params: IElasticsearchServiceSearchParams) => Promise<IElasticsearchServiceSearchResponse<T>>;
|
|
21
21
|
writeData: (indexName: string, data: Log) => Promise<void>;
|
|
22
22
|
}
|
|
23
|
-
export interface
|
|
24
|
-
'core.infra.
|
|
23
|
+
export interface IElasticsearchServiceDeps {
|
|
24
|
+
'core.infra.elasticsearch.client'?: Client;
|
|
25
25
|
config?: IConfig;
|
|
26
26
|
}
|
|
27
|
-
export default function ({ config }:
|
|
27
|
+
export default function ({ config }: IElasticsearchServiceDeps): IElasticsearchService;
|
|
28
28
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as service } from './elasticsearchService';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type IElasticsearchService } from 'infra/elasticsearch/elasticsearchService';
|
|
2
2
|
import { type IConfig } from '_types/config';
|
|
3
3
|
import { type ILogFilters, type ILogPagination, type ILogResponse, type ILogSort } from '_types/log';
|
|
4
4
|
import { type IQueryInfos } from '_types/queryInfos';
|
|
@@ -10,8 +10,8 @@ export interface ILogRepo {
|
|
|
10
10
|
}, ctx: IQueryInfos): Promise<ILogResponse>;
|
|
11
11
|
}
|
|
12
12
|
interface IDeps {
|
|
13
|
-
'core.infra.
|
|
13
|
+
'core.infra.elasticsearch.service'?: IElasticsearchService;
|
|
14
14
|
config?: IConfig;
|
|
15
15
|
}
|
|
16
|
-
export default function ({ 'core.infra.
|
|
16
|
+
export default function ({ 'core.infra.elasticsearch.service': esService, config }: IDeps): ILogRepo;
|
|
17
17
|
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface ICallerInfo {
|
|
2
|
+
path: string;
|
|
3
|
+
line: string;
|
|
4
|
+
col: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class LoggerCallStack {
|
|
7
|
+
private callerLineIndexInStack;
|
|
8
|
+
getCallStackTrace(): string | null;
|
|
9
|
+
getLocationInfo(): ICallerInfo | null;
|
|
10
|
+
private getStackLines;
|
|
11
|
+
private detectCallLineIndexInStack;
|
|
12
|
+
private callStackTraceLongEnough;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -3,7 +3,7 @@ export interface ILoggerConfig {
|
|
|
3
3
|
* Log level (error, warn, info, log, verbose, debug, silly)
|
|
4
4
|
* @default info
|
|
5
5
|
*/
|
|
6
|
-
level
|
|
6
|
+
level?: string;
|
|
7
7
|
/**
|
|
8
8
|
* If true, disable all logging
|
|
9
9
|
* Default: true if TS_JEST=1 (tests), false otherwise
|
|
@@ -18,7 +18,36 @@ export interface ILoggerConfig {
|
|
|
18
18
|
* Default: false (plain text)
|
|
19
19
|
*/
|
|
20
20
|
useJsonFormat?: boolean;
|
|
21
|
-
|
|
21
|
+
/**
|
|
22
|
+
* If true, add timestamp to each log line, ISO format
|
|
23
|
+
*/
|
|
24
|
+
addTimestamp?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* If true, add file and line number of the code that called the logger function (error, warn, info, debug, etc.)
|
|
27
|
+
*/
|
|
28
|
+
addLocationInfo?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Add those metadata to all logs
|
|
31
|
+
*/
|
|
32
|
+
additionalMeta?: {
|
|
33
|
+
/**
|
|
34
|
+
* any string to identify the application those logs came from
|
|
35
|
+
*/
|
|
36
|
+
app?: string;
|
|
37
|
+
/**
|
|
38
|
+
* any string to identify each client those logs came from
|
|
39
|
+
*/
|
|
40
|
+
client?: string;
|
|
41
|
+
/**
|
|
42
|
+
* environment, like production, development, test, integration
|
|
43
|
+
*/
|
|
44
|
+
env?: string;
|
|
45
|
+
/**
|
|
46
|
+
* application version, maybe semver format
|
|
47
|
+
*/
|
|
48
|
+
version?: string;
|
|
49
|
+
};
|
|
50
|
+
onErrorLog?: (message: string, meta: any, getCallStackTrace: () => string) => void;
|
|
22
51
|
}
|
|
23
52
|
export declare function envToBool(value: string, defaultValue?: boolean): boolean;
|
|
24
|
-
export declare const defaultLoggerConfig: ILoggerConfig
|
|
53
|
+
export declare const defaultLoggerConfig: ILoggerConfig & Required<Omit<ILoggerConfig, 'onErrorLog'>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import winston from 'winston';
|
|
2
2
|
import { type ILoggerConfig } from './config';
|
|
3
3
|
export type ILogger = Pick<typeof winston, 'error' | 'warn' | 'info' | 'log' | 'verbose' | 'debug' | 'silly'>;
|
|
4
4
|
export declare function configureLogger(config: ILoggerConfig): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as amqp from 'amqplib';
|
|
2
|
-
import { type IAmqp, type
|
|
2
|
+
import { type IAmqp, type OnMessageFunc } from './types/amqp';
|
|
3
3
|
export interface IAmqpService {
|
|
4
4
|
publisher: {
|
|
5
5
|
connection: amqp.ChannelModel;
|
|
@@ -10,7 +10,7 @@ export interface IAmqpService {
|
|
|
10
10
|
channel: amqp.ConfirmChannel;
|
|
11
11
|
};
|
|
12
12
|
publish(exchange: string, routingKey: string, msg: string, priority?: number): Promise<void>;
|
|
13
|
-
consume(queue: string, routingKey: string, onMessage:
|
|
13
|
+
consume(queue: string, routingKey: string, onMessage: OnMessageFunc, consumerTag?: string): Promise<amqp.Replies.Consume>;
|
|
14
14
|
close(): Promise<void>;
|
|
15
15
|
}
|
|
16
16
|
interface IDeps {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aristid/leav-types",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1-242090ba",
|
|
4
4
|
"description": "Shared Leav types",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"tscheck": "",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"license": "LGPL3",
|
|
15
15
|
"repository": "https://github.com/leav-solutions/leav-engine",
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@leav/utils": "1.4.
|
|
17
|
+
"@leav/utils": "1.4.1",
|
|
18
18
|
"@types/amqplib": "0.10.7",
|
|
19
19
|
"@types/express": "5.0.0",
|
|
20
20
|
"@types/jest": "29.5.14",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as service } from './elasticSearchService';
|
|
File without changes
|