rapida-partner 1.0.0 → 1.1.0

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.
Files changed (30) hide show
  1. package/README.md +4 -1
  2. package/package.json +2 -2
  3. package/rapidaObject.json +342 -770
  4. package/src/enums/form-contract.enum.ts +30 -0
  5. package/src/enums/form.enum.ts +31 -0
  6. package/src/examples/components/forms/character.form.ts +12 -10
  7. package/src/examples/components/forms/company.form.ts +83 -76
  8. package/src/examples/components/forms/movie.form.ts +53 -21
  9. package/src/examples/components/forms/movieGenre.form.ts +6 -4
  10. package/src/examples/components/forms/person.form.ts +81 -79
  11. package/src/examples/modules/movie.ts +2 -1
  12. package/src/examples/projects/movieBackoffice.ts +1 -1
  13. package/src/interfaces/data-card.interface.ts +2 -30
  14. package/src/interfaces/data-detail.interface.ts +2 -30
  15. package/src/interfaces/form-autocomplete.interface.ts +2 -30
  16. package/src/interfaces/form-file.interface.ts +2 -30
  17. package/src/interfaces/form-input.interface.ts +2 -30
  18. package/src/interfaces/form-select.interface.ts +2 -30
  19. package/src/interfaces/form.interface.ts +22 -33
  20. package/src/schemas/data-card.ref.json +2 -28
  21. package/src/schemas/data-detail.ref.json +2 -30
  22. package/src/schemas/form-autocomplete.ref.json +1 -29
  23. package/src/schemas/form-contract-request-array.ref.json +18 -0
  24. package/src/schemas/form-contract-request-one-of.ref.json +11 -0
  25. package/src/schemas/form-contract-request.ref.json +49 -0
  26. package/src/schemas/form-file.ref.json +1 -31
  27. package/src/schemas/form-input.ref.json +1 -31
  28. package/src/schemas/form-select.ref.json +1 -29
  29. package/src/schemas/form.ref.json +46 -47
  30. package/src/schemas/types-datatype.ref.json +32 -0
@@ -1,3 +1,4 @@
1
+ import type { EDataType } from "../enums/form.enum";
1
2
  import type { IApiRequest } from "./form-input.interface";
2
3
  import type { IBusinessRule } from "./project.interface";
3
4
 
@@ -42,36 +43,7 @@ export interface IDataCard {
42
43
  export interface IDataCardProperty {
43
44
  property: string;
44
45
  label: string;
45
- type?:
46
- | "text"
47
- | "number"
48
- | "password"
49
- | "email"
50
- | "color"
51
- | "date"
52
- | "wysiwyg"
53
- | "time"
54
- | "file"
55
- | "array"
56
- | "char"
57
- | "nchar"
58
- | "varchar"
59
- | "varchar2"
60
- | "nvarchar"
61
- | "longtext"
62
- | "clob"
63
- | "nclob"
64
- | "decimal"
65
- | "numeric"
66
- | "integer"
67
- | "float"
68
- | "double"
69
- | "real"
70
- | "timestamp"
71
- | "datetime"
72
- | "datetime2"
73
- | "uniqueidentifier"
74
- | "boolean";
46
+ dataType?: EDataType;
75
47
  format?: string;
76
48
  isHtml?: boolean;
77
49
  }
@@ -1,3 +1,4 @@
1
+ import type { EDataType } from "../enums/form.enum";
1
2
  import type { IApiRequest } from "./form-input.interface";
2
3
  import type { IBusinessRule } from "./project.interface";
3
4
 
@@ -48,36 +49,7 @@ export interface IDataDetailSection {
48
49
  export interface IDataDetailProperty {
49
50
  property: string;
50
51
  label: string;
51
- type?:
52
- | "text"
53
- | "number"
54
- | "password"
55
- | "email"
56
- | "color"
57
- | "date"
58
- | "wysiwyg"
59
- | "time"
60
- | "file"
61
- | "array"
62
- | "char"
63
- | "nchar"
64
- | "varchar"
65
- | "varchar2"
66
- | "nvarchar"
67
- | "longtext"
68
- | "clob"
69
- | "nclob"
70
- | "decimal"
71
- | "numeric"
72
- | "integer"
73
- | "float"
74
- | "double"
75
- | "real"
76
- | "timestamp"
77
- | "datetime"
78
- | "datetime2"
79
- | "uniqueidentifier"
80
- | "boolean";
52
+ dataType?: EDataType;
81
53
  format?: string;
82
54
  linkConfig?: {
83
55
  route?: string;
@@ -1,39 +1,11 @@
1
+ import type { EDataType } from "../enums/form.enum";
1
2
  import type { IFormCondition } from "./form-condition.interface";
2
3
  import type { IBusinessRule } from "./project.interface";
3
4
 
4
5
  export interface IFormAutocomplete {
5
6
  type: "autocomplete";
6
7
  name: string;
7
- dataType:
8
- | "text"
9
- | "number"
10
- | "password"
11
- | "email"
12
- | "color"
13
- | "date"
14
- | "wysiwyg"
15
- | "time"
16
- | "file"
17
- | "array"
18
- | "char"
19
- | "nchar"
20
- | "varchar"
21
- | "varchar2"
22
- | "nvarchar"
23
- | "longtext"
24
- | "clob"
25
- | "nclob"
26
- | "decimal"
27
- | "numeric"
28
- | "integer"
29
- | "float"
30
- | "double"
31
- | "real"
32
- | "timestamp"
33
- | "datetime"
34
- | "datetime2"
35
- | "uniqueidentifier"
36
- | "boolean";
8
+ dataType: EDataType;
37
9
  label: string;
38
10
  placeholder?: string;
39
11
  tooltip?: string;
@@ -1,3 +1,4 @@
1
+ import type { EDataType } from "../enums/form.enum";
1
2
  import type { IFormCondition } from "./form-condition.interface";
2
3
  import type { IBusinessRule } from "./project.interface";
3
4
 
@@ -10,36 +11,7 @@ interface IStorageConfig {
10
11
  export interface IFormFile {
11
12
  type: "file";
12
13
  name: string;
13
- dataType:
14
- | "text"
15
- | "number"
16
- | "password"
17
- | "email"
18
- | "color"
19
- | "date"
20
- | "wysiwyg"
21
- | "time"
22
- | "file"
23
- | "array"
24
- | "char"
25
- | "nchar"
26
- | "varchar"
27
- | "varchar2"
28
- | "nvarchar"
29
- | "longtext"
30
- | "clob"
31
- | "nclob"
32
- | "decimal"
33
- | "numeric"
34
- | "integer"
35
- | "float"
36
- | "double"
37
- | "real"
38
- | "timestamp"
39
- | "datetime"
40
- | "datetime2"
41
- | "uniqueidentifier"
42
- | "boolean";
14
+ dataType: EDataType;
43
15
  label: string;
44
16
  placeholder?: string;
45
17
  tooltip?: string;
@@ -1,3 +1,4 @@
1
+ import type { EDataType } from "../enums/form.enum";
1
2
  import type {
2
3
  IApiResponseField,
3
4
  IApiResponseFieldFilter,
@@ -8,36 +9,7 @@ import type { IBusinessRule } from "./project.interface";
8
9
  export interface IFormInput {
9
10
  type: "input";
10
11
  name: string;
11
- dataType:
12
- | "text"
13
- | "number"
14
- | "password"
15
- | "email"
16
- | "color"
17
- | "date"
18
- | "wysiwyg"
19
- | "time"
20
- | "file"
21
- | "array"
22
- | "char"
23
- | "nchar"
24
- | "varchar"
25
- | "varchar2"
26
- | "nvarchar"
27
- | "longtext"
28
- | "clob"
29
- | "nclob"
30
- | "decimal"
31
- | "numeric"
32
- | "integer"
33
- | "float"
34
- | "double"
35
- | "real"
36
- | "timestamp"
37
- | "datetime"
38
- | "datetime2"
39
- | "uniqueidentifier"
40
- | "boolean";
12
+ dataType: EDataType;
41
13
  label: string;
42
14
  placeholder?: string;
43
15
  tooltip?: string;
@@ -1,40 +1,12 @@
1
1
  import type { IFormCondition } from "./form-condition.interface";
2
2
  import type { IOptionsApi } from "./form-autocomplete.interface";
3
3
  import type { IBusinessRule } from "./project.interface";
4
+ import type { EDataType } from "../enums/form.enum";
4
5
 
5
6
  export interface IFormSelect {
6
7
  type: "select";
7
8
  name: string;
8
- dataType:
9
- | "text"
10
- | "number"
11
- | "password"
12
- | "email"
13
- | "color"
14
- | "date"
15
- | "wysiwyg"
16
- | "time"
17
- | "file"
18
- | "array"
19
- | "char"
20
- | "nchar"
21
- | "varchar"
22
- | "varchar2"
23
- | "nvarchar"
24
- | "longtext"
25
- | "clob"
26
- | "nclob"
27
- | "decimal"
28
- | "numeric"
29
- | "integer"
30
- | "float"
31
- | "double"
32
- | "real"
33
- | "timestamp"
34
- | "datetime"
35
- | "datetime2"
36
- | "uniqueidentifier"
37
- | "boolean";
9
+ dataType: EDataType;
38
10
  label: string;
39
11
  placeholder?: string;
40
12
  tooltip?: string;
@@ -1,3 +1,4 @@
1
+ import type { EFormContractDataType } from "../enums/form-contract.enum";
1
2
  import type { IFormArray } from "./form-array.interface";
2
3
  import type { IFormAutocomplete } from "./form-autocomplete.interface";
3
4
  import type { IFormButton } from "./form-button.interface";
@@ -23,42 +24,30 @@ export interface IForm {
23
24
  methods: { verb: "GET" | "POST" | "PUT" | "DELETE" }[];
24
25
  request?: IApiRequest;
25
26
  }[];
27
+ kanban?: {
28
+ status: "toDo" | "inProgress" | "done";
29
+ assigneesIds?: string[];
30
+ validatorsIds?: string[];
31
+ dueDate?: string;
32
+ tags?: string[];
33
+ priority?: "low" | "medium" | "high" | "urgent";
34
+ storyPoints?: number;
35
+ }
36
+ }
37
+
38
+ interface IFormContractGeneral {
39
+ name: string;
40
+ dataType: EFormContractDataType;
41
+ }
42
+
43
+ interface IFormContractArray {
44
+ name: string;
45
+ dataType: "array";
46
+ elements: (IFormContractGeneral | IFormContractArray)[];
26
47
  }
27
48
 
28
49
  export interface IApiRequest {
29
- body: {
30
- name: string;
31
- dataType:
32
- | "text"
33
- | "number"
34
- | "password"
35
- | "email"
36
- | "color"
37
- | "date"
38
- | "wysiwyg"
39
- | "time"
40
- | "file"
41
- | "array"
42
- | "char"
43
- | "nchar"
44
- | "varchar"
45
- | "varchar2"
46
- | "nvarchar"
47
- | "longtext"
48
- | "clob"
49
- | "nclob"
50
- | "decimal"
51
- | "numeric"
52
- | "integer"
53
- | "float"
54
- | "double"
55
- | "real"
56
- | "timestamp"
57
- | "datetime"
58
- | "datetime2"
59
- | "uniqueidentifier"
60
- | "boolean";
61
- }[];
50
+ body?: (IFormContractGeneral | IFormContractArray)[];
62
51
  }
63
52
 
64
53
  export type IFormElement =
@@ -105,35 +105,9 @@
105
105
  "label": {
106
106
  "type": "string"
107
107
  },
108
- "type": {
108
+ "dataType": {
109
109
  "type": "string",
110
- "enum": [
111
- "text",
112
- "date",
113
- "currency",
114
- "number",
115
- "boolean",
116
- "badge",
117
- "icon",
118
- "char",
119
- "nchar",
120
- "varchar",
121
- "varchar2",
122
- "nvarchar",
123
- "longtext",
124
- "clob",
125
- "nclob",
126
- "decimal",
127
- "numeric",
128
- "integer",
129
- "float",
130
- "double",
131
- "real",
132
- "timestamp",
133
- "datetime",
134
- "datetime2",
135
- "uniqueidentifier"
136
- ]
110
+ "$ref": "types-datatype.ref.json"
137
111
  },
138
112
  "format": {
139
113
  "type": "string"
@@ -120,37 +120,9 @@
120
120
  "label": {
121
121
  "type": "string"
122
122
  },
123
- "type": {
123
+ "dataType": {
124
124
  "type": "string",
125
- "enum": [
126
- "text",
127
- "date",
128
- "currency",
129
- "number",
130
- "boolean",
131
- "image",
132
- "file",
133
- "link",
134
- "html",
135
- "char",
136
- "nchar",
137
- "varchar",
138
- "varchar2",
139
- "nvarchar",
140
- "longtext",
141
- "clob",
142
- "nclob",
143
- "decimal",
144
- "numeric",
145
- "integer",
146
- "float",
147
- "double",
148
- "real",
149
- "timestamp",
150
- "datetime",
151
- "datetime2",
152
- "uniqueidentifier"
153
- ]
125
+ "$ref": "types-datatype.ref.json"
154
126
  },
155
127
  "format": {
156
128
  "type": "string"
@@ -10,35 +10,7 @@
10
10
  },
11
11
  "dataType": {
12
12
  "type": "string",
13
- "enum": [
14
- "text",
15
- "number",
16
- "password",
17
- "email",
18
- "color",
19
- "date",
20
- "file",
21
- "array",
22
- "char",
23
- "nchar",
24
- "varchar",
25
- "varchar2",
26
- "nvarchar",
27
- "longtext",
28
- "clob",
29
- "nclob",
30
- "decimal",
31
- "numeric",
32
- "integer",
33
- "float",
34
- "double",
35
- "real",
36
- "timestamp",
37
- "datetime",
38
- "datetime2",
39
- "uniqueidentifier",
40
- "boolean"
41
- ]
13
+ "$ref": "types-datatype.ref.json"
42
14
  },
43
15
  "label": {
44
16
  "type": "string"
@@ -0,0 +1,18 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "body": {
5
+ "type": "array",
6
+ "items": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string"
11
+ },
12
+ "dataType": "array",
13
+ "elements": { "$ref": "form-contract.ref.json" }
14
+ }
15
+ }
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "$id": "form-contract-one-of.ref.json",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "type": "array",
5
+ "items": {
6
+ "oneOf": [
7
+ { "$ref": "form-contract-array.ref.json" },
8
+ { "$ref": "form-contract.ref.json" }
9
+ ]
10
+ }
11
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "type": "object",
3
+ "properties": {
4
+ "body": {
5
+ "type": "array",
6
+ "items": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string"
11
+ },
12
+ "dataType": {
13
+ "type": "string",
14
+ "enum": [
15
+ "text",
16
+ "number",
17
+ "password",
18
+ "email",
19
+ "color",
20
+ "date",
21
+ "time",
22
+ "wysiwyg",
23
+ "file",
24
+ "char",
25
+ "nchar",
26
+ "varchar",
27
+ "varchar2",
28
+ "nvarchar",
29
+ "longtext",
30
+ "clob",
31
+ "nclob",
32
+ "decimal",
33
+ "numeric",
34
+ "integer",
35
+ "float",
36
+ "double",
37
+ "real",
38
+ "timestamp",
39
+ "datetime",
40
+ "datetime2",
41
+ "uniqueidentifier",
42
+ "boolean"
43
+ ]
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
@@ -11,37 +11,7 @@
11
11
  },
12
12
  "dataType": {
13
13
  "type": "string",
14
- "enum": [
15
- "text",
16
- "number",
17
- "password",
18
- "email",
19
- "color",
20
- "date",
21
- "wysiwyg",
22
- "time",
23
- "file",
24
- "array",
25
- "char",
26
- "nchar",
27
- "varchar",
28
- "varchar2",
29
- "nvarchar",
30
- "longtext",
31
- "clob",
32
- "nclob",
33
- "decimal",
34
- "numeric",
35
- "integer",
36
- "float",
37
- "double",
38
- "real",
39
- "timestamp",
40
- "datetime",
41
- "datetime2",
42
- "uniqueidentifier",
43
- "boolean"
44
- ]
14
+ "$ref": "types-datatype.ref.json"
45
15
  },
46
16
  "label": {
47
17
  "type": "string"
@@ -10,37 +10,7 @@
10
10
  },
11
11
  "dataType": {
12
12
  "type": "string",
13
- "enum": [
14
- "text",
15
- "number",
16
- "password",
17
- "email",
18
- "color",
19
- "date",
20
- "wysiwyg",
21
- "time",
22
- "file",
23
- "array",
24
- "char",
25
- "nchar",
26
- "varchar",
27
- "varchar2",
28
- "nvarchar",
29
- "longtext",
30
- "clob",
31
- "nclob",
32
- "decimal",
33
- "numeric",
34
- "integer",
35
- "float",
36
- "double",
37
- "real",
38
- "timestamp",
39
- "datetime",
40
- "datetime2",
41
- "uniqueidentifier",
42
- "boolean"
43
- ]
13
+ "$ref": "types-datatype.ref.json"
44
14
  },
45
15
  "label": {
46
16
  "type": "string"
@@ -10,35 +10,7 @@
10
10
  },
11
11
  "dataType": {
12
12
  "type": "string",
13
- "enum": [
14
- "text",
15
- "number",
16
- "password",
17
- "email",
18
- "color",
19
- "date",
20
- "file",
21
- "array",
22
- "char",
23
- "nchar",
24
- "varchar",
25
- "varchar2",
26
- "nvarchar",
27
- "longtext",
28
- "clob",
29
- "nclob",
30
- "decimal",
31
- "numeric",
32
- "integer",
33
- "float",
34
- "double",
35
- "real",
36
- "timestamp",
37
- "datetime",
38
- "datetime2",
39
- "uniqueidentifier",
40
- "boolean"
41
- ]
13
+ "$ref": "types-datatype.ref.json"
42
14
  },
43
15
  "label": {
44
16
  "type": "string"