@aristid/leav-types 1.6.0-c9256047 → 1.6.0-d2d86b41
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/src/__tests__/e2e/api/_fixtures/fakeplugin/_types/_types.d.ts +3 -0
- package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/domain/fakeDomain.d.ts +6 -0
- package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/domain/index.d.ts +1 -0
- package/apps/core/src/__tests__/e2e/api/_fixtures/fakeplugin/index.d.ts +3 -1
- package/apps/core/src/__tests__/e2e/api/e2eUtils.d.ts +1 -1
- package/apps/core/src/__tests__/e2e/api/mailpitUtils.d.ts +9 -2
- package/apps/core/src/__tests__/e2e/api/notificationUtils.d.ts +5 -0
- package/apps/core/src/__tests__/e2e/api/task/taskSubscription.test.d.ts +1 -0
- package/apps/core/src/_constants/notifications.d.ts +1 -0
- package/apps/core/src/_types/extensionPoints.d.ts +1 -0
- package/apps/core/src/_types/notification.d.ts +5 -0
- package/apps/core/src/_types/tasksManager.d.ts +2 -3
- package/apps/core/src/app/core/tasksManagerApp.d.ts +5 -1
- package/apps/core/src/domain/tasksManager/tasksManagerDomain.d.ts +2 -0
- package/apps/core/src/infra/mailer/mailerService.d.ts +2 -1
- package/libs/logger/src/LoggerCallStack.d.ts +2 -1
- package/libs/logger/src/locationInfoFormatter.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './fakeDomain';
|
|
@@ -2,10 +2,12 @@ import { type i18n } from 'i18next';
|
|
|
2
2
|
import { type IPluginInitModule } from '_types/plugin';
|
|
3
3
|
import { type IValueRepo } from '../../../../../infra/value/valueRepo';
|
|
4
4
|
import { type IAttributeDomain } from '../../../../../domain/attribute/attributeDomain';
|
|
5
|
+
import { type ITasksManagerDomain } from 'domain/tasksManager/tasksManagerDomain';
|
|
5
6
|
interface IDeps {
|
|
6
7
|
translator: i18n;
|
|
7
8
|
'core.infra.value': IValueRepo;
|
|
8
9
|
'core.domain.attribute': IAttributeDomain;
|
|
10
|
+
'core.domain.tasksManager': ITasksManagerDomain;
|
|
9
11
|
}
|
|
10
|
-
export default function ({ translator, 'core.infra.value': valueRepo, 'core.domain.attribute': attributeDomain, }: IDeps): IPluginInitModule;
|
|
12
|
+
export default function ({ translator, 'core.infra.value': valueRepo, 'core.domain.attribute': attributeDomain, 'core.domain.tasksManager': tasksManagerDomain, }: IDeps): IPluginInitModule;
|
|
11
13
|
export {};
|
|
@@ -78,7 +78,7 @@ export declare function makeWebSocketGraphQlCall(options?: {
|
|
|
78
78
|
export declare function waitGraphqlWebSocketMessage<T>(client: GraphqlWsClient, query: string, variables: Record<string, any>, acceptMessage: (msg: T) => boolean, { timeoutMs }: {
|
|
79
79
|
timeoutMs: any;
|
|
80
80
|
}): Promise<T>;
|
|
81
|
-
export declare function waitWebSocketMessage<T>(webSocket: WebSocket, acceptMessage: (msg: T) => boolean
|
|
81
|
+
export declare function waitWebSocketMessage<T>(webSocket: WebSocket, acceptMessage: (msg: T) => Promise<boolean>, { timeoutMs }: {
|
|
82
82
|
timeoutMs: any;
|
|
83
83
|
}): Promise<T>;
|
|
84
84
|
export {};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
interface IMailpitMsgHeaders {
|
|
2
|
+
[key: string]: string[];
|
|
3
|
+
}
|
|
1
4
|
interface IMailpitMsgLight {
|
|
2
5
|
From: {
|
|
3
6
|
Name: string;
|
|
@@ -13,7 +16,10 @@ interface IMailpitMsgLight {
|
|
|
13
16
|
Address: string;
|
|
14
17
|
}>;
|
|
15
18
|
}
|
|
16
|
-
interface
|
|
19
|
+
interface IMailpitMsgLightWithHeaders extends IMailpitMsgLight {
|
|
20
|
+
Headers: IMailpitMsgHeaders;
|
|
21
|
+
}
|
|
22
|
+
export interface IMailpitMsgFull extends IMailpitMsgLight {
|
|
17
23
|
HTML: string;
|
|
18
24
|
Text: string;
|
|
19
25
|
}
|
|
@@ -22,7 +28,8 @@ interface IMailpitSearchResult {
|
|
|
22
28
|
total: number;
|
|
23
29
|
unread: number;
|
|
24
30
|
}
|
|
25
|
-
export declare function waitMailpitMessage(acceptMessage: (msg:
|
|
31
|
+
export declare function waitMailpitMessage(acceptMessage: (msg: IMailpitMsgLightWithHeaders) => boolean): Promise<IMailpitMsgFull>;
|
|
32
|
+
export declare function getMailpitMessageHeaders(messageId: string): Promise<IMailpitMsgHeaders>;
|
|
26
33
|
export declare function getMailpitMessage(messageId: string): Promise<IMailpitMsgFull>;
|
|
27
34
|
export declare function deleteMailpitMessagesBySearch(search: string): Promise<void>;
|
|
28
35
|
export declare function searchMailpitMessages(search: string): Promise<IMailpitSearchResult>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type IPubSubNotificationData } from '_types/eventsManager';
|
|
2
|
+
import { type Client as GraphqlWsClient } from 'graphql-ws';
|
|
3
|
+
import { type IMailpitMsgFull } from './mailpitUtils';
|
|
4
|
+
export declare const waitWebSocketNotification: (graphqlClient: GraphqlWsClient, taskId: string) => Promise<Pick<IPubSubNotificationData, "notification">>;
|
|
5
|
+
export declare const waitEmailNotification: (taskId: string) => Promise<IMailpitMsgFull>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const NOTIFICATION_EMAIL_TASK_ID_HEADER = "X-Task-Id";
|
|
@@ -18,6 +18,7 @@ export interface IExtensionPointsFunctions extends IExtensionPoints {
|
|
|
18
18
|
registerPermissionActions: (type: PermissionTypes, actions: string[], applyOn?: string[]) => void;
|
|
19
19
|
registerEventActions: (actions: string[], prefix: string) => void;
|
|
20
20
|
registerActions: (actions: IActionsListFunction[]) => void;
|
|
21
|
+
registerTaskTypes: (types: string[]) => void;
|
|
21
22
|
/**
|
|
22
23
|
* Method to register some Express routes inside LEAV Core.
|
|
23
24
|
*
|
|
@@ -22,6 +22,11 @@ export interface INotificationContent {
|
|
|
22
22
|
url: string;
|
|
23
23
|
label: string;
|
|
24
24
|
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Optional task ID associated with the notification
|
|
27
|
+
* For email, will be added as a custom header (X-Task-Id)
|
|
28
|
+
*/
|
|
29
|
+
taskId?: string;
|
|
25
30
|
}
|
|
26
31
|
export interface ICreateNotification {
|
|
27
32
|
emitterUserId: string;
|
|
@@ -30,8 +30,7 @@ export interface ITaskOrder {
|
|
|
30
30
|
payload: Payload;
|
|
31
31
|
}
|
|
32
32
|
export interface ITaskFunc {
|
|
33
|
-
|
|
34
|
-
subModuleName?: string;
|
|
33
|
+
path: string;
|
|
35
34
|
name: string;
|
|
36
35
|
args: {
|
|
37
36
|
[key: string]: any;
|
|
@@ -67,7 +66,7 @@ export declare enum TaskType {
|
|
|
67
66
|
SAVE_VALUE_BULK = "SAVE_VALUE_BULK"
|
|
68
67
|
}
|
|
69
68
|
export interface ITaskRole {
|
|
70
|
-
type: TaskType;
|
|
69
|
+
type: TaskType | string;
|
|
71
70
|
detail?: string;
|
|
72
71
|
}
|
|
73
72
|
export interface ITask {
|
|
@@ -7,9 +7,12 @@ import { type IPaginationParams, type ISortParams } from '_types/list';
|
|
|
7
7
|
import { type ITasksManagerDomain } from '../../domain/tasksManager/tasksManagerDomain';
|
|
8
8
|
import { TaskStatus } from '../../_types/tasksManager';
|
|
9
9
|
import { type IGraphqlAppModule } from 'app/graphql/graphqlApp';
|
|
10
|
+
import { type IAdminPermissionDomain } from 'domain/permission/adminPermissionDomain';
|
|
11
|
+
import { type IExtensionPoints } from '_types/extensionPoints';
|
|
10
12
|
export interface ITasksManagerApp extends IGraphqlAppModule {
|
|
11
13
|
initMaster(): Promise<NodeJS.Timeout>;
|
|
12
14
|
initWorker(): Promise<void>;
|
|
15
|
+
extensionPoints?: IExtensionPoints;
|
|
13
16
|
}
|
|
14
17
|
interface IDeps {
|
|
15
18
|
'core.domain.tasksManager'?: ITasksManagerDomain;
|
|
@@ -18,6 +21,7 @@ interface IDeps {
|
|
|
18
21
|
'core.utils'?: IUtils;
|
|
19
22
|
'core.domain.record'?: IRecordDomain;
|
|
20
23
|
'core.domain.eventsManager'?: IEventsManagerDomain;
|
|
24
|
+
'core.domain.permission.admin'?: IAdminPermissionDomain;
|
|
21
25
|
}
|
|
22
26
|
export interface IGetTasksArgs {
|
|
23
27
|
filters?: ICoreEntityFilterOptions & {
|
|
@@ -28,5 +32,5 @@ export interface IGetTasksArgs {
|
|
|
28
32
|
pagination?: IPaginationParams;
|
|
29
33
|
sort?: ISortParams;
|
|
30
34
|
}
|
|
31
|
-
export default function ({ 'core.domain.record': recordDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.domain.eventsManager': eventsManager, }: IDeps): ITasksManagerApp;
|
|
35
|
+
export default function ({ 'core.domain.record': recordDomain, 'core.domain.tasksManager': tasksManagerDomain, 'core.domain.eventsManager': eventsManager, 'core.domain.permission.admin': adminPermissionDomain, }: IDeps): ITasksManagerApp;
|
|
32
36
|
export {};
|
|
@@ -56,6 +56,8 @@ export interface ITasksManagerDomain {
|
|
|
56
56
|
createTask(task: ITaskCreatePayload, ctx: IQueryInfos): Promise<string>;
|
|
57
57
|
cancelTask(task: ITaskCancelPayload, ctx: IQueryInfos): Promise<void>;
|
|
58
58
|
deleteTasks(tasks: ITaskDeletePayload[], ctx: IQueryInfos): Promise<void>;
|
|
59
|
+
registerTaskTypes(types: string[]): void;
|
|
60
|
+
getTaskTypes(): string;
|
|
59
61
|
}
|
|
60
62
|
export interface ITasksManagerDomainDeps {
|
|
61
63
|
config: Config.IConfig;
|
|
@@ -4,7 +4,7 @@ import { type IConfig } from '_types/config';
|
|
|
4
4
|
import { type IQueryInfos } from '_types/queryInfos';
|
|
5
5
|
export interface IMailerService {
|
|
6
6
|
mailer?: nodemailer.Transporter;
|
|
7
|
-
sendEmail?: ({ to, subject, text, html, attachments }: ISendMailParams, ctx: IQueryInfos) => Promise<void>;
|
|
7
|
+
sendEmail?: ({ to, subject, text, html, attachments, headers }: ISendMailParams, ctx: IQueryInfos) => Promise<void>;
|
|
8
8
|
}
|
|
9
9
|
interface IDeps {
|
|
10
10
|
config: IConfig;
|
|
@@ -21,6 +21,7 @@ interface ISendMailParams {
|
|
|
21
21
|
content?: string | Buffer;
|
|
22
22
|
path?: string;
|
|
23
23
|
}>;
|
|
24
|
+
headers?: Record<string, string>;
|
|
24
25
|
}
|
|
25
26
|
export default function ({ config, 'core.domain.globalSettings': globalSettingsDomain, 'core.infra.mailer': mailer, }: IDeps): IMailerService;
|
|
26
27
|
export {};
|
|
@@ -2,9 +2,10 @@ interface ICallerInfo {
|
|
|
2
2
|
path: string;
|
|
3
3
|
line: string;
|
|
4
4
|
col: string;
|
|
5
|
+
matchStackIndex: number;
|
|
5
6
|
}
|
|
6
7
|
export declare class LoggerCallStack {
|
|
7
|
-
private
|
|
8
|
+
private callerLineSearchFromIndexInStack;
|
|
8
9
|
getCallStackTrace(): string | null;
|
|
9
10
|
getLocationInfo(): ICallerInfo | null;
|
|
10
11
|
private getStackLines;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import winston from 'winston';
|
|
2
|
-
export declare const addLocationInfoInLog: winston.Logform.FormatWrap;
|
|
2
|
+
export declare const addLocationInfoInLog: (isLogLevelEnabled: (level: string) => boolean) => winston.Logform.FormatWrap;
|