@aristid/leav-types 0.0.7-804957a → 0.0.7-8094fc0

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.
@@ -41,6 +41,7 @@ export declare namespace auth {
41
41
  let wellKnownEndpoint: string;
42
42
  let clientId: string;
43
43
  let postLogoutRedirectUri: string;
44
+ let skipLogoutConfirmationPage: string | boolean;
44
45
  }
45
46
  let testApiKey: string;
46
47
  }
@@ -15,6 +15,8 @@ export declare const mockAttrTree: {
15
15
  linked_tree: string;
16
16
  system?: boolean;
17
17
  readonly?: boolean;
18
+ required?: boolean;
19
+ character_limit?: number;
18
20
  format?: AttributeFormats;
19
21
  linked_library?: string;
20
22
  embedded_fields?: import("../../_types/attribute").IEmbeddedAttribute[];
@@ -26,7 +28,6 @@ export declare const mockAttrTree: {
26
28
  values_list?: import("../../_types/attribute").IValuesListConf;
27
29
  reverse_link?: string | IAttribute;
28
30
  unique?: boolean;
29
- maxLength?: number;
30
31
  description?: import("../../_types/systemTranslation").ISystemTranslation;
31
32
  label?: import("../../_types/systemTranslation").ISystemTranslation | string;
32
33
  };
@@ -1,2 +1,3 @@
1
+ import { IView } from '../../_types/views';
1
2
  export declare const mockViewBeforeCreation: IView;
2
3
  export declare const mockView: MandatoryId<IView>;
@@ -1 +1,2 @@
1
1
  export declare const APP_DEFAULT_NAME = "LEAV Engine";
2
+ export declare const DEFAULT_APPLICATION = "portal";
@@ -30,7 +30,7 @@ export type ActionsListParamsConfig<ParamsRequired extends Record<string, boolea
30
30
  type: 'boolean' | 'string' | 'number';
31
31
  description: string;
32
32
  required: ParamsRequired[Name];
33
- default_value: string;
33
+ helper_value: string;
34
34
  };
35
35
  }[keyof ParamsRequired];
36
36
  export interface IActionsListFunctionResult {
@@ -8,6 +8,8 @@ import { IDateRangeValue } from './value';
8
8
  export interface IAttribute extends ICoreEntity {
9
9
  system?: boolean;
10
10
  readonly?: boolean;
11
+ required?: boolean;
12
+ character_limit?: number;
11
13
  type: AttributeTypes;
12
14
  format?: AttributeFormats;
13
15
  linked_library?: string;
@@ -21,7 +23,6 @@ export interface IAttribute extends ICoreEntity {
21
23
  values_list?: IValuesListConf;
22
24
  reverse_link?: string | IAttribute;
23
25
  unique?: boolean;
24
- maxLength?: number;
25
26
  description?: ISystemTranslation;
26
27
  }
27
28
  export declare enum ValueVersionMode {
@@ -75,11 +75,13 @@ export interface IAuth {
75
75
  wellKnownEndpoint?: string;
76
76
  clientId?: string;
77
77
  postLogoutRedirectUri?: string;
78
+ skipLogoutConfirmationPage?: boolean;
78
79
  } | {
79
80
  enable: true;
80
81
  wellKnownEndpoint: string;
81
82
  clientId: string;
82
83
  postLogoutRedirectUri: string;
84
+ skipLogoutConfirmationPage?: boolean;
83
85
  };
84
86
  testApiKey?: string;
85
87
  }
@@ -63,6 +63,7 @@ export declare enum Errors {
63
63
  PREVIEWS_SETTINGS_NOT_ALLOWED = "PREVIEWS_SETTINGS_NOT_ALLOWED",
64
64
  PROTECTED_ENDPOINT = "PROTECTED_ENDPOINT",
65
65
  READONLY_ATTRIBUTE = "READONLY_ATTRIBUTE",
66
+ REQUIRED_ATTRIBUTE = "REQUIRED_ATTRIBUTE",
66
67
  REQUIRED_ATTRIBUTE_FORMAT = "REQUIRED_ATTRIBUTE_FORMAT",
67
68
  REQUIRED_ATTRIBUTE_LABEL = "REQUIRED_ATTRIBUTE_LABEL",
68
69
  REQUIRED_ATTRIBUTE_LINKED_LIBRARY = "REQUIRED_ATTRIBUTE_LINKED_LIBRARY",
@@ -96,7 +97,8 @@ export declare enum Errors {
96
97
  UNKNOWN_VERSION_TREE = "UNKNOWN_VERSION_TREE",
97
98
  UNKNOWN_VIEW = "UNKNOWN_VIEW",
98
99
  USER_IS_NOT_VIEW_OWNER = "USER_IS_NOT_VIEW_OWNER",
99
- VALUE_NOT_UNIQUE = "VALUE_NOT_UNIQUE"
100
+ VALUE_NOT_UNIQUE = "VALUE_NOT_UNIQUE",
101
+ VALUE_EXCEEDS_CHARACTER_LIMIT = "VALUE_EXCEEDS_CHARACTER_LIMIT"
100
102
  }
101
103
  export interface IExtendedErrorMsg {
102
104
  msg: Errors | string;
@@ -1,4 +1,5 @@
1
1
  export interface IGlobalSettings {
2
+ defaultApp: string;
2
3
  name: string;
3
4
  icon?: {
4
5
  library: string;
@@ -10,40 +10,43 @@ export declare enum ViewSizes {
10
10
  MEDIUM = "MEDIUM",
11
11
  BIG = "BIG"
12
12
  }
13
- declare global {
14
- interface IView extends ICoreEntity {
15
- shared?: boolean;
16
- created_by?: string;
17
- created_at?: number;
18
- modified_at?: number;
19
- library?: string;
20
- description?: ISystemTranslation;
21
- color?: string;
22
- display?: IViewDisplay;
23
- filters?: IRecordFilterLight[];
24
- sort?: IRecordSortLight;
25
- valuesVersions?: IViewValuesVersion;
26
- attributes?: string[];
27
- }
28
- interface IViewDisplay {
29
- type: ViewTypes;
30
- size: ViewSizes;
31
- }
32
- type ViewFromGraphQL = Omit<IView, 'valuesVersions' | 'settings'> & {
33
- valuesVersions: IViewValuesVersionForGraphql[];
13
+ interface IViewDisplay {
14
+ type: ViewTypes;
15
+ size: ViewSizes;
16
+ }
17
+ interface IViewValuesVersion {
18
+ [treeId: string]: string;
19
+ }
20
+ export interface IView extends ICoreEntity {
21
+ shared?: boolean;
22
+ created_by?: string;
23
+ created_at?: number;
24
+ modified_at?: number;
25
+ library?: string;
26
+ description?: ISystemTranslation;
27
+ color?: string;
28
+ display?: IViewDisplay;
29
+ filters?: IRecordFilterLight[];
30
+ sort?: IRecordSortLight[];
31
+ valuesVersions?: IViewValuesVersion;
32
+ attributes?: string[];
33
+ }
34
+ export interface IViewValuesVersionForGraphql {
35
+ treeId: string;
36
+ treeNode: {
37
+ id: string;
34
38
  };
35
- interface IViewFilterOptions extends ICoreEntityFilterOptions {
36
- created_by?: string;
37
- library?: string;
38
- type?: ViewTypes;
39
- }
40
- interface IViewValuesVersion {
41
- [treeId: string]: string;
42
- }
43
- interface IViewValuesVersionForGraphql {
44
- treeId: string;
45
- treeNode: {
46
- id: string;
47
- };
48
- }
49
39
  }
40
+ export type ViewFromGraphQL = Omit<IView, 'valuesVersions' | 'settings'> & {
41
+ valuesVersions: IViewValuesVersionForGraphql[];
42
+ };
43
+ export type PartialViewFromGraphQL = Omit<IView, 'id' | 'valuesVersions' | 'settings'> & {
44
+ id: string;
45
+ valuesVersions: IViewValuesVersionForGraphql[];
46
+ };
47
+ export interface IViewFilterOptions extends ICoreEntityFilterOptions {
48
+ created_by?: string;
49
+ library?: string;
50
+ type?: ViewTypes;
51
+ }
52
+ export {};
@@ -11,6 +11,7 @@ import { IAppGraphQLSchema } from '_types/graphql';
11
11
  import { IApplicationDomain } from '../../domain/application/applicationDomain';
12
12
  import { ValidateRequestTokenFunc } from '../helpers/validateRequestToken';
13
13
  import { IAuthApp } from '../auth/authApp';
14
+ import { IGlobalSettingsDomain } from '../../domain/globalSettings/globalSettingsDomain';
14
15
  export interface IApplicationApp {
15
16
  registerRoute(app: Express): void;
16
17
  getGraphQLSchema(): Promise<IAppGraphQLSchema>;
@@ -25,8 +26,9 @@ export interface IApplicationAppDeps {
25
26
  'core.domain.permission': IPermissionDomain;
26
27
  'core.domain.record': IRecordDomain;
27
28
  'core.domain.eventsManager': IEventsManagerDomain;
29
+ 'core.domain.globalSettings': IGlobalSettingsDomain;
28
30
  'core.utils.logger': winston.Winston;
29
31
  'core.utils': IUtils;
30
32
  config: any;
31
33
  }
32
- export default function ({ 'core.app.graphql': graphqlApp, 'core.app.auth': authApp, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.validateRequestToken': validateRequestToken, 'core.app.core.subscriptionsHelper': subscriptionsHelper, 'core.domain.application': applicationDomain, 'core.domain.permission': permissionDomain, 'core.domain.record': recordDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.utils.logger': logger, 'core.utils': utils, config }: IApplicationAppDeps): IApplicationApp;
34
+ export default function ({ 'core.app.graphql': graphqlApp, 'core.app.auth': authApp, 'core.app.helpers.initQueryContext': initQueryContext, 'core.app.helpers.validateRequestToken': validateRequestToken, 'core.app.core.subscriptionsHelper': subscriptionsHelper, 'core.domain.application': applicationDomain, 'core.domain.permission': permissionDomain, 'core.domain.record': recordDomain, 'core.domain.eventsManager': eventsManagerDomain, 'core.domain.globalSettings': globalSettings, 'core.utils.logger': logger, 'core.utils': utils, config }: IApplicationAppDeps): IApplicationApp;
@@ -57,6 +57,7 @@ export interface IAttributeDomain {
57
57
  attributeId: string;
58
58
  ctx: IQueryInfos;
59
59
  }): Promise<ILibrary[]>;
60
+ getFormAttributes(libraryId: string, formId: string, ctx: IQueryInfos): Promise<IAttribute[]>;
60
61
  doesCompute(attrData: IAttribute): boolean;
61
62
  }
62
63
  export interface IAttributeDomainDeps {
@@ -1,12 +1,13 @@
1
1
  import { ActionsListValueType, IActionsListContext } from '_types/actionsList';
2
2
  import { IVariableFunctions } from '../calculationsVariableFunctions';
3
+ import { ITreeNode } from '../../../_types/tree';
3
4
  interface IDeps {
4
5
  'core.domain.helpers.calculationsVariableFunctions': IVariableFunctions;
5
6
  }
6
7
  export interface IVariableValue {
7
8
  recordId: string;
8
9
  library: string;
9
- payload: string | number | boolean | Record<string, any>;
10
+ payload: string | number | boolean | ITreeNode | Record<string, any>;
10
11
  raw_payload?: string | number | boolean | Record<string, any>;
11
12
  }
12
13
  export interface ICalculationVariable {
@@ -19,10 +19,12 @@ import { IAttributeDomain } from '../attribute/attributeDomain';
19
19
  import { IRecordPermissionDomain } from '../permission/recordPermissionDomain';
20
20
  import { SendRecordUpdateEventHelper } from './helpers/sendRecordUpdateEvent';
21
21
  import { ICreateRecordResult, IFindRecordParams } from './_types';
22
+ import { IFormRepo } from 'infra/form/formRepo';
22
23
  export interface IRecordDomain {
23
24
  createRecord(params: {
24
25
  library: string;
25
26
  values?: IValue[];
27
+ verifyRequiredAttributes?: boolean;
26
28
  ctx: IQueryInfos;
27
29
  }): Promise<ICreateRecordResult>;
28
30
  /**
@@ -94,9 +96,10 @@ export interface IRecordDomainDeps {
94
96
  'core.infra.library': ILibraryRepo;
95
97
  'core.infra.tree': ITreeRepo;
96
98
  'core.infra.value': IValueRepo;
99
+ 'core.infra.form': IFormRepo;
97
100
  'core.domain.eventsManager': IEventsManagerDomain;
98
101
  'core.infra.cache.cacheService': ICachesService;
99
102
  'core.utils': IUtils;
100
103
  translator: i18n;
101
104
  }
102
- export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
105
+ export default function ({ config, 'core.infra.record': recordRepo, 'core.domain.attribute': attributeDomain, 'core.domain.value': valueDomain, 'core.domain.permission.record': recordPermissionDomain, 'core.domain.permission.library': libraryPermissionDomain, 'core.domain.helpers.getCoreEntityById': getCoreEntityById, 'core.domain.helpers.validate': validateHelper, 'core.domain.record.helpers.sendRecordUpdateEvent': sendRecordUpdateEvent, 'core.infra.library': libraryRepo, 'core.infra.tree': treeRepo, 'core.infra.value': valueRepo, 'core.infra.form': formRepo, 'core.domain.eventsManager': eventsManager, 'core.infra.cache.cacheService': cacheService, 'core.utils': utils, translator }: IRecordDomainDeps): IRecordDomain;
@@ -4,6 +4,7 @@ import { IViewRepo } from 'infra/view/_types';
4
4
  import { IUtils } from 'utils/utils';
5
5
  import { IList } from '_types/list';
6
6
  import { IQueryInfos } from '_types/queryInfos';
7
+ import { IView } from '_types/views';
7
8
  export interface IViewDomain {
8
9
  saveView(view: IView, ctx: IQueryInfos): Promise<IView>;
9
10
  getViews(library: string, ctx: IQueryInfos): Promise<IList<IView>>;
@@ -1,5 +1,5 @@
1
1
  import { AqlLiteral, GeneratedAqlQuery } from 'arangojs/aql';
2
2
  import { IAttribute } from '../../../_types/attribute';
3
3
  import { AttributeCondition } from '../../../_types/record';
4
- export type GetConditionPart = (valueIdentifier: string | AqlLiteral, condition: AttributeCondition, value: string | number | boolean, attribute: IAttribute) => GeneratedAqlQuery;
4
+ export type GetConditionPart = (valueIdentifier: string | AqlLiteral, condition: AttributeCondition, value: string | number | boolean, attribute: IAttribute, isCountFilter: boolean) => GeneratedAqlQuery;
5
5
  export default function (): GetConditionPart;
@@ -0,0 +1,7 @@
1
+ import { IDbService } from '../dbService';
2
+ import { IMigration } from '_types/migration';
3
+ interface IDeps {
4
+ 'core.infra.db.dbService'?: IDbService;
5
+ }
6
+ export default function ({ 'core.infra.db.dbService': dbService }?: IDeps): IMigration;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import { type i18n } from 'i18next';
2
+ import { type IDbService } from '../dbService';
3
+ import { type IConfig } from '../../../_types/config';
4
+ import { type IMigration } from '../../../_types/migration';
5
+ interface IDeps {
6
+ 'core.infra.db.dbService'?: IDbService;
7
+ translator?: i18n;
8
+ config?: IConfig;
9
+ }
10
+ export default function ({ 'core.infra.db.dbService': dbService }?: IDeps): IMigration;
11
+ export {};
@@ -0,0 +1,9 @@
1
+ import { type IDbService } from '../dbService';
2
+ import { type IMigration } from '../../../_types/migration';
3
+ import { IAttributeRepo } from 'infra/attribute/attributeRepo';
4
+ interface IDeps {
5
+ 'core.infra.db.dbService'?: IDbService;
6
+ 'core.infra.attribute'?: IAttributeRepo;
7
+ }
8
+ export default function ({ 'core.infra.db.dbService': dbService, 'core.infra.attribute': attributeRepo }?: IDeps): IMigration;
9
+ export {};
@@ -12,7 +12,9 @@ export interface IOIDCClientService {
12
12
  redirectUri: string;
13
13
  queryId: string;
14
14
  }) => Promise<string>;
15
- getLogoutUrl: () => string;
15
+ getLogoutUrl: (params: {
16
+ userId: string;
17
+ }) => Promise<string>;
16
18
  saveOIDCTokens: (params: {
17
19
  userId: string;
18
20
  tokens: TokenSet;
@@ -3,6 +3,7 @@ import { IDbUtils } from 'infra/db/dbUtils';
3
3
  import { IList } from '_types/list';
4
4
  import { IGetCoreEntitiesParams } from '_types/shared';
5
5
  import { IQueryInfos } from '../../_types/queryInfos';
6
+ import { IView } from '_types/views';
6
7
  export declare const VIEWS_COLLECTION_NAME = "core_views";
7
8
  export interface IViewRepo {
8
9
  createView(view: IView, ctx: IQueryInfos): Promise<IView>;
@@ -4,7 +4,8 @@ export declare enum FormUIElementTypes {
4
4
  FIELDS_CONTAINER = "fields_container",
5
5
  TAB_FIELDS_CONTAINER = "tab_fields_container",
6
6
  TEXT_BLOCK = "text_block",
7
- TABS = "tabs"
7
+ TABS = "tabs",
8
+ FRAME = "frame"
8
9
  }
9
10
  export declare enum FormFieldTypes {
10
11
  TEXT_INPUT = "input_field",
@@ -41,6 +42,10 @@ export interface IFormTabsSettings {
41
42
  export interface IFormTextBlockSettings {
42
43
  content?: string;
43
44
  }
45
+ export interface IFormFrameSettings {
46
+ url: string;
47
+ height?: string;
48
+ }
44
49
  export interface IFormDateFieldSettings extends ICommonFieldsSettings {
45
50
  withTime: boolean;
46
51
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aristid/leav-types",
3
- "version": "0.0.7-804957a",
3
+ "version": "0.0.7-8094fc0",
4
4
  "description": "Shared Leav types",
5
5
  "scripts": {
6
6
  "tscheck": "",
@@ -12,9 +12,14 @@
12
12
  "repository": "https://github.com/leav-solutions/leav-engine",
13
13
  "dependencies": {
14
14
  "@leav/utils": "0.0.3",
15
+ "@types/amqplib": "^0",
15
16
  "@types/express": "5.0.0",
16
17
  "@types/jest": "29.5.14",
18
+ "amqplib": "0.10.5",
17
19
  "arangojs": "8.1.0",
18
- "jest": "29.7.0"
20
+ "awilix": "12.0.4",
21
+ "i18next": "24.2.0",
22
+ "jest": "29.7.0",
23
+ "winston": "2.4.6"
19
24
  }
20
25
  }