@aristid/leav-types 1.13.0-0ceda52e → 1.13.0-25bbd1b8

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.
@@ -5,6 +5,7 @@ import { type PluginRegisterRoute } from './endpoint';
5
5
  import { type AuthPostOidcLoginCallback } from './auth';
6
6
  import { type RegisterCronTask } from './cronTask';
7
7
  import { type ITRPCRouterFactory } from '../app/trpc/trpcApp';
8
+ import { type IAutomationAction } from '../domain/automation/actions/_types';
8
9
  export interface IExtensionPoints {
9
10
  [name: string]: (...args: any[]) => void;
10
11
  }
@@ -22,6 +23,7 @@ export interface IExtensionPointsFunctions extends IExtensionPoints {
22
23
  registerPermissionActions: (type: PermissionTypes, actions: string[], applyOn?: string[]) => void;
23
24
  registerEventActions: (actions: string[], prefix: string) => void;
24
25
  registerActions: (actions: IActionsListFunction[]) => void;
26
+ registerAutomationAction: <P = Record<string, unknown>>(action: IAutomationAction<P>) => void;
25
27
  registerTaskTypes: (types: string[]) => void;
26
28
  registerStart: (fct: () => Promise<void>) => void;
27
29
  /**
@@ -1,14 +1,15 @@
1
- import { type IGraphqlAppModule } from '../graphql/graphqlApp';
2
1
  import { type IAutomationDomain } from '../../domain/automation/automationDomain';
3
2
  import { type IAutomationRule } from '../../_types/automation';
4
3
  import { type IPaginationParams, type ISortParams } from '../../_types/list';
5
- import { type IAutomationTriggers } from '../../domain/automation/triggers/automationTriggers';
6
4
  import { type IAutomationTriggersRegistry } from '../..//domain/automation/triggers/automationTriggersRegistry';
7
- export type ICoreImportApp = IGraphqlAppModule;
5
+ import { type IAutomationActionsRegistry } from '../../domain/automation/automationActionsRegistry';
6
+ import { type IAppModule } from '../../_types/shared';
7
+ import { type IGraphqlAppModule } from '../graphql/graphqlApp';
8
+ export type ICoreAutomationApp = IAppModule & IGraphqlAppModule;
8
9
  interface IAutomationAppDeps {
9
10
  'core.domain.automation': IAutomationDomain;
10
- 'core.domain.automation.triggers': IAutomationTriggers;
11
11
  'core.domain.automation.triggers.registry': IAutomationTriggersRegistry;
12
+ 'core.domain.automation.actionsRegistry': IAutomationActionsRegistry;
12
13
  }
13
14
  export interface IGetAutomationRulesArgs {
14
15
  filters?: ICoreEntityFilterOptions & {
@@ -20,5 +21,5 @@ export interface IGetAutomationRulesArgs {
20
21
  pagination?: IPaginationParams;
21
22
  sort?: ISortParams;
22
23
  }
23
- export default function ({ 'core.domain.automation': automationDomain, 'core.domain.automation.triggers': automationTriggers, 'core.domain.automation.triggers.registry': automationTriggersRegistry, }: IAutomationAppDeps): ICoreImportApp;
24
+ export default function ({ 'core.domain.automation': automationDomain, 'core.domain.automation.triggers.registry': automationTriggersRegistry, 'core.domain.automation.actionsRegistry': automationActionsRegistry, }: IAutomationAppDeps): ICoreAutomationApp;
24
25
  export {};
@@ -10,13 +10,13 @@ export declare enum AutomationRuleActions {
10
10
  MODIFY_ATTRIBUTE = "modifyAttribute",
11
11
  NOTIFICATION = "notification"
12
12
  }
13
- export type AutomationPipelineStepValidation<Params = unknown> = {
13
+ export type AutomationPipelineStepValidation<Params = Record<string, unknown>> = {
14
14
  readonly step: AutomationRulePipelineStep<Params>;
15
15
  readonly stepIndex: number;
16
16
  readonly trigger: AutomationRuleTrigger;
17
17
  readonly precedingStepsByExecOrder: AutomationRulePipelineStep[];
18
18
  };
19
- export interface IAutomationAction<Params = unknown> {
19
+ export interface IAutomationAction<Params = Record<string, unknown>> {
20
20
  readonly type: AutomationRuleActions | string;
21
21
  readonly paramsSchema: ZodObject<any>;
22
22
  validateStep?: (params: AutomationPipelineStepValidation<Params>, ctx: IQueryInfos) => Promise<void>;
@@ -2,6 +2,7 @@ import { type AwilixContainer } from 'awilix';
2
2
  import { type IAutomationAction, type AutomationRuleActions } from './actions/_types';
3
3
  export interface IAutomationActionsRegistry {
4
4
  getAction(type: AutomationRuleActions | string): IAutomationAction | undefined;
5
+ registerAction(actions: IAutomationAction): void;
5
6
  listAvailableActions(): IAutomationAction[];
6
7
  }
7
8
  export interface IAutomationActionsRegistryDeps {
@@ -9,7 +9,7 @@ import { type IConfig } from '../../_types/config';
9
9
  import { type IAutomationPipelineDomain } from './pipeline/pipeline';
10
10
  import { type IAutomationRulesCache } from './automationRulesCache';
11
11
  import { type IAutomationTriggers } from './triggers/automationTriggers';
12
- import { type AutomationTriggerDef } from './triggers/_types';
12
+ import { type IAutomationActionsRegistry } from './automationActionsRegistry';
13
13
  import { type IAutomationJsonSchemaFormDomain } from './form/automationJsonSchemaForm';
14
14
  import { type IAutomationUiJsonSchemaFormDomain } from './form/automationUiJsonSchemaForm';
15
15
  import { type UiSchema, type RJSFSchema } from '@rjsf/utils';
@@ -55,9 +55,6 @@ export interface IAutomationDomain {
55
55
  ctx: IQueryInfos;
56
56
  }): Promise<IAutomationRule>;
57
57
  triggerRules(params: ITriggerRulesParams): Promise<void>;
58
- listAutomationTriggersDef({ ctx }: {
59
- ctx: IQueryInfos;
60
- }): Promise<AutomationTriggerDef[]>;
61
58
  }
62
59
  export interface IAutomationDomainDeps {
63
60
  'core.domain.automation.triggers': IAutomationTriggers;
@@ -68,7 +65,8 @@ export interface IAutomationDomainDeps {
68
65
  'core.domain.automation.pipeline': IAutomationPipelineDomain;
69
66
  'core.domain.automation.rulesCache': IAutomationRulesCache;
70
67
  'core.infra.automation.rule': IAutomationRuleRepo;
68
+ 'core.domain.automation.actionsRegistry': IAutomationActionsRegistry;
71
69
  config: IConfig;
72
70
  }
73
- export default function ({ 'core.domain.automation.triggers': automationTriggers, 'core.domain.automation.form': automationJsonSchemaFormDomain, 'core.domain.automation.form.uiJsonSchemaForm': automationUiJsonSchemaFormDomain, 'core.domain.permission.admin': adminPermissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.automation.pipeline': pipelineDomain, 'core.domain.automation.rulesCache': automationRulesCache, 'core.infra.automation.rule': automationRuleRepo, config, }: IAutomationDomainDeps): IAutomationDomain;
71
+ export default function ({ 'core.domain.automation.triggers': automationTriggers, 'core.domain.automation.form': automationJsonSchemaFormDomain, 'core.domain.automation.form.uiJsonSchemaForm': automationUiJsonSchemaFormDomain, 'core.domain.permission.admin': adminPermissionDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.automation.pipeline': pipelineDomain, 'core.domain.automation.rulesCache': automationRulesCache, 'core.infra.automation.rule': automationRuleRepo, 'core.domain.automation.actionsRegistry': automationActionsRegistry, config, }: IAutomationDomainDeps): IAutomationDomain;
74
72
  export {};
@@ -3,7 +3,7 @@ import { type AutomationRuleActions } from '../actions/_types';
3
3
  export type AutomationRulePipeline = {
4
4
  steps: AutomationRulePipelineStep[];
5
5
  };
6
- export type AutomationRulePipelineStep<Params = unknown> = {
6
+ export type AutomationRulePipelineStep<Params = Record<string, unknown>> = {
7
7
  type: AutomationRuleActions | string;
8
8
  name?: string;
9
9
  params: Params;
@@ -1,3 +1,3 @@
1
1
  import { type AutomationPipelineStepValidation } from '../actions/_types';
2
2
  import { type AutomationPipelineValidation } from './_types';
3
- export declare function pipelineStepValidation<Params>(pipelineToValidate: AutomationPipelineValidation, stepIndex: number): AutomationPipelineStepValidation<Params>;
3
+ export declare function pipelineStepValidation<Params = Record<string, unknown>>(pipelineToValidate: AutomationPipelineValidation, stepIndex: number): AutomationPipelineStepValidation<Params>;
@@ -1,11 +1,7 @@
1
1
  import { type AutomationRuleTrigger } from '../../../_types/automation';
2
2
  import { type IQueryInfos } from '../../../_types/queryInfos';
3
3
  import { type IAutomationTriggersRegistry } from './automationTriggersRegistry';
4
- import { type AutomationTriggerDef } from './_types';
5
4
  export interface IAutomationTriggers {
6
- listAutomationTriggersDef({ ctx }: {
7
- ctx: IQueryInfos;
8
- }): AutomationTriggerDef[];
9
5
  validateAutomationRuleTrigger(ruleTrigger: AutomationRuleTrigger, ctx: IQueryInfos): Promise<void>;
10
6
  }
11
7
  export interface IAutomationTriggersDeps {
@@ -27,14 +27,6 @@ export interface IDuplicateRecordRules {
27
27
  }>;
28
28
  }
29
29
  export interface IRecordDomain {
30
- /**
31
- * Create empty record
32
- * Used when create a record, set active to false and inCreation to true
33
- */
34
- createEmptyRecord(params: {
35
- library: string;
36
- ctx: IQueryInfos;
37
- }): Promise<IRecord>;
38
30
  activateNewRecord(params: {
39
31
  library: string;
40
32
  recordId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aristid/leav-types",
3
- "version": "1.13.0-0ceda52e",
3
+ "version": "1.13.0-25bbd1b8",
4
4
  "description": "Shared Leav types",
5
5
  "scripts": {
6
6
  "tscheck": "",