rapida-partner 1.1.5 → 1.1.7

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.
@@ -12,27 +12,15 @@ export const characterForm: IForm = {
12
12
  endpoint: "/characters",
13
13
  methods: [{ verb: "POST" }, { verb: "PUT" }, { verb: "GET" }, { verb: "DELETE" }],
14
14
  request: {
15
- body: [
16
- {
17
- name: "characterName",
18
- dataType: EFormContractDataType.TEXT,
19
- },
20
- {
21
- name: "characterImage",
22
- dataType: EFormContractDataType.TEXT,
23
- },
24
- {
25
- name: "characterDescription",
26
- dataType: EFormContractDataType.WYSIWYG,
27
- },
28
- {
29
- name: "characterType",
30
- dataType: EFormContractDataType.TEXT,
31
- },
32
- {
33
- name: "characterGender",
34
- dataType: EFormContractDataType.TEXT,
35
- },
15
+ entity: "Character",
16
+ description: "Represents a character in a story or narrative.",
17
+ fields: [
18
+ { name: "_id", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: true, isPrimaryKey: true },
19
+ { name: "characterName", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
20
+ { name: "characterImage", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
21
+ { name: "characterDescription", dataType: EFormContractDataType.LONGTEXT, isRequired: false },
22
+ { name: "characterType", dataType: EFormContractDataType.NVARCHAR, enum: ["protagonist", "antagonist", "hero", "villain", "sidekick", "supporting"], isRequired: false },
23
+ { name: "characterGender", dataType: EFormContractDataType.NVARCHAR, enum: ["male", "female", "other"], isRequired: false },
36
24
  ],
37
25
  },
38
26
  }
@@ -86,7 +74,6 @@ export const characterForm: IForm = {
86
74
  options: [
87
75
  { value: "male", label: "Masculino" },
88
76
  { value: "female", label: "Feminino" },
89
- { value: "non-binary", label: "Não-binário" },
90
77
  { value: "other", label: "Outro" },
91
78
  ],
92
79
  }
@@ -12,50 +12,52 @@ export const companyForm: IForm = {
12
12
  endpoint: "/companies",
13
13
  methods: [{ verb: "POST" }, { verb: "PUT" }, { verb: "GET" }, { verb: "DELETE" }],
14
14
  request: {
15
- body: [
16
- {name: "country", dataType: EFormContractDataType.TEXT },
17
- {name: "cnpj", dataType: EFormContractDataType.TEXT },
18
- {name: "name", dataType: EFormContractDataType.TEXT },
19
- {name: "businessName", dataType: EFormContractDataType.TEXT },
20
- {name: "birthday", dataType: EFormContractDataType.DATE },
21
- {name: "legalNature", dataType: EFormContractDataType.TEXT },
22
- {name: "stateRegistration", dataType: EFormContractDataType.TEXT },
23
- {name: "municipalRegistration", dataType: EFormContractDataType.TEXT },
24
- {name: "description", dataType: EFormContractDataType.TEXT },
25
- {name: "logo", dataType: EFormContractDataType.TEXT },
26
- {name: "partners", dataType: "array", elements: [
27
- {
28
- name: "partnerId",
29
- dataType: EFormContractDataType.TEXT,
30
- },
31
- ]},
32
- {name: "phoneOne", dataType: EFormContractDataType.TEXT },
33
- {name: "emailOne", dataType: EFormContractDataType.TEXT },
34
- {name: "addressOneZipCode", dataType: EFormContractDataType.TEXT },
35
- {name: "addressOneStreet", dataType: EFormContractDataType.TEXT },
36
- {name: "addressOneDistrict", dataType: EFormContractDataType.TEXT },
37
- {name: "addressOneNumber", dataType: EFormContractDataType.TEXT },
38
- {name: "addressOneComplement", dataType: EFormContractDataType.TEXT },
39
- {name: "addressOneCity", dataType: EFormContractDataType.TEXT },
40
- {name: "addressOneState", dataType: EFormContractDataType.TEXT },
41
- {name: "addressOneLatitude", dataType: EFormContractDataType.TEXT },
42
- {name: "addressOneLongitude", dataType: EFormContractDataType.TEXT },
43
- {name: "addressTwoZipCode", dataType: EFormContractDataType.TEXT },
44
- {name: "addressTwoStreet", dataType: EFormContractDataType.TEXT },
45
- {name: "addressTwoDistrict", dataType: EFormContractDataType.TEXT },
46
- {name: "addressTwoNumber", dataType: EFormContractDataType.TEXT },
47
- {name: "addressTwoComplement", dataType: EFormContractDataType.TEXT },
48
- {name: "addressTwoCity", dataType: EFormContractDataType.TEXT },
49
- {name: "addressTwoState", dataType: EFormContractDataType.TEXT },
50
- {name: "addressTwoLatitude", dataType: EFormContractDataType.TEXT },
51
- {name: "addressTwoLongitude", dataType: EFormContractDataType.TEXT },
52
- {name: "phoneTwo", dataType: EFormContractDataType.TEXT },
53
- {name: "emailTwo", dataType: EFormContractDataType.TEXT },
54
- {name: "siteOne", dataType: EFormContractDataType.TEXT },
55
- {name: "siteTwo", dataType: EFormContractDataType.TEXT },
56
- {name: "linkedin", dataType: EFormContractDataType.TEXT },
57
- {name: "instagram", dataType: EFormContractDataType.TEXT },
58
- {name: "facebook", dataType: EFormContractDataType.TEXT },
15
+ entity: "Companies",
16
+ description: "Represents a company or business entity.",
17
+ fields: [
18
+ { name: "_id", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: true, isPrimaryKey: true },
19
+ { name: "country", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
20
+ { name: "cnpj", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
21
+ { name: "name", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
22
+ { name: "businessName", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
23
+ { name: "birthday", dataType: EFormContractDataType.DATE, isRequired: false },
24
+ { name: "legalNature", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
25
+ { name: "stateRegistration", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
26
+ { name: "municipalRegistration", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
27
+ { name: "description", dataType: EFormContractDataType.LONGTEXT, isRequired: false },
28
+ { name: "logo", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
29
+ { name: "partners", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: false, foreignKey: {
30
+ entity: "People",
31
+ connectionAttribute: "_id",
32
+ relationship: "many-to-many"
33
+ } },
34
+ { name: "phoneOne", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
35
+ { name: "emailOne", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
36
+ { name: "addressOneZipCode", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
37
+ { name: "addressOneStreet", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
38
+ { name: "addressOneDistrict", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
39
+ { name: "addressOneNumber", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
40
+ { name: "addressOneComplement", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
41
+ { name: "addressOneCity", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
42
+ { name: "addressOneState", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
43
+ { name: "addressOneLatitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
44
+ { name: "addressOneLongitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
45
+ { name: "addressTwoZipCode", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
46
+ { name: "addressTwoStreet", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
47
+ { name: "addressTwoDistrict", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
48
+ { name: "addressTwoNumber", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
49
+ { name: "addressTwoComplement", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
50
+ { name: "addressTwoCity", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
51
+ { name: "addressTwoState", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
52
+ { name: "addressTwoLatitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
53
+ { name: "addressTwoLongitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
54
+ { name: "phoneTwo", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
55
+ { name: "emailTwo", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
56
+ { name: "siteOne", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
57
+ { name: "siteTwo", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
58
+ { name: "linkedin", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
59
+ { name: "instagram", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
60
+ { name: "facebook", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
59
61
  ]
60
62
  }
61
63
  }],
@@ -402,10 +404,11 @@ export const companyForm: IForm = {
402
404
  name: "partners",
403
405
  optionsApi: {
404
406
  endpoint: "/people",
405
- labelField: ["personCpf", "personName"],
407
+ labelField: ["cpf", "name"],
406
408
  valueField: "_id",
407
- paramsToFilter: ["personCpf", "personName"],
409
+ paramsToFilter: ["cpf", "name"],
408
410
  paramType: "query",
411
+ relatedEntity: "People",
409
412
  },
410
413
  isMultiple: true,
411
414
  },
@@ -11,78 +11,24 @@ export const movieForm: IForm = {
11
11
  endpoint: "/movies",
12
12
  methods: [{ verb: "POST" }, { verb: "PUT" }, { verb: "GET" }, { verb: "DELETE" }],
13
13
  request: {
14
- body: [
15
- {
16
- name: "pictureFile",
17
- dataType: EFormContractDataType.TEXT,
18
- },
19
- {
20
- name: "name",
21
- dataType: EFormContractDataType.TEXT,
22
- },
23
- {
24
- name: "description",
25
- dataType: EFormContractDataType.WYSIWYG,
26
- },
27
- {
28
- name: "releaseDate",
29
- dataType: EFormContractDataType.DATE,
30
- },
31
- {
32
- name: "imdbRating",
33
- dataType: EFormContractDataType.NUMBER,
34
- },
35
- {
36
- name: "movieGenres",
37
- dataType: "array",
38
- elements: [
39
- {
40
- name: "movieGenreId",
41
- dataType: EFormContractDataType.TEXT,
42
- },
43
- ],
44
- },
45
- {
46
- name: "link1",
47
- dataType: EFormContractDataType.TEXT,
48
- },
49
- {
50
- name: "link2",
51
- dataType: EFormContractDataType.TEXT,
52
- },
53
- {
54
- name: "link3",
55
- dataType: EFormContractDataType.TEXT,
56
- },
57
- {
58
- name: "episodes",
59
- dataType: "array",
60
- elements: [
61
- {
62
- name: "episodeTitle",
63
- dataType: EFormContractDataType.TEXT,
64
- },
65
- {
66
- name: "episodeDescription",
67
- dataType: EFormContractDataType.WYSIWYG,
68
- },
69
- {
70
- name: "episodeReleaseDate",
71
- dataType: EFormContractDataType.DATE,
72
- },
73
- {
74
- name: "charactersId",
75
- dataType: "array",
76
- elements: [
77
- {
78
- name: "characterId",
79
- dataType: EFormContractDataType.TEXT,
80
- },
81
- ],
82
- },
83
- ],
84
- },
85
- ]
14
+ entity: "Movie",
15
+ description: "Represents a movie or TV series in the system.",
16
+ fields: [
17
+ { name: "_id", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: true, isPrimaryKey: true },
18
+ { name: "pictureFile", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
19
+ { name: "name", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
20
+ { name: "description", dataType: EFormContractDataType.LONGTEXT, isRequired: true },
21
+ { name: "releaseDate", dataType: EFormContractDataType.DATE, isRequired: true },
22
+ { name: "imdbRating", dataType: EFormContractDataType.DECIMAL, isRequired: true },
23
+ { name: "movieGenres", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: true, foreignKey: {
24
+ entity: "MovieGenre",
25
+ connectionAttribute: "_id",
26
+ relationship: "many-to-many"
27
+ } },
28
+ { name: "link1", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
29
+ { name: "link2", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
30
+ { name: "link3", dataType: EFormContractDataType.NVARCHAR, isRequired: false },
31
+ ],
86
32
  }
87
33
  }
88
34
  ],
@@ -147,6 +93,7 @@ export const movieForm: IForm = {
147
93
  valueField: "_id",
148
94
  paramsToFilter: ["name"],
149
95
  paramType: "query",
96
+ relatedEntity: "MovieGenres"
150
97
  },
151
98
  isMultiple: true,
152
99
  isRequired: true,
@@ -172,65 +119,6 @@ export const movieForm: IForm = {
172
119
  },
173
120
  ],
174
121
  },
175
- {
176
- id: "episodesTab",
177
- title: "Episódios",
178
- elements: [
179
- {
180
- type: "array",
181
- id: "episodes",
182
- name: "episodes",
183
- title: "Episódio",
184
- elements: [
185
- {
186
- type: "input",
187
- dataType: EDataType.TEXT,
188
- label: "Título do episódio",
189
- name: "episodeTitle",
190
- isRequired: true,
191
- },
192
- {
193
- type: "input",
194
- dataType: EDataType.WYSIWYG,
195
- label: "Descrição do episódio",
196
- name: "episodeDescription",
197
- },
198
- {
199
- type: "input",
200
- dataType: EDataType.DATE,
201
- label: "Data de lançamento do episódio",
202
- name: "episodeReleaseDate",
203
- },
204
- {
205
- type: "autocomplete",
206
- dataType: EDataType.TEXT,
207
- name: "charactersId",
208
- label: "Personagens no episódio",
209
- optionsApi: {
210
- endpoint: "/characters",
211
- labelField: ["characterName"],
212
- valueField: "_id",
213
- paramsToFilter: ["characterName"],
214
- paramType: "query",
215
- relatedEntity: "Character",
216
- },
217
- },
218
- ],
219
- },
220
- ],
221
- conditions: [
222
- {
223
- type: "form",
224
- elements: [
225
- {
226
- key: "movieGenres",
227
- comparisonOperator: "===",
228
- value: "Série de TV",
229
- },
230
- ],
231
- },
232
- ],
233
- },
234
122
  ],
235
123
  },
236
124
  ],
@@ -0,0 +1,78 @@
1
+ import { EFormContractDataType } from "../../../enums/form-contract.enum";
2
+ import { EDataType } from "../../../enums/form.enum";
3
+ import type { IForm } from "../../../interfaces/form.interface";
4
+
5
+ export const movieEpisodeForm: IForm = {
6
+ title: "Gerenciar episódio",
7
+ componentType: "form",
8
+ id: "movieEpisodeForm",
9
+ contracts: [
10
+ {
11
+ endpoint: "/movies-episodes",
12
+ methods: [{ verb: "PUT" }, { verb: "GET" }, { verb: "DELETE" }, { verb: "POST" }],
13
+ request: {
14
+ entity: "MovieEpisode",
15
+ description: "Represents an episode of a TV series or show.",
16
+ fields: [
17
+ { name: "_id", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: true, isPrimaryKey: true },
18
+ { name: "movieId", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: true, foreignKey: {
19
+ entity: "Movie",
20
+ connectionAttribute: "_id",
21
+ relationship: "one-to-many"
22
+ } },
23
+ { name: "title", dataType: EFormContractDataType.NVARCHAR, isRequired: true },
24
+ { name: "description", dataType: EFormContractDataType.LONGTEXT, isRequired: true },
25
+ { name: "releaseDate", dataType: EFormContractDataType.DATETIME2, isRequired: true },
26
+ { name: "characters", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: false, foreignKey: {
27
+ entity: "Character",
28
+ connectionAttribute: "_id",
29
+ relationship: "many-to-many"
30
+ } },
31
+ ],
32
+ }
33
+ },
34
+ ],
35
+ elements: [
36
+ {
37
+ type: "array",
38
+ id: "episodes",
39
+ name: "episodes",
40
+ title: "Episódio",
41
+ elements: [
42
+ {
43
+ type: "input",
44
+ dataType: EDataType.TEXT,
45
+ label: "Título do episódio",
46
+ name: "episodeTitle",
47
+ isRequired: true,
48
+ },
49
+ {
50
+ type: "input",
51
+ dataType: EDataType.WYSIWYG,
52
+ label: "Descrição do episódio",
53
+ name: "episodeDescription",
54
+ },
55
+ {
56
+ type: "input",
57
+ dataType: EDataType.DATE,
58
+ label: "Data de lançamento do episódio",
59
+ name: "episodeReleaseDate",
60
+ },
61
+ {
62
+ type: "autocomplete",
63
+ dataType: EDataType.TEXT,
64
+ name: "charactersId",
65
+ label: "Personagens no episódio",
66
+ optionsApi: {
67
+ endpoint: "/characters",
68
+ labelField: ["characterName"],
69
+ valueField: "_id",
70
+ paramsToFilter: ["characterName"],
71
+ paramType: "query",
72
+ relatedEntity: "Character",
73
+ },
74
+ },
75
+ ],
76
+ },
77
+ ],
78
+ }
@@ -10,18 +10,24 @@ export const movieGenreForm: IForm = {
10
10
  {
11
11
  endpoint: "/movie-genres",
12
12
  methods: [{ verb: "POST" }, { verb: "PUT" }, { verb: "GET" }, { verb: "DELETE" }],
13
- request: {
14
- body: [
13
+ request : {
14
+ entity: "moviesGenres",
15
+ description: "",
16
+ fields: [
15
17
  {
16
18
  name: "name",
17
19
  dataType: EFormContractDataType.TEXT,
20
+ isRequired: true,
21
+ maxSize: 255,
18
22
  },
19
23
  {
20
24
  name: "description",
21
- dataType: EFormContractDataType.WYSIWYG,
22
- },
23
- ],
24
- },
25
+ dataType: EFormContractDataType.TEXT,
26
+ isRequired: true,
27
+ maxSize: 255,
28
+ }
29
+ ]
30
+ }
25
31
  }
26
32
  ],
27
33
  id: "movieGenreForm",
@@ -12,48 +12,51 @@ export const personForm: IForm = {
12
12
  endpoint: "/people",
13
13
  methods: [{ verb: "GET" }, { verb: "POST" }, { verb: "PUT" }, { verb: "DELETE" }],
14
14
  request: {
15
- body: [
16
- { name: "country", dataType: EFormContractDataType.TEXT },
17
- { name: "cpf", dataType: EFormContractDataType.TEXT },
18
- { name: "passport", dataType: EFormContractDataType.TEXT },
19
- { name: "passportIssueDate", dataType: EFormContractDataType.DATE },
20
- { name: "passportExpiryDate", dataType: EFormContractDataType.DATE },
21
- { name: "name", dataType: EFormContractDataType.TEXT },
22
- { name: "gender", dataType: EFormContractDataType.TEXT },
23
- { name: "birthday", dataType: EFormContractDataType.DATE },
24
- { name: "picture", dataType: EFormContractDataType.TEXT },
25
- { name: "phoneOne", dataType: EFormContractDataType.TEXT },
26
- { name: "emailOne", dataType: EFormContractDataType.EMAIL },
27
- { name: "addressOneZipCode", dataType: EFormContractDataType.TEXT },
28
- { name: "addressOneStreet", dataType: EFormContractDataType.TEXT },
29
- { name: "addressOneDistrict", dataType: EFormContractDataType.TEXT },
30
- { name: "addressOneNumber", dataType: EFormContractDataType.TEXT },
31
- { name: "addressOneComplement", dataType: EFormContractDataType.TEXT },
32
- { name: "addressOneCity", dataType: EFormContractDataType.TEXT },
33
- { name: "addressOneState", dataType: EFormContractDataType.TEXT },
34
- { name: "addressOneLatitude", dataType: EFormContractDataType.TEXT },
35
- { name: "addressOneLongitude", dataType: EFormContractDataType.TEXT },
36
- { name: "addressTwoZipCode", dataType: EFormContractDataType.TEXT },
37
- { name: "addressTwoStreet", dataType: EFormContractDataType.TEXT },
38
- { name: "addressTwoDistrict", dataType: EFormContractDataType.TEXT },
39
- { name: "addressTwoNumber", dataType: EFormContractDataType.TEXT },
40
- { name: "addressTwoComplement", dataType: EFormContractDataType.TEXT },
41
- { name: "addressTwoCity", dataType: EFormContractDataType.TEXT },
42
- { name: "addressTwoState", dataType: EFormContractDataType.TEXT },
43
- { name: "addressTwoLatitude", dataType: EFormContractDataType.TEXT },
44
- { name: "addressTwoLongitude", dataType: EFormContractDataType.TEXT },
45
- { name: "phoneTwo", dataType: EFormContractDataType.TEXT },
46
- { name: "emailTwo", dataType: EFormContractDataType.EMAIL },
47
- { name: "siteOne", dataType: EFormContractDataType.TEXT },
48
- { name: "siteTwo", dataType: EFormContractDataType.TEXT },
49
- { name: "linkedin", dataType: EFormContractDataType.TEXT },
50
- { name: "instagram", dataType: EFormContractDataType.TEXT },
51
- { name: "facebook", dataType: EFormContractDataType.TEXT },
52
- { name: "nickname", dataType: EFormContractDataType.TEXT },
53
- { name: "personDescription", dataType: EFormContractDataType.WYSIWYG },
54
- { name: "personMaritalStatus", dataType: EFormContractDataType.TEXT },
15
+ entity: "People",
16
+ description: "Represents an individual person with personal details and contact information.",
17
+ fields: [
18
+ { name: "_id", dataType: EFormContractDataType.UNIQUEIDENTIFIER, isRequired: true, isPrimaryKey: true },
19
+ { name: "country", dataType: EFormContractDataType.NVARCHAR, isRequired: true, maxSize: 100 },
20
+ { name: "cpf", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 14 },
21
+ { name: "passport", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 20 },
22
+ { name: "passportIssueDate", dataType: EFormContractDataType.DATETIME2, isRequired: false },
23
+ { name: "passportExpiryDate", dataType: EFormContractDataType.DATETIME2, isRequired: false },
24
+ { name: "name", dataType: EFormContractDataType.NVARCHAR, isRequired: true, maxSize: 200 },
25
+ { name: "gender", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 10, enum: ["male", "female", "other"] },
26
+ { name: "birthday", dataType: EFormContractDataType.DATETIME2, isRequired: false },
27
+ { name: "picture", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
28
+ { name: "phoneOne", dataType: EFormContractDataType.NVARCHAR, isRequired: true, maxSize: 20 },
29
+ { name: "emailOne", dataType: EFormContractDataType.NVARCHAR, isRequired: true, maxSize: 100 },
30
+ { name: "addressOneZipCode", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 10 },
31
+ { name: "addressOneStreet", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
32
+ { name: "addressOneDistrict", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
33
+ { name: "addressOneNumber", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 20 },
34
+ { name: "addressOneComplement", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
35
+ { name: "addressOneCity", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
36
+ { name: "addressOneState", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
37
+ { name: "addressOneLatitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 50 },
38
+ { name: "addressOneLongitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 50 },
39
+ { name: "addressTwoZipCode", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 10 },
40
+ { name: "addressTwoStreet", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
41
+ { name: "addressTwoDistrict", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
42
+ { name: "addressTwoNumber", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 20 },
43
+ { name: "addressTwoComplement", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
44
+ { name: "addressTwoCity", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
45
+ { name: "addressTwoState", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
46
+ { name: "addressTwoLatitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 50 },
47
+ { name: "addressTwoLongitude", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 50 },
48
+ { name: "phoneTwo", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 20 },
49
+ { name: "emailTwo", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
50
+ { name: "siteOne", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
51
+ { name: "siteTwo", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
52
+ { name: "linkedin", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
53
+ { name: "instagram", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
54
+ { name: "facebook", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 200 },
55
+ { name: "nickname", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 100 },
56
+ { name: "personDescription", dataType: EFormContractDataType.LONGTEXT, isRequired: false },
57
+ { name: "personMaritalStatus", dataType: EFormContractDataType.NVARCHAR, isRequired: false, maxSize: 20, enum: ["single", "married", "divorced", "widower", "engaged", "stableUnion"] },
55
58
  ]
56
- }
59
+ },
57
60
  }],
58
61
  guards: "isAuthorized",
59
62
  elements: [
@@ -0,0 +1,51 @@
1
+ import type { IList } from "../../../interfaces/list.interface";
2
+
3
+ export const movieEpisodeList: IList = {
4
+ componentType: "list",
5
+ id: "movieEpisodeList",
6
+ title: "Lista de episódios de filmes",
7
+ guards: ["isAuthorized"],
8
+ dataSource: {
9
+ endpoint: "/movies-episodes",
10
+ paramType: "query",
11
+ hasAuthentication: true,
12
+ },
13
+ properties: [
14
+ {
15
+ property: "episodeTitle", type: "title", label: "Título",
16
+ },
17
+ {
18
+ property: "episodeDescription", type: "description", label: "Descrição",
19
+ },
20
+ ],
21
+ callsToActionMenu: [
22
+ {
23
+ label: "Editar",
24
+ icon: "pencil",
25
+ action: {
26
+ link: {
27
+ endpoint: "/movie-episode-form",
28
+ propertiesAsQueryParam: ["_id"],
29
+ },
30
+ },
31
+ },
32
+ {
33
+ label: "Excluir",
34
+ icon: "delete",
35
+ action: {
36
+ link: {
37
+ endpoint: "/movie-episode-list",
38
+ },
39
+ request: {
40
+ endpoint: "/movies-episodes",
41
+ verb: "delete",
42
+ propertiesAsPathParam: ["_id"],
43
+ dialog: {
44
+ title: "Excluir conteúdo",
45
+ message: "Deseja realmente excluir esse conteúdo?",
46
+ }
47
+ }
48
+ },
49
+ }
50
+ ]
51
+ };
@@ -1,18 +1,22 @@
1
1
  import type { IModule } from "../../interfaces/project.interface";
2
2
  import { movieForm } from "../components/forms/movie.form";
3
+ import { movieEpisodeForm } from "../components/forms/movieEpisode.form";
3
4
  import { movieGenreForm } from "../components/forms/movieGenre.form";
4
5
  import { movieList } from "../components/lists/movie.list";
6
+ import { movieEpisodeList } from "../components/lists/movieEpisode.list";
5
7
  import { movieGenreList } from "../components/lists/movieGenre.list";
6
8
 
7
9
  export const movieModule: IModule = {
8
10
  id: "movieModule",
9
- title: "Filme",
11
+ title: "Episódio",
10
12
  icon: "movie",
11
13
  components: [
12
14
  movieForm,
13
15
  movieList,
14
16
  movieGenreForm,
15
17
  movieGenreList,
18
+ movieEpisodeForm,
19
+ movieEpisodeList
16
20
  ]
17
21
  }
18
22