rapida-partner 1.0.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 (107) hide show
  1. package/README.md +85 -0
  2. package/index.ts +13 -0
  3. package/package.json +27 -0
  4. package/rapidaObject.json +3024 -0
  5. package/src/constants/options/agendaStatus.ts +3 -0
  6. package/src/constants/options/citiesFromBrazil.ts +27852 -0
  7. package/src/constants/options/countriesFromEarth.ts +1761 -0
  8. package/src/constants/options/currencies.ts +142 -0
  9. package/src/constants/options/eventJobs.ts +94 -0
  10. package/src/constants/options/events.ts +22 -0
  11. package/src/constants/options/hours.ts +26 -0
  12. package/src/constants/options/languages.ts +34 -0
  13. package/src/constants/options/statesFromBrazil.ts +29 -0
  14. package/src/controllers/ts_project_to_json_project.ts +17 -0
  15. package/src/controllers/validate-project-json-schema.ts +11 -0
  16. package/src/examples/components/forms/character.form.ts +92 -0
  17. package/src/examples/components/forms/company.form.ts +648 -0
  18. package/src/examples/components/forms/movie.form.ts +205 -0
  19. package/src/examples/components/forms/movieGenre.form.ts +43 -0
  20. package/src/examples/components/forms/person.form.ts +474 -0
  21. package/src/examples/components/lists/character.list.ts +47 -0
  22. package/src/examples/components/lists/company.list.ts +49 -0
  23. package/src/examples/components/lists/movie.list.ts +60 -0
  24. package/src/examples/components/lists/movieGenre.list.ts +51 -0
  25. package/src/examples/components/lists/person.list.ts +50 -0
  26. package/src/examples/modules/character.ts +13 -0
  27. package/src/examples/modules/company.ts +13 -0
  28. package/src/examples/modules/movie.ts +17 -0
  29. package/src/examples/modules/person.ts +13 -0
  30. package/src/examples/projects/movieBackoffice.ts +110 -0
  31. package/src/interfaces/backend-framework-structure.interface.ts +44 -0
  32. package/src/interfaces/data-card.interface.ts +102 -0
  33. package/src/interfaces/data-chart.interface.ts +84 -0
  34. package/src/interfaces/data-detail.interface.ts +123 -0
  35. package/src/interfaces/data-grid.interface.ts +48 -0
  36. package/src/interfaces/data-table.interface.ts +84 -0
  37. package/src/interfaces/form-array.interface.ts +14 -0
  38. package/src/interfaces/form-autocomplete.interface.ts +79 -0
  39. package/src/interfaces/form-button.interface.ts +34 -0
  40. package/src/interfaces/form-condition.interface.ts +26 -0
  41. package/src/interfaces/form-datepicker.interface.ts +18 -0
  42. package/src/interfaces/form-fieldset.interface.ts +13 -0
  43. package/src/interfaces/form-file.interface.ts +57 -0
  44. package/src/interfaces/form-input.interface.ts +69 -0
  45. package/src/interfaces/form-numeric.interface.ts +22 -0
  46. package/src/interfaces/form-pattern.interface.ts +16 -0
  47. package/src/interfaces/form-radiogroup.interface.ts +21 -0
  48. package/src/interfaces/form-select.interface.ts +60 -0
  49. package/src/interfaces/form-switch.interface.ts +15 -0
  50. package/src/interfaces/form-tab.interface.ts +17 -0
  51. package/src/interfaces/form.interface.ts +73 -0
  52. package/src/interfaces/frontend-framework-structure.interface.ts +39 -0
  53. package/src/interfaces/layout-dashboard.interface.ts +52 -0
  54. package/src/interfaces/layout-panel.interface.ts +45 -0
  55. package/src/interfaces/list.interface.ts +50 -0
  56. package/src/interfaces/project-backend.interface.ts +48 -0
  57. package/src/interfaces/project-style.interface.ts +129 -0
  58. package/src/interfaces/project.interface.ts +79 -0
  59. package/src/interfaces/yaml-template-skeleton.interface.ts +35 -0
  60. package/src/schemas/backend-framework-structure.schema.json +194 -0
  61. package/src/schemas/backend.ref.json +77 -0
  62. package/src/schemas/bdd-and-e2e-narratives.ref.json +57 -0
  63. package/src/schemas/bdd-and-e2e.json +36 -0
  64. package/src/schemas/business-plan.ref.json +25 -0
  65. package/src/schemas/business-rules.ref.json +34 -0
  66. package/src/schemas/component-one-of.ref.json +15 -0
  67. package/src/schemas/dashboard.ref.json +111 -0
  68. package/src/schemas/data-card.ref.json +245 -0
  69. package/src/schemas/data-chart.ref.json +168 -0
  70. package/src/schemas/data-detail.ref.json +297 -0
  71. package/src/schemas/data-grid.ref.json +101 -0
  72. package/src/schemas/data-table.ref.json +181 -0
  73. package/src/schemas/external-application.ref.json +97 -0
  74. package/src/schemas/form-array.ref.json +35 -0
  75. package/src/schemas/form-autocomplete-options-api.ref.json +53 -0
  76. package/src/schemas/form-autocomplete.ref.json +204 -0
  77. package/src/schemas/form-button.ref.json +88 -0
  78. package/src/schemas/form-common-api-request.ref.json +29 -0
  79. package/src/schemas/form-common-filters-from-other-form-fields.ref.json +22 -0
  80. package/src/schemas/form-common-form-fields-filled-by-api-response.ref.json +28 -0
  81. package/src/schemas/form-condition.ref.json +70 -0
  82. package/src/schemas/form-datepicker.ref.json +50 -0
  83. package/src/schemas/form-fieldset.ref.json +28 -0
  84. package/src/schemas/form-file.ref.json +115 -0
  85. package/src/schemas/form-input.ref.json +105 -0
  86. package/src/schemas/form-numeric.ref.json +60 -0
  87. package/src/schemas/form-one-of.ref.json +22 -0
  88. package/src/schemas/form-pattern.ref.json +42 -0
  89. package/src/schemas/form-radiogroup.ref.json +64 -0
  90. package/src/schemas/form-select.ref.json +123 -0
  91. package/src/schemas/form-switch.ref.json +39 -0
  92. package/src/schemas/form-tab.ref.json +50 -0
  93. package/src/schemas/form.ref.json +107 -0
  94. package/src/schemas/frontend-framework-structure.schema.json +178 -0
  95. package/src/schemas/frontend.ref.json +30 -0
  96. package/src/schemas/list.ref.json +196 -0
  97. package/src/schemas/module.ref.json +39 -0
  98. package/src/schemas/panel.ref.json +127 -0
  99. package/src/schemas/project.schema.json +39 -0
  100. package/src/schemas/todo.ref.json +10 -0
  101. package/src/utils/email.ts +56 -0
  102. package/src/utils/env.ts +9 -0
  103. package/src/utils/file.ts +139 -0
  104. package/src/utils/json.ts +100 -0
  105. package/src/utils/path.ts +51 -0
  106. package/src/utils/rapida-project.ts +17 -0
  107. package/tsconfig.json +27 -0
@@ -0,0 +1,3024 @@
1
+ {
2
+ "title": "Mezuri - Arquitetos",
3
+ "description": "\nO Mezuri é uma plataforma que relaciona arquitetos, lojistas e clientes. \n\nDo lado dos arquitetos existirá uma ferramenta que auxiliará na organização dos arquivos dos projetos arquitetônicos inspirado no git, onde tudo partirá de um arquivo principal que poderá ser compartilhado entre colaboradores que farão suas cópias (clones) e nelas farão suas alterações, essas alterações serão postas nas pastas dos colaboradores (branches) com comentários que criem um histórico das alterações feitas no decorrer do projeto (push commits). Essas cópias serão revistas por quem tiver o domínio do arquivo original, quem reunirá as alterações de maneira adequada (como em um merge) e irá gerar um novo arquivo principal dando continuidade ao ciclo até que o projeto seja finalizado. \n\nDo lado do lojista, serão cadastrados os produtos que estes oferecem aos arquitetos, mostrando fotos de altíssima qualidade e arquivos que servirão para os arquitetos experimentarem esses produtos em seus projetos (arquivos de autocad, sketchup e revit). Dessa maneira sera estabelecidade uma relação de interesse e eventual negociação entre as partes. O arquiteto também poderá compartilhar seus projetos com os lojistas para que estes possam entender a necessidade quantitativa e qualitativa de determinados produtos. Também servindo como referência para eventuais instalações. \n\nDo lado do cliente proprietário de imóveis, ele terá um checklist das etapas de sua obra desde o momento de entrevista até a entrega de sua obra.\n@roberto @samuel\n ",
4
+ "businessPlan": {
5
+ "businessValue": "\n 1 - Arquitetos: \n a) Organização de projetos arquitetônicos de forma colaborativa, semelhante ao Git, permitindo que vários profissionais trabalhem em conjunto de maneira eficiente.\n b) Compartilhamento de arquivos e histórico de alterações, facilitando a revisão e o acompanhamento do progresso do projeto.\n 2 - Lojistas:\n a) Cadastro de produtos com fotos de alta qualidade e arquivos técnicos, permitindo que arquitetos experimentem esses produtos em seus projetos.\n b) Estabelecimento de uma relação de interesse e negociação entre lojistas e arquitetos, promovendo parcerias comerciais.\n 3 - Clientes:\n a) Checklist das etapas da obra, desde a entrevista inicial até a entrega final, garantindo que todas as fases sejam cumpridas.\n b) Acompanhamento do progresso da obra, proporcionando transparência e controle sobre o projeto.\n ",
6
+ "targetMarket": "\n Arquitetos, lojistas de materiais de construção e clientes proprietários de imóveis.\n ",
7
+ "benchmarkings": "\n 1. Plataformas de gerenciamento de projetos como Trello, Asana e Monday.com.\n 2. Softwares de design colaborativo como Figma e Adobe XD.\n 3. Sistemas de gestão de obras como Buildertrend e CoConstruct.\n ",
8
+ "legalIssues": "\n 1. Registro de propriedade intelectual dos projetos arquitetônicos.\n 2. Contratos de prestação de serviços entre arquitetos, lojistas e clientes.\n 3. Conformidade com as normas de construção e regulamentações locais.\n 4. Proteção de dados pessoais dos usuários, conforme a LGPD (Lei Geral de Proteção de Dados).\n ",
9
+ "ethicalIssues": "\n 1. Garantir a transparência nas relações comerciais entre arquitetos e lojistas.\n 2. Respeitar os direitos autorais dos projetos arquitetônicos.\n 3. Promover práticas sustentáveis na construção civil e no uso de materiais.\n ",
10
+ "afterSales": "\n 1. Suporte técnico para arquitetos e lojistas na utilização da plataforma.\n 2. Atendimento ao cliente para resolver dúvidas e problemas relacionados aos projetos e produtos.\n 3. Feedback contínuo dos usuários para melhorias na plataforma.\n "
11
+ },
12
+ "id": "mezuriArchitect",
13
+ "flow": "permeson",
14
+ "frontend": { "framework": "angular", "uiKit": "material" },
15
+ "backend": {
16
+ "framework": "nest",
17
+ "jwtSecret": "Kunl4t3kw1llN3v3rD13",
18
+ "database": {
19
+ "provider": "mongodb",
20
+ "connectionString": "mongodb+srv://kunlatek:Kunlatek751@cluster0.b0pfr.mongodb.net/mezuri-architect-v1",
21
+ "credentials": {
22
+ "databaseName": "mezuri-architect-v1",
23
+ "username": "kunlatek",
24
+ "password": "Kunlatek751",
25
+ "host": "cluster0.b0pfr.mongodb.net"
26
+ }
27
+ },
28
+ "storage": {
29
+ "provider": "gcs",
30
+ "credentials": {
31
+ "clientEmail": "rapida-personal@rapida-personal-projects.iam.gserviceaccount.com",
32
+ "privateKey": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDCDEQRUfKKxYUj\nVorX+aiEHhPRrrcNHVw40qq517wP7IgIp2UlA5uf0rV2cdn1njA9RMQxp6l7Qt+0\nBZg1JZM8l9Uv1SckRlkKST4k2B3MDOEl1riAPxIE/jBCUT9l2DCbir0Nu+CqGhGD\nUXOMpF0XWYL9GIBRo8Paf//yU0b86VBDfQGgnFkMKFq3bVDkPd8hQTBgTFT5F1Rh\nDcoUpAp/n3SYxkAK1V7Je+fnChF1DQPj8Nd5CLm4DsCM1B+HtaegsaE1ulXwhi1J\nlIFFGv49g0f2qOs3hytTPt0d8UpxFd9/Oq0tmcjuzK4bYzJdVZZPf+4xflHz+6R8\n2o7grTeDAgMBAAECggEABHdsz6s/tnMCdARHcN41w0i/8wke/IXK/CHZPSrakNFE\ndlKIEPiKyfx7Ic1QE4e/G4HsNCpkS8qHxKiGTt7dCz2BcjbpTjvyS7rQ298/nFVF\nj23oVEdfXk8NhFFDcNAvmjzwyhKjgrbT5V5oFvonjGSKj9HTDk4DMZHVrdm93g9k\nZ9XJBVeLh14/rkZLMDZ9DVjUMiQ6xElMH3IQD4MwEcul9eqM8bs2APgZlzzfO76m\nAuq20l4JqOcJJl8wzC7z12eNDNJrQNh2sHsT9zV5PabfNoQhnU6fDvKr0PG0PGRR\nS5PTDeiMY47rJVPgwxthSke3abtdgA9SNie8OqZl6QKBgQD+yFT+ndFYKvHg2WNi\ns0jK0QqFQB84LQtOX2YhQ0137mtSv0z7wO90e28dfUqsjax4DxPMp+AW0cC3SBEv\n2T8/rJrgzGucPt4Jzml5HYl2NgCkNAtHIJ1vtXJdX5d3WmYhH7cUTPmV6nMS8OlF\nheSyfudCiOo89phQf0pI6lhQKwKBgQDC+aOU2cxMVA5VH0txX0G9tPQjBvzY09ev\nVLGrxlmdAcQVXYCWdoESEfTv3E4JPklAz5B2/XnALxM5ewJgjoP6buOCJrQcgJNC\nSsG9Ll3zF4c+opFmaYTzcAY9HWHa4Pc+GAxFrrcPGzVBLjSrl7FPdykkPiBNxNJa\nnOzzrL4yCQKBgQC7b/pHjycx6/YiawuY0zjcLMnGmhPdqhXFRJ3IHtFhR/+g0qf6\nFkiTszNdyI0lQNz/PmhciaxsXUegDt7GCtdjKsKOWxVXz1BeeoJR3g8A7l2ub7NU\nUoRAaIaIdwjhf5nfCIwR3UdIqUCbUKzsvsIvJvlPk5Zv3yLTJbIqzmzGHQKBgBiQ\nnUSGwE+pk3i0DaxGBSFiqBO1sKuc3SLQ9+WdgvLeIxdSBX5vhcmCC6sgxZAykcYh\noKDtRKarB7AJSH5j1kr6J53hRHYG2QbUJl6wddPH1hlVIB6YEtEc/xw6FHcgOuZO\n31T0M0oq8mW47Zfk78kESWGwlh9WOe6CsPPugrQJAoGBAP3o8DqH1Pb7vlowsz78\n8fsCuydEJgsPSwHHqBveeUHBQLGSiGIIKRXWR1a13mWXQTqQkROZCwvVCMX6FHZZ\nKv3rzgsTkaaoqM0RVLcQSSDoyu2yP/JJv+VYsvMf2S3dUkDAeYDZFizPeFF42t92\n+MSId41OkBvJ/JvqsBWlWFYK\n-----END PRIVATE KEY-----\n",
33
+ "projectId": "rapida-personal-projects"
34
+ },
35
+ "publicBucketName": "rapida-public-files",
36
+ "privateBucketName": "rapida-private-files"
37
+ },
38
+ "logging": {
39
+ "discordWebhookUrl": "https://discord.com/api/webhooks/1370095507959054429/Ay8pIM-sinbjsLMAAWGrRDFT-oyBD3xu7yB2Ke0Bx6RxpKN882taB4_tkD2xsdk8MirZ"
40
+ },
41
+ "email": {
42
+ "smtpUser": "noreply.rapida@gmail.com",
43
+ "smtpPass": "ekgwxlazvjjllfxf",
44
+ "smtpFrom": "noreply@kunlatek.com"
45
+ },
46
+ "baseUrl": "http://localhost:5173"
47
+ },
48
+ "modules": [
49
+ {
50
+ "title": "Autenticação",
51
+ "id": "authenticationGoogleAndAppleModule",
52
+ "icon": "lock",
53
+ "components": [
54
+ {
55
+ "title": "Autenticação",
56
+ "id": "authenticationGoogleAndAppleForm",
57
+ "userStory": "Como usuário, quero poder me autenticar usando minha conta do Google ou Apple para facilitar o acesso ao sistema.",
58
+ "contracts": [
59
+ { "endpoint": "/auth/google", "methods": [{ "verb": "GET" }] },
60
+ { "endpoint": "/auth/apple", "methods": [{ "verb": "GET" }] }
61
+ ],
62
+ "componentType": "form",
63
+ "elements": [
64
+ {
65
+ "label": "Entrar com o Gmail",
66
+ "type": "button",
67
+ "id": "loginWithGoogle",
68
+ "actionType": "apiRequest",
69
+ "apiRequest": {
70
+ "endpoint": "/auth/google",
71
+ "paramType": "query"
72
+ },
73
+ "icon": "google",
74
+ "businessRules": [
75
+ {
76
+ "rule": {
77
+ "description": "IF Google ID EXISTS in the database Users collection with Google ID AND collection Profiles related THEN",
78
+ "subrules": [
79
+ {
80
+ "description": "Log in the user AND redirect to home page"
81
+ },
82
+ {
83
+ "description": "Generate a JWT with the logged-in user's data and their related profile to be used by the application's API using a secret key to serialize it"
84
+ }
85
+ ]
86
+ }
87
+ },
88
+ {
89
+ "rule": {
90
+ "description": "IF Google ID does NOT EXIST in the database THEN",
91
+ "subrules": [
92
+ { "description": "Redirect to profile registration form" }
93
+ ]
94
+ }
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ "label": "Entrar com o AppleId",
100
+ "type": "button",
101
+ "id": "loginWithAppleId",
102
+ "actionType": "apiRequest",
103
+ "apiRequest": { "endpoint": "/auth/apple", "paramType": "query" },
104
+ "icon": "apple",
105
+ "businessRules": [
106
+ {
107
+ "rule": {
108
+ "description": "IF Apple ID EXISTS in the database Users collection with Apple ID AND collection Profiles related THEN",
109
+ "subrules": [
110
+ {
111
+ "description": "Log in the user AND redirect to home page"
112
+ },
113
+ {
114
+ "description": "Generate a JWT with the logged-in user's data and their related profile to be used by the application's API using a secret key to serialize it"
115
+ }
116
+ ]
117
+ }
118
+ },
119
+ {
120
+ "rule": {
121
+ "description": "IF Apple ID does NOT EXIST in the database THEN",
122
+ "subrules": [
123
+ { "description": "Redirect to profile registration form" }
124
+ ]
125
+ }
126
+ }
127
+ ]
128
+ }
129
+ ]
130
+ }
131
+ ]
132
+ },
133
+ {
134
+ "title": "Pessoa",
135
+ "id": "personModule",
136
+ "icon": "person",
137
+ "components": [
138
+ {
139
+ "title": "Gerenciamento de cliente pessoa",
140
+ "componentType": "form",
141
+ "id": "personForm",
142
+ "contracts": [
143
+ {
144
+ "endpoint": "/people",
145
+ "methods": [
146
+ { "verb": "GET" },
147
+ { "verb": "POST" },
148
+ { "verb": "PUT" },
149
+ { "verb": "DELETE" }
150
+ ],
151
+ "request": {
152
+ "body": [
153
+ { "name": "country", "dataType": "text" },
154
+ { "name": "cpf", "dataType": "text" },
155
+ { "name": "passport", "dataType": "text" },
156
+ { "name": "passportIssueDate", "dataType": "date" },
157
+ { "name": "passportExpiryDate", "dataType": "date" },
158
+ { "name": "name", "dataType": "text" },
159
+ { "name": "gender", "dataType": "text" },
160
+ { "name": "birthday", "dataType": "date" },
161
+ { "name": "picture", "dataType": "text" },
162
+ { "name": "phoneOne", "dataType": "text" },
163
+ { "name": "emailOne", "dataType": "email" },
164
+ { "name": "addressOneZipCode", "dataType": "text" },
165
+ { "name": "addressOneStreet", "dataType": "text" },
166
+ { "name": "addressOneDistrict", "dataType": "text" },
167
+ { "name": "addressOneNumber", "dataType": "text" },
168
+ { "name": "addressOneComplement", "dataType": "text" },
169
+ { "name": "addressOneCity", "dataType": "text" },
170
+ { "name": "addressOneState", "dataType": "text" },
171
+ { "name": "addressOneLatitude", "dataType": "text" },
172
+ { "name": "addressOneLongitude", "dataType": "text" },
173
+ { "name": "addressTwoZipCode", "dataType": "text" },
174
+ { "name": "addressTwoStreet", "dataType": "text" },
175
+ { "name": "addressTwoDistrict", "dataType": "text" },
176
+ { "name": "addressTwoNumber", "dataType": "text" },
177
+ { "name": "addressTwoComplement", "dataType": "text" },
178
+ { "name": "addressTwoCity", "dataType": "text" },
179
+ { "name": "addressTwoState", "dataType": "text" },
180
+ { "name": "addressTwoLatitude", "dataType": "text" },
181
+ { "name": "addressTwoLongitude", "dataType": "text" },
182
+ { "name": "phoneTwo", "dataType": "text" },
183
+ { "name": "emailTwo", "dataType": "email" },
184
+ { "name": "siteOne", "dataType": "text" },
185
+ { "name": "siteTwo", "dataType": "text" },
186
+ { "name": "linkedin", "dataType": "text" },
187
+ { "name": "instagram", "dataType": "text" },
188
+ { "name": "facebook", "dataType": "text" },
189
+ { "name": "nickname", "dataType": "text" },
190
+ { "name": "personDescription", "dataType": "wysiwyg" },
191
+ { "name": "personMaritalStatus", "dataType": "text" }
192
+ ]
193
+ }
194
+ }
195
+ ],
196
+ "guards": "isAuthorized",
197
+ "elements": [
198
+ {
199
+ "id": "personTab",
200
+ "type": "tab",
201
+ "tabs": [
202
+ {
203
+ "id": "personMainDataTab",
204
+ "title": "Dados principais",
205
+ "elements": [
206
+ {
207
+ "label": "Nacionalidade",
208
+ "type": "select",
209
+ "name": "country",
210
+ "dataType": "text",
211
+ "options": [
212
+ { "label": "Afghanistan", "value": "afghanistan" },
213
+ { "label": "Aland Islands", "value": "alandIslands" },
214
+ { "label": "Albania", "value": "albania" },
215
+ { "label": "Algeria", "value": "algeria" },
216
+ { "label": "American Samoa", "value": "americanSamoa" },
217
+ { "label": "Andorra", "value": "andorra" },
218
+ { "label": "Angola", "value": "angola" },
219
+ { "label": "Anguilla", "value": "anguilla" },
220
+ { "label": "Antarctica", "value": "antarctica" },
221
+ {
222
+ "label": "Antigua and Barbuda",
223
+ "value": "antiguaAndBarbuda"
224
+ },
225
+ { "label": "Argentina", "value": "argentina" },
226
+ { "label": "Armenia", "value": "armenia" },
227
+ { "label": "Aruba", "value": "aruba" },
228
+ { "label": "Australia", "value": "australia" },
229
+ { "label": "Austria", "value": "austria" },
230
+ { "label": "Azerbaijan", "value": "azerbaijan" },
231
+ { "label": "Bahrain", "value": "bahrain" },
232
+ { "label": "Bangladesh", "value": "bangladesh" },
233
+ { "label": "Barbados", "value": "barbados" },
234
+ { "label": "Belarus", "value": "belarus" },
235
+ { "label": "Belgium", "value": "belgium" },
236
+ { "label": "Belize", "value": "belize" },
237
+ { "label": "Benin", "value": "benin" },
238
+ { "label": "Bermuda", "value": "bermuda" },
239
+ { "label": "Bhutan", "value": "bhutan" },
240
+ { "label": "Bolivia", "value": "bolivia" },
241
+ {
242
+ "label": "Bonaire, Sint Eustatius and Saba",
243
+ "value": "bonaireSintEustatiusAndSaba"
244
+ },
245
+ {
246
+ "label": "Bosnia and Herzegovina",
247
+ "value": "bosniaAndHerzegovina"
248
+ },
249
+ { "label": "Botswana", "value": "botswana" },
250
+ { "label": "Bouvet Island", "value": "bouvetIsland" },
251
+ { "label": "Brazil", "value": "brazil" },
252
+ {
253
+ "label": "British Indian Ocean Territory",
254
+ "value": "britishIndianOceanTerritory"
255
+ },
256
+ { "label": "Brunei", "value": "brunei" },
257
+ { "label": "Bulgaria", "value": "bulgaria" },
258
+ { "label": "Burkina Faso", "value": "burkinaFaso" },
259
+ { "label": "Burundi", "value": "burundi" },
260
+ { "label": "Cambodia", "value": "cambodia" },
261
+ { "label": "Cameroon", "value": "cameroon" },
262
+ { "label": "Canada", "value": "canada" },
263
+ { "label": "Cape Verde", "value": "capeVerde" },
264
+ { "label": "Cayman Islands", "value": "caymanIslands" },
265
+ {
266
+ "label": "Central African Republic",
267
+ "value": "centralAfricanRepublic"
268
+ },
269
+ { "label": "Chad", "value": "chad" },
270
+ { "label": "Chile", "value": "chile" },
271
+ { "label": "China", "value": "china" },
272
+ {
273
+ "label": "Christmas Island",
274
+ "value": "christmasIsland"
275
+ },
276
+ {
277
+ "label": "Cocos (Keeling) Islands",
278
+ "value": "cocosKeelingIslands"
279
+ },
280
+ { "label": "Colombia", "value": "colombia" },
281
+ { "label": "Comoros", "value": "comoros" },
282
+ { "label": "Congo", "value": "congo" },
283
+ { "label": "Cook Islands", "value": "cookIslands" },
284
+ { "label": "Costa Rica", "value": "costaRica" },
285
+ {
286
+ "label": "Cote D'Ivoire (Ivory Coast)",
287
+ "value": "coteDIvoireIvoryCoast"
288
+ },
289
+ { "label": "Croatia", "value": "croatia" },
290
+ { "label": "Cuba", "value": "cuba" },
291
+ { "label": "Curaçao", "value": "curaçao" },
292
+ { "label": "Cyprus", "value": "cyprus" },
293
+ { "label": "Czech Republic", "value": "czechRepublic" },
294
+ {
295
+ "label": "Democratic Republic of the Congo",
296
+ "value": "democraticRepublicOfTheCongo"
297
+ },
298
+ { "label": "Denmark", "value": "denmark" },
299
+ { "label": "Djibouti", "value": "djibouti" },
300
+ { "label": "Dominica", "value": "dominica" },
301
+ {
302
+ "label": "Dominican Republic",
303
+ "value": "dominicanRepublic"
304
+ },
305
+ { "label": "Ecuador", "value": "ecuador" },
306
+ { "label": "Egypt", "value": "egypt" },
307
+ { "label": "El Salvador", "value": "elSalvador" },
308
+ {
309
+ "label": "Equatorial Guinea",
310
+ "value": "equatorialGuinea"
311
+ },
312
+ { "label": "Eritrea", "value": "eritrea" },
313
+ { "label": "Estonia", "value": "estonia" },
314
+ { "label": "Eswatini", "value": "eswatini" },
315
+ { "label": "Ethiopia", "value": "ethiopia" },
316
+ {
317
+ "label": "Falkland Islands",
318
+ "value": "falklandIslands"
319
+ },
320
+ { "label": "Faroe Islands", "value": "faroeIslands" },
321
+ { "label": "Fiji Islands", "value": "fijiIslands" },
322
+ { "label": "Finland", "value": "finland" },
323
+ { "label": "France", "value": "france" },
324
+ { "label": "French Guiana", "value": "frenchGuiana" },
325
+ {
326
+ "label": "French Polynesia",
327
+ "value": "frenchPolynesia"
328
+ },
329
+ {
330
+ "label": "French Southern Territories",
331
+ "value": "frenchSouthernTerritories"
332
+ },
333
+ { "label": "Gabon", "value": "gabon" },
334
+ { "label": "Georgia", "value": "georgia" },
335
+ { "label": "Germany", "value": "germany" },
336
+ { "label": "Ghana", "value": "ghana" },
337
+ { "label": "Gibraltar", "value": "gibraltar" },
338
+ { "label": "Greece", "value": "greece" },
339
+ { "label": "Greenland", "value": "greenland" },
340
+ { "label": "Grenada", "value": "grenada" },
341
+ { "label": "Guadeloupe", "value": "guadeloupe" },
342
+ { "label": "Guam", "value": "guam" },
343
+ { "label": "Guatemala", "value": "guatemala" },
344
+ {
345
+ "label": "Guernsey and Alderney",
346
+ "value": "guernseyAndAlderney"
347
+ },
348
+ { "label": "Guinea", "value": "guinea" },
349
+ { "label": "Guinea-Bissau", "value": "guineaBissau" },
350
+ { "label": "Guyana", "value": "guyana" },
351
+ { "label": "Haiti", "value": "haiti" },
352
+ {
353
+ "label": "Heard Island and McDonald Islands",
354
+ "value": "heardIslandAndMcdonaldIslands"
355
+ },
356
+ { "label": "Honduras", "value": "honduras" },
357
+ {
358
+ "label": "Hong Kong S.A.R.",
359
+ "value": "hongKongS.a.r."
360
+ },
361
+ { "label": "Hungary", "value": "hungary" },
362
+ { "label": "Iceland", "value": "iceland" },
363
+ { "label": "India", "value": "india" },
364
+ { "label": "Indonesia", "value": "indonesia" },
365
+ { "label": "Iran", "value": "iran" },
366
+ { "label": "Iraq", "value": "iraq" },
367
+ { "label": "Ireland", "value": "ireland" },
368
+ { "label": "Israel", "value": "israel" },
369
+ { "label": "Italy", "value": "italy" },
370
+ { "label": "Jamaica", "value": "jamaica" },
371
+ { "label": "Japan", "value": "japan" },
372
+ { "label": "Jersey", "value": "jersey" },
373
+ { "label": "Jordan", "value": "jordan" },
374
+ { "label": "Kazakhstan", "value": "kazakhstan" },
375
+ { "label": "Kenya", "value": "kenya" },
376
+ { "label": "Kiribati", "value": "kiribati" },
377
+ { "label": "Kosovo", "value": "kosovo" },
378
+ { "label": "Kuwait", "value": "kuwait" },
379
+ { "label": "Kyrgyzstan", "value": "kyrgyzstan" },
380
+ { "label": "Laos", "value": "laos" },
381
+ { "label": "Latvia", "value": "latvia" },
382
+ { "label": "Lebanon", "value": "lebanon" },
383
+ { "label": "Lesotho", "value": "lesotho" },
384
+ { "label": "Liberia", "value": "liberia" },
385
+ { "label": "Libya", "value": "libya" },
386
+ { "label": "Liechtenstein", "value": "liechtenstein" },
387
+ { "label": "Lithuania", "value": "lithuania" },
388
+ { "label": "Luxembourg", "value": "luxembourg" },
389
+ { "label": "Macau S.A.R.", "value": "macauS.a.r." },
390
+ { "label": "Madagascar", "value": "madagascar" },
391
+ { "label": "Malawi", "value": "malawi" },
392
+ { "label": "Malaysia", "value": "malaysia" },
393
+ { "label": "Maldives", "value": "maldives" },
394
+ { "label": "Mali", "value": "mali" },
395
+ { "label": "Malta", "value": "malta" },
396
+ { "label": "Man (Isle of)", "value": "manIsleOf" },
397
+ {
398
+ "label": "Marshall Islands",
399
+ "value": "marshallIslands"
400
+ },
401
+ { "label": "Martinique", "value": "martinique" },
402
+ { "label": "Mauritania", "value": "mauritania" },
403
+ { "label": "Mauritius", "value": "mauritius" },
404
+ { "label": "Mayotte", "value": "mayotte" },
405
+ { "label": "Mexico", "value": "mexico" },
406
+ { "label": "Micronesia", "value": "micronesia" },
407
+ { "label": "Moldova", "value": "moldova" },
408
+ { "label": "Monaco", "value": "monaco" },
409
+ { "label": "Mongolia", "value": "mongolia" },
410
+ { "label": "Montenegro", "value": "montenegro" },
411
+ { "label": "Montserrat", "value": "montserrat" },
412
+ { "label": "Morocco", "value": "morocco" },
413
+ { "label": "Mozambique", "value": "mozambique" },
414
+ { "label": "Myanmar", "value": "myanmar" },
415
+ { "label": "Namibia", "value": "namibia" },
416
+ { "label": "Nauru", "value": "nauru" },
417
+ { "label": "Nepal", "value": "nepal" },
418
+ { "label": "Netherlands", "value": "netherlands" },
419
+ { "label": "New Caledonia", "value": "newCaledonia" },
420
+ { "label": "New Zealand", "value": "newZealand" },
421
+ { "label": "Nicaragua", "value": "nicaragua" },
422
+ { "label": "Niger", "value": "niger" },
423
+ { "label": "Nigeria", "value": "nigeria" },
424
+ { "label": "Niue", "value": "niue" },
425
+ { "label": "Norfolk Island", "value": "norfolkIsland" },
426
+ { "label": "North Korea", "value": "northKorea" },
427
+ {
428
+ "label": "North Macedonia",
429
+ "value": "northMacedonia"
430
+ },
431
+ {
432
+ "label": "Northern Mariana Islands",
433
+ "value": "northernMarianaIslands"
434
+ },
435
+ { "label": "Norway", "value": "norway" },
436
+ { "label": "Oman", "value": "oman" },
437
+ { "label": "Pakistan", "value": "pakistan" },
438
+ { "label": "Palau", "value": "palau" },
439
+ {
440
+ "label": "Palestinian Territory Occupied",
441
+ "value": "palestinianTerritoryOccupied"
442
+ },
443
+ { "label": "Panama", "value": "panama" },
444
+ {
445
+ "label": "Papua New Guinea",
446
+ "value": "papuaNewGuinea"
447
+ },
448
+ { "label": "Paraguay", "value": "paraguay" },
449
+ { "label": "Peru", "value": "peru" },
450
+ { "label": "Philippines", "value": "philippines" },
451
+ {
452
+ "label": "Pitcairn Island",
453
+ "value": "pitcairnIsland"
454
+ },
455
+ { "label": "Poland", "value": "poland" },
456
+ { "label": "Portugal", "value": "portugal" },
457
+ { "label": "Puerto Rico", "value": "puertoRico" },
458
+ { "label": "Qatar", "value": "qatar" },
459
+ { "label": "Reunion", "value": "reunion" },
460
+ { "label": "Romania", "value": "romania" },
461
+ { "label": "Russia", "value": "russia" },
462
+ { "label": "Rwanda", "value": "rwanda" },
463
+ { "label": "Saint Helena", "value": "saintHelena" },
464
+ {
465
+ "label": "Saint Kitts and Nevis",
466
+ "value": "saintKittsAndNevis"
467
+ },
468
+ { "label": "Saint Lucia", "value": "saintLucia" },
469
+ {
470
+ "label": "Saint Pierre and Miquelon",
471
+ "value": "saintPierreAndMiquelon"
472
+ },
473
+ {
474
+ "label": "Saint Vincent and the Grenadines",
475
+ "value": "saintVincentAndTheGrenadines"
476
+ },
477
+ {
478
+ "label": "Saint-Barthelemy",
479
+ "value": "saintBarthelemy"
480
+ },
481
+ {
482
+ "label": "Saint-Martin (French part)",
483
+ "value": "saintMartinFrenchPart"
484
+ },
485
+ { "label": "Samoa", "value": "samoa" },
486
+ { "label": "San Marino", "value": "sanMarino" },
487
+ {
488
+ "label": "Sao Tome and Principe",
489
+ "value": "saoTomeAndPrincipe"
490
+ },
491
+ { "label": "Saudi Arabia", "value": "saudiArabia" },
492
+ { "label": "Senegal", "value": "senegal" },
493
+ { "label": "Serbia", "value": "serbia" },
494
+ { "label": "Seychelles", "value": "seychelles" },
495
+ { "label": "Sierra Leone", "value": "sierraLeone" },
496
+ { "label": "Singapore", "value": "singapore" },
497
+ {
498
+ "label": "Sint Maarten (Dutch part)",
499
+ "value": "sintMaartenDutchPart"
500
+ },
501
+ { "label": "Slovakia", "value": "slovakia" },
502
+ { "label": "Slovenia", "value": "slovenia" },
503
+ {
504
+ "label": "Solomon Islands",
505
+ "value": "solomonIslands"
506
+ },
507
+ { "label": "Somalia", "value": "somalia" },
508
+ { "label": "South Africa", "value": "southAfrica" },
509
+ { "label": "South Georgia", "value": "southGeorgia" },
510
+ { "label": "South Korea", "value": "southKorea" },
511
+ { "label": "South Sudan", "value": "southSudan" },
512
+ { "label": "Spain", "value": "spain" },
513
+ { "label": "Sri Lanka", "value": "sriLanka" },
514
+ { "label": "Sudan", "value": "sudan" },
515
+ { "label": "Suriname", "value": "suriname" },
516
+ {
517
+ "label": "Svalbard and Jan Mayen Islands",
518
+ "value": "svalbardAndJanMayenIslands"
519
+ },
520
+ { "label": "Sweden", "value": "sweden" },
521
+ { "label": "Switzerland", "value": "switzerland" },
522
+ { "label": "Syria", "value": "syria" },
523
+ { "label": "Taiwan", "value": "taiwan" },
524
+ { "label": "Tajikistan", "value": "tajikistan" },
525
+ { "label": "Tanzania", "value": "tanzania" },
526
+ { "label": "Thailand", "value": "thailand" },
527
+ { "label": "The Bahamas", "value": "theBahamas" },
528
+ { "label": "The Gambia ", "value": "theGambia" },
529
+ { "label": "Timor-Leste", "value": "timorLeste" },
530
+ { "label": "Togo", "value": "togo" },
531
+ { "label": "Tokelau", "value": "tokelau" },
532
+ { "label": "Tonga", "value": "tonga" },
533
+ {
534
+ "label": "Trinidad and Tobago",
535
+ "value": "trinidadAndTobago"
536
+ },
537
+ { "label": "Tunisia", "value": "tunisia" },
538
+ { "label": "Turkey", "value": "turkey" },
539
+ { "label": "Turkmenistan", "value": "turkmenistan" },
540
+ {
541
+ "label": "Turks and Caicos Islands",
542
+ "value": "turksAndCaicosIslands"
543
+ },
544
+ { "label": "Tuvalu", "value": "tuvalu" },
545
+ { "label": "Uganda", "value": "uganda" },
546
+ { "label": "Ukraine", "value": "ukraine" },
547
+ {
548
+ "label": "United Arab Emirates",
549
+ "value": "unitedArabEmirates"
550
+ },
551
+ { "label": "United Kingdom", "value": "unitedKingdom" },
552
+ { "label": "United States", "value": "unitedStates" },
553
+ {
554
+ "label": "United States Minor Outlying Islands",
555
+ "value": "unitedStatesMinorOutlyingIslands"
556
+ },
557
+ { "label": "Uruguay", "value": "uruguay" },
558
+ { "label": "Uzbekistan", "value": "uzbekistan" },
559
+ { "label": "Vanuatu", "value": "vanuatu" },
560
+ {
561
+ "label": "Vatican City State (Holy See)",
562
+ "value": "vaticanCityStateHolySee"
563
+ },
564
+ { "label": "Venezuela", "value": "venezuela" },
565
+ { "label": "Vietnam", "value": "vietnam" },
566
+ {
567
+ "label": "Virgin Islands (British)",
568
+ "value": "virginIslandsBritish"
569
+ },
570
+ {
571
+ "label": "Virgin Islands (US)",
572
+ "value": "virginIslandsUs"
573
+ },
574
+ {
575
+ "label": "Wallis and Futuna Islands",
576
+ "value": "wallisAndFutunaIslands"
577
+ },
578
+ { "label": "Western Sahara", "value": "westernSahara" },
579
+ { "label": "Yemen", "value": "yemen" },
580
+ { "label": "Zambia", "value": "zambia" },
581
+ { "label": "Zimbabwe", "value": "zimbabwe" }
582
+ ],
583
+ "isRequired": true
584
+ },
585
+ {
586
+ "label": "CPF",
587
+ "type": "input",
588
+ "dataType": "text",
589
+ "name": "cpf",
590
+ "validators": ["cpf"],
591
+ "isUnique": true,
592
+ "conditions": [
593
+ {
594
+ "type": "form",
595
+ "elements": [
596
+ {
597
+ "key": "country",
598
+ "value": "brazilian",
599
+ "comparisonOperator": "==="
600
+ }
601
+ ]
602
+ }
603
+ ]
604
+ },
605
+ {
606
+ "label": "Passaporte",
607
+ "type": "input",
608
+ "dataType": "text",
609
+ "name": "passport",
610
+ "isUnique": true,
611
+ "conditions": [
612
+ {
613
+ "type": "form",
614
+ "elements": [
615
+ {
616
+ "key": "country",
617
+ "value": "brazilian",
618
+ "comparisonOperator": "!=="
619
+ }
620
+ ]
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "label": "Data de emissão do passaporte",
626
+ "type": "input",
627
+ "dataType": "date",
628
+ "name": "passportIssueDate",
629
+ "conditions": [
630
+ {
631
+ "type": "form",
632
+ "elements": [
633
+ {
634
+ "key": "country",
635
+ "value": "brazilian",
636
+ "comparisonOperator": "!=="
637
+ }
638
+ ]
639
+ }
640
+ ]
641
+ },
642
+ {
643
+ "label": "Data de validade do passaporte",
644
+ "type": "input",
645
+ "dataType": "date",
646
+ "name": "passportExpiryDate",
647
+ "conditions": [
648
+ {
649
+ "type": "form",
650
+ "elements": [
651
+ {
652
+ "key": "country",
653
+ "value": "brazilian",
654
+ "comparisonOperator": "!=="
655
+ }
656
+ ]
657
+ }
658
+ ]
659
+ },
660
+ {
661
+ "label": "Nome completo",
662
+ "type": "input",
663
+ "dataType": "text",
664
+ "name": "name",
665
+ "isRequired": true
666
+ },
667
+ {
668
+ "label": "Gênero",
669
+ "type": "select",
670
+ "dataType": "text",
671
+ "name": "gender",
672
+ "options": [
673
+ { "label": "Masculino", "value": "m" },
674
+ { "label": "Feminino", "value": "f" },
675
+ { "label": "Outro", "value": "o" }
676
+ ]
677
+ },
678
+ {
679
+ "label": "Data de nascimento",
680
+ "type": "input",
681
+ "dataType": "date",
682
+ "name": "birthday"
683
+ },
684
+ {
685
+ "label": "Foto da pessoa",
686
+ "type": "file",
687
+ "dataType": "text",
688
+ "storageConfig": {
689
+ "fileNameStrategy": "uuid",
690
+ "path": "person/pictures",
691
+ "visibility": "public"
692
+ },
693
+ "name": "picture"
694
+ },
695
+ {
696
+ "label": "Telefone principal",
697
+ "type": "input",
698
+ "dataType": "text",
699
+ "name": "phoneOne",
700
+ "validators": ["phone"],
701
+ "isRequired": true
702
+ },
703
+ {
704
+ "label": "E-mail principal",
705
+ "type": "input",
706
+ "dataType": "email",
707
+ "name": "emailOne",
708
+ "isRequired": true
709
+ }
710
+ ]
711
+ },
712
+ {
713
+ "id": "personAddressTab",
714
+ "title": "Endereços",
715
+ "elements": [
716
+ {
717
+ "type": "fieldset",
718
+ "id": "addressOne",
719
+ "title": "Endereço 1",
720
+ "elements": [
721
+ {
722
+ "label": "CEP",
723
+ "type": "input",
724
+ "dataType": "text",
725
+ "name": "addressOneZipCode",
726
+ "apiRequest": {
727
+ "endpoint": "https://brasilapi.com.br/api/cep/v1/",
728
+ "paramType": "path",
729
+ "formFieldsFilledByApiResponse": [
730
+ {
731
+ "formFieldName": "addressOneStreet",
732
+ "propertiesFromApiToFillFormField": ["street"]
733
+ },
734
+ {
735
+ "formFieldName": "addressOneDistrict",
736
+ "propertiesFromApiToFillFormField": [
737
+ "neighborhood"
738
+ ]
739
+ },
740
+ {
741
+ "formFieldName": "addressOneCity",
742
+ "propertiesFromApiToFillFormField": ["city"]
743
+ },
744
+ {
745
+ "formFieldName": "addressOneState",
746
+ "propertiesFromApiToFillFormField": ["state"]
747
+ }
748
+ ]
749
+ },
750
+ "validators": ["cep"]
751
+ },
752
+ {
753
+ "label": "Logradouro",
754
+ "type": "input",
755
+ "dataType": "text",
756
+ "name": "addressOneStreet"
757
+ },
758
+ {
759
+ "label": "Bairro",
760
+ "type": "input",
761
+ "dataType": "text",
762
+ "name": "addressOneDistrict"
763
+ },
764
+ {
765
+ "label": "Número",
766
+ "type": "input",
767
+ "dataType": "text",
768
+ "name": "addressOneNumber"
769
+ },
770
+ {
771
+ "label": "Complemento",
772
+ "type": "input",
773
+ "dataType": "text",
774
+ "name": "addressOneComplement"
775
+ },
776
+ {
777
+ "label": "Cidade",
778
+ "type": "input",
779
+ "dataType": "text",
780
+ "name": "addressOneCity"
781
+ },
782
+ {
783
+ "label": "Estado",
784
+ "type": "input",
785
+ "dataType": "text",
786
+ "name": "addressOneState"
787
+ },
788
+ {
789
+ "label": "Latitude",
790
+ "type": "input",
791
+ "dataType": "text",
792
+ "name": "addressOneLatitude"
793
+ },
794
+ {
795
+ "label": "Longitude",
796
+ "type": "input",
797
+ "dataType": "text",
798
+ "name": "addressOneLongitude"
799
+ }
800
+ ]
801
+ },
802
+ {
803
+ "title": "Endereço 2",
804
+ "type": "fieldset",
805
+ "id": "addressTwo",
806
+ "elements": [
807
+ {
808
+ "label": "CEP",
809
+ "type": "input",
810
+ "dataType": "text",
811
+ "name": "addressTwoZipCode",
812
+ "apiRequest": {
813
+ "endpoint": "https://brasilapi.com.br/api/cep/v1/",
814
+ "paramType": "path",
815
+ "formFieldsFilledByApiResponse": [
816
+ {
817
+ "formFieldName": "addressTwoStreet",
818
+ "propertiesFromApiToFillFormField": ["street"]
819
+ },
820
+ {
821
+ "formFieldName": "addressTwoDistrict",
822
+ "propertiesFromApiToFillFormField": [
823
+ "neighborhood"
824
+ ]
825
+ },
826
+ {
827
+ "formFieldName": "addressTwoCity",
828
+ "propertiesFromApiToFillFormField": ["city"]
829
+ },
830
+ {
831
+ "formFieldName": "addressTwoState",
832
+ "propertiesFromApiToFillFormField": ["state"]
833
+ }
834
+ ]
835
+ },
836
+ "validators": ["cep"]
837
+ },
838
+ {
839
+ "label": "Logradouro",
840
+ "type": "input",
841
+ "dataType": "text",
842
+ "name": "addressTwoStreet"
843
+ },
844
+ {
845
+ "label": "Bairro",
846
+ "type": "input",
847
+ "dataType": "text",
848
+ "name": "addressTwoDistrict"
849
+ },
850
+ {
851
+ "label": "Número",
852
+ "type": "input",
853
+ "dataType": "text",
854
+ "name": "addressTwoNumber"
855
+ },
856
+ {
857
+ "label": "Complemento",
858
+ "type": "input",
859
+ "dataType": "text",
860
+ "name": "addressTwoComplement"
861
+ },
862
+ {
863
+ "label": "Cidade",
864
+ "type": "input",
865
+ "dataType": "text",
866
+ "name": "addressTwoCity"
867
+ },
868
+ {
869
+ "label": "Estado",
870
+ "type": "input",
871
+ "dataType": "text",
872
+ "name": "addressTwoState"
873
+ },
874
+ {
875
+ "label": "Latitude",
876
+ "type": "input",
877
+ "dataType": "text",
878
+ "name": "addressTwoLatitude"
879
+ },
880
+ {
881
+ "label": "Longitude",
882
+ "type": "input",
883
+ "dataType": "text",
884
+ "name": "addressTwoLongitude"
885
+ }
886
+ ]
887
+ }
888
+ ]
889
+ },
890
+ {
891
+ "id": "personContactTab",
892
+ "title": "Contatos e redes",
893
+ "elements": [
894
+ {
895
+ "label": "Telefone secundário",
896
+ "type": "input",
897
+ "dataType": "text",
898
+ "name": "phoneTwo",
899
+ "validators": ["phone"]
900
+ },
901
+ {
902
+ "label": "E-mail secundário",
903
+ "type": "input",
904
+ "dataType": "email",
905
+ "name": "emailTwo"
906
+ },
907
+ {
908
+ "label": "Site 1",
909
+ "type": "input",
910
+ "dataType": "text",
911
+ "name": "siteOne"
912
+ },
913
+ {
914
+ "label": "Site 2",
915
+ "type": "input",
916
+ "dataType": "text",
917
+ "name": "siteTwo"
918
+ },
919
+ {
920
+ "label": "Linkedin",
921
+ "type": "input",
922
+ "dataType": "text",
923
+ "name": "linkedin"
924
+ },
925
+ {
926
+ "label": "Instagram",
927
+ "type": "input",
928
+ "dataType": "text",
929
+ "name": "instagram"
930
+ },
931
+ {
932
+ "label": "Facebook",
933
+ "type": "input",
934
+ "dataType": "text",
935
+ "name": "facebook"
936
+ }
937
+ ]
938
+ },
939
+ {
940
+ "id": "moreDetailsTab",
941
+ "title": "Outros dados",
942
+ "elements": [
943
+ {
944
+ "label": "Nome social",
945
+ "type": "input",
946
+ "dataType": "text",
947
+ "name": "nickname"
948
+ },
949
+ {
950
+ "label": "Descrição da pessoa",
951
+ "type": "input",
952
+ "dataType": "wysiwyg",
953
+ "name": "personDescription"
954
+ },
955
+ {
956
+ "label": "Estado civil",
957
+ "type": "select",
958
+ "dataType": "text",
959
+ "name": "personMaritalStatus",
960
+ "options": [
961
+ { "label": "Solteiro", "value": "single" },
962
+ { "label": "Casado", "value": "married" },
963
+ { "label": "Divorciado", "value": "divorced" },
964
+ { "label": "Viúvo", "value": "widower" },
965
+ { "label": "Noivo", "value": "engaged" },
966
+ { "label": "União estável", "value": "stableUnion" }
967
+ ]
968
+ }
969
+ ]
970
+ }
971
+ ]
972
+ }
973
+ ]
974
+ },
975
+ {
976
+ "componentType": "list",
977
+ "id": "personList",
978
+ "title": "Lista de pessoas",
979
+ "guards": ["isAuthorized"],
980
+ "dataSource": {
981
+ "endpoint": "/people",
982
+ "paramType": "query",
983
+ "hasAuthentication": true
984
+ },
985
+ "properties": [
986
+ { "label": "Foto", "property": "personPicture", "type": "image" },
987
+ { "label": "CPF", "property": "personCpf", "type": "title" },
988
+ { "label": "Nome", "property": "personName", "type": "title" },
989
+ {
990
+ "label": "Telefone",
991
+ "property": "personPhoneOne",
992
+ "type": "subtitle"
993
+ },
994
+ {
995
+ "label": "E-mail",
996
+ "property": "personEmailOne",
997
+ "type": "subtitle"
998
+ }
999
+ ],
1000
+ "callsToActionMenu": [
1001
+ {
1002
+ "label": "Editar",
1003
+ "icon": "pencil",
1004
+ "action": {
1005
+ "link": {
1006
+ "endpoint": "/person-form",
1007
+ "propertiesAsQueryParam": ["_id"]
1008
+ }
1009
+ }
1010
+ },
1011
+ {
1012
+ "label": "Excluir",
1013
+ "icon": "delete",
1014
+ "action": {
1015
+ "link": { "endpoint": "/person-list" },
1016
+ "request": {
1017
+ "endpoint": "/people",
1018
+ "verb": "delete",
1019
+ "propertiesAsPathParam": ["_id"],
1020
+ "dialog": {
1021
+ "title": "Excluir pessoa",
1022
+ "message": "Deseja realmente excluir essa pessoa?"
1023
+ }
1024
+ }
1025
+ }
1026
+ }
1027
+ ]
1028
+ }
1029
+ ]
1030
+ },
1031
+ {
1032
+ "title": "Empresa",
1033
+ "id": "companyModule",
1034
+ "icon": "store",
1035
+ "components": [
1036
+ {
1037
+ "title": "Gerenciamento de empresa",
1038
+ "componentType": "form",
1039
+ "id": "companyForm",
1040
+ "contracts": [
1041
+ {
1042
+ "endpoint": "/companies",
1043
+ "methods": [
1044
+ { "verb": "POST" },
1045
+ { "verb": "PUT" },
1046
+ { "verb": "GET" },
1047
+ { "verb": "DELETE" }
1048
+ ],
1049
+ "request": {
1050
+ "body": [
1051
+ { "name": "country", "dataType": "text" },
1052
+ { "name": "cnpj", "dataType": "text" },
1053
+ { "name": "name", "dataType": "text" },
1054
+ { "name": "businessName", "dataType": "text" },
1055
+ { "name": "birthday", "dataType": "date" },
1056
+ { "name": "legalNature", "dataType": "text" },
1057
+ { "name": "stateRegistration", "dataType": "text" },
1058
+ { "name": "municipalRegistration", "dataType": "text" },
1059
+ { "name": "description", "dataType": "text" },
1060
+ { "name": "logo", "dataType": "text" },
1061
+ { "name": "partners", "dataType": "array" },
1062
+ { "name": "phoneOne", "dataType": "text" },
1063
+ { "name": "emailOne", "dataType": "text" },
1064
+ { "name": "addressOneZipCode", "dataType": "text" },
1065
+ { "name": "addressOneStreet", "dataType": "text" },
1066
+ { "name": "addressOneDistrict", "dataType": "text" },
1067
+ { "name": "addressOneNumber", "dataType": "text" },
1068
+ { "name": "addressOneComplement", "dataType": "text" },
1069
+ { "name": "addressOneCity", "dataType": "text" },
1070
+ { "name": "addressOneState", "dataType": "text" },
1071
+ { "name": "addressOneLatitude", "dataType": "text" },
1072
+ { "name": "addressOneLongitude", "dataType": "text" },
1073
+ { "name": "addressTwoZipCode", "dataType": "text" },
1074
+ { "name": "addressTwoStreet", "dataType": "text" },
1075
+ { "name": "addressTwoDistrict", "dataType": "text" },
1076
+ { "name": "addressTwoNumber", "dataType": "text" },
1077
+ { "name": "addressTwoComplement", "dataType": "text" },
1078
+ { "name": "addressTwoCity", "dataType": "text" },
1079
+ { "name": "addressTwoState", "dataType": "text" },
1080
+ { "name": "addressTwoLatitude", "dataType": "text" },
1081
+ { "name": "addressTwoLongitude", "dataType": "text" },
1082
+ { "name": "phoneTwo", "dataType": "text" },
1083
+ { "name": "emailTwo", "dataType": "text" },
1084
+ { "name": "siteOne", "dataType": "text" },
1085
+ { "name": "siteTwo", "dataType": "text" },
1086
+ { "name": "linkedin", "dataType": "text" },
1087
+ { "name": "instagram", "dataType": "text" },
1088
+ { "name": "facebook", "dataType": "text" }
1089
+ ]
1090
+ }
1091
+ }
1092
+ ],
1093
+ "guards": "isAuthorized",
1094
+ "elements": [
1095
+ {
1096
+ "type": "tab",
1097
+ "id": "companyTab",
1098
+ "tabs": [
1099
+ {
1100
+ "id": "companyMainDataTab",
1101
+ "title": "Dados principais",
1102
+ "elements": [
1103
+ {
1104
+ "label": "Nacionalidade",
1105
+ "type": "select",
1106
+ "name": "country",
1107
+ "dataType": "text",
1108
+ "options": [
1109
+ { "label": "Afghanistan", "value": "afghanistan" },
1110
+ { "label": "Aland Islands", "value": "alandIslands" },
1111
+ { "label": "Albania", "value": "albania" },
1112
+ { "label": "Algeria", "value": "algeria" },
1113
+ { "label": "American Samoa", "value": "americanSamoa" },
1114
+ { "label": "Andorra", "value": "andorra" },
1115
+ { "label": "Angola", "value": "angola" },
1116
+ { "label": "Anguilla", "value": "anguilla" },
1117
+ { "label": "Antarctica", "value": "antarctica" },
1118
+ {
1119
+ "label": "Antigua and Barbuda",
1120
+ "value": "antiguaAndBarbuda"
1121
+ },
1122
+ { "label": "Argentina", "value": "argentina" },
1123
+ { "label": "Armenia", "value": "armenia" },
1124
+ { "label": "Aruba", "value": "aruba" },
1125
+ { "label": "Australia", "value": "australia" },
1126
+ { "label": "Austria", "value": "austria" },
1127
+ { "label": "Azerbaijan", "value": "azerbaijan" },
1128
+ { "label": "Bahrain", "value": "bahrain" },
1129
+ { "label": "Bangladesh", "value": "bangladesh" },
1130
+ { "label": "Barbados", "value": "barbados" },
1131
+ { "label": "Belarus", "value": "belarus" },
1132
+ { "label": "Belgium", "value": "belgium" },
1133
+ { "label": "Belize", "value": "belize" },
1134
+ { "label": "Benin", "value": "benin" },
1135
+ { "label": "Bermuda", "value": "bermuda" },
1136
+ { "label": "Bhutan", "value": "bhutan" },
1137
+ { "label": "Bolivia", "value": "bolivia" },
1138
+ {
1139
+ "label": "Bonaire, Sint Eustatius and Saba",
1140
+ "value": "bonaireSintEustatiusAndSaba"
1141
+ },
1142
+ {
1143
+ "label": "Bosnia and Herzegovina",
1144
+ "value": "bosniaAndHerzegovina"
1145
+ },
1146
+ { "label": "Botswana", "value": "botswana" },
1147
+ { "label": "Bouvet Island", "value": "bouvetIsland" },
1148
+ { "label": "Brazil", "value": "brazil" },
1149
+ {
1150
+ "label": "British Indian Ocean Territory",
1151
+ "value": "britishIndianOceanTerritory"
1152
+ },
1153
+ { "label": "Brunei", "value": "brunei" },
1154
+ { "label": "Bulgaria", "value": "bulgaria" },
1155
+ { "label": "Burkina Faso", "value": "burkinaFaso" },
1156
+ { "label": "Burundi", "value": "burundi" },
1157
+ { "label": "Cambodia", "value": "cambodia" },
1158
+ { "label": "Cameroon", "value": "cameroon" },
1159
+ { "label": "Canada", "value": "canada" },
1160
+ { "label": "Cape Verde", "value": "capeVerde" },
1161
+ { "label": "Cayman Islands", "value": "caymanIslands" },
1162
+ {
1163
+ "label": "Central African Republic",
1164
+ "value": "centralAfricanRepublic"
1165
+ },
1166
+ { "label": "Chad", "value": "chad" },
1167
+ { "label": "Chile", "value": "chile" },
1168
+ { "label": "China", "value": "china" },
1169
+ {
1170
+ "label": "Christmas Island",
1171
+ "value": "christmasIsland"
1172
+ },
1173
+ {
1174
+ "label": "Cocos (Keeling) Islands",
1175
+ "value": "cocosKeelingIslands"
1176
+ },
1177
+ { "label": "Colombia", "value": "colombia" },
1178
+ { "label": "Comoros", "value": "comoros" },
1179
+ { "label": "Congo", "value": "congo" },
1180
+ { "label": "Cook Islands", "value": "cookIslands" },
1181
+ { "label": "Costa Rica", "value": "costaRica" },
1182
+ {
1183
+ "label": "Cote D'Ivoire (Ivory Coast)",
1184
+ "value": "coteDIvoireIvoryCoast"
1185
+ },
1186
+ { "label": "Croatia", "value": "croatia" },
1187
+ { "label": "Cuba", "value": "cuba" },
1188
+ { "label": "Curaçao", "value": "curaçao" },
1189
+ { "label": "Cyprus", "value": "cyprus" },
1190
+ { "label": "Czech Republic", "value": "czechRepublic" },
1191
+ {
1192
+ "label": "Democratic Republic of the Congo",
1193
+ "value": "democraticRepublicOfTheCongo"
1194
+ },
1195
+ { "label": "Denmark", "value": "denmark" },
1196
+ { "label": "Djibouti", "value": "djibouti" },
1197
+ { "label": "Dominica", "value": "dominica" },
1198
+ {
1199
+ "label": "Dominican Republic",
1200
+ "value": "dominicanRepublic"
1201
+ },
1202
+ { "label": "Ecuador", "value": "ecuador" },
1203
+ { "label": "Egypt", "value": "egypt" },
1204
+ { "label": "El Salvador", "value": "elSalvador" },
1205
+ {
1206
+ "label": "Equatorial Guinea",
1207
+ "value": "equatorialGuinea"
1208
+ },
1209
+ { "label": "Eritrea", "value": "eritrea" },
1210
+ { "label": "Estonia", "value": "estonia" },
1211
+ { "label": "Eswatini", "value": "eswatini" },
1212
+ { "label": "Ethiopia", "value": "ethiopia" },
1213
+ {
1214
+ "label": "Falkland Islands",
1215
+ "value": "falklandIslands"
1216
+ },
1217
+ { "label": "Faroe Islands", "value": "faroeIslands" },
1218
+ { "label": "Fiji Islands", "value": "fijiIslands" },
1219
+ { "label": "Finland", "value": "finland" },
1220
+ { "label": "France", "value": "france" },
1221
+ { "label": "French Guiana", "value": "frenchGuiana" },
1222
+ {
1223
+ "label": "French Polynesia",
1224
+ "value": "frenchPolynesia"
1225
+ },
1226
+ {
1227
+ "label": "French Southern Territories",
1228
+ "value": "frenchSouthernTerritories"
1229
+ },
1230
+ { "label": "Gabon", "value": "gabon" },
1231
+ { "label": "Georgia", "value": "georgia" },
1232
+ { "label": "Germany", "value": "germany" },
1233
+ { "label": "Ghana", "value": "ghana" },
1234
+ { "label": "Gibraltar", "value": "gibraltar" },
1235
+ { "label": "Greece", "value": "greece" },
1236
+ { "label": "Greenland", "value": "greenland" },
1237
+ { "label": "Grenada", "value": "grenada" },
1238
+ { "label": "Guadeloupe", "value": "guadeloupe" },
1239
+ { "label": "Guam", "value": "guam" },
1240
+ { "label": "Guatemala", "value": "guatemala" },
1241
+ {
1242
+ "label": "Guernsey and Alderney",
1243
+ "value": "guernseyAndAlderney"
1244
+ },
1245
+ { "label": "Guinea", "value": "guinea" },
1246
+ { "label": "Guinea-Bissau", "value": "guineaBissau" },
1247
+ { "label": "Guyana", "value": "guyana" },
1248
+ { "label": "Haiti", "value": "haiti" },
1249
+ {
1250
+ "label": "Heard Island and McDonald Islands",
1251
+ "value": "heardIslandAndMcdonaldIslands"
1252
+ },
1253
+ { "label": "Honduras", "value": "honduras" },
1254
+ {
1255
+ "label": "Hong Kong S.A.R.",
1256
+ "value": "hongKongS.a.r."
1257
+ },
1258
+ { "label": "Hungary", "value": "hungary" },
1259
+ { "label": "Iceland", "value": "iceland" },
1260
+ { "label": "India", "value": "india" },
1261
+ { "label": "Indonesia", "value": "indonesia" },
1262
+ { "label": "Iran", "value": "iran" },
1263
+ { "label": "Iraq", "value": "iraq" },
1264
+ { "label": "Ireland", "value": "ireland" },
1265
+ { "label": "Israel", "value": "israel" },
1266
+ { "label": "Italy", "value": "italy" },
1267
+ { "label": "Jamaica", "value": "jamaica" },
1268
+ { "label": "Japan", "value": "japan" },
1269
+ { "label": "Jersey", "value": "jersey" },
1270
+ { "label": "Jordan", "value": "jordan" },
1271
+ { "label": "Kazakhstan", "value": "kazakhstan" },
1272
+ { "label": "Kenya", "value": "kenya" },
1273
+ { "label": "Kiribati", "value": "kiribati" },
1274
+ { "label": "Kosovo", "value": "kosovo" },
1275
+ { "label": "Kuwait", "value": "kuwait" },
1276
+ { "label": "Kyrgyzstan", "value": "kyrgyzstan" },
1277
+ { "label": "Laos", "value": "laos" },
1278
+ { "label": "Latvia", "value": "latvia" },
1279
+ { "label": "Lebanon", "value": "lebanon" },
1280
+ { "label": "Lesotho", "value": "lesotho" },
1281
+ { "label": "Liberia", "value": "liberia" },
1282
+ { "label": "Libya", "value": "libya" },
1283
+ { "label": "Liechtenstein", "value": "liechtenstein" },
1284
+ { "label": "Lithuania", "value": "lithuania" },
1285
+ { "label": "Luxembourg", "value": "luxembourg" },
1286
+ { "label": "Macau S.A.R.", "value": "macauS.a.r." },
1287
+ { "label": "Madagascar", "value": "madagascar" },
1288
+ { "label": "Malawi", "value": "malawi" },
1289
+ { "label": "Malaysia", "value": "malaysia" },
1290
+ { "label": "Maldives", "value": "maldives" },
1291
+ { "label": "Mali", "value": "mali" },
1292
+ { "label": "Malta", "value": "malta" },
1293
+ { "label": "Man (Isle of)", "value": "manIsleOf" },
1294
+ {
1295
+ "label": "Marshall Islands",
1296
+ "value": "marshallIslands"
1297
+ },
1298
+ { "label": "Martinique", "value": "martinique" },
1299
+ { "label": "Mauritania", "value": "mauritania" },
1300
+ { "label": "Mauritius", "value": "mauritius" },
1301
+ { "label": "Mayotte", "value": "mayotte" },
1302
+ { "label": "Mexico", "value": "mexico" },
1303
+ { "label": "Micronesia", "value": "micronesia" },
1304
+ { "label": "Moldova", "value": "moldova" },
1305
+ { "label": "Monaco", "value": "monaco" },
1306
+ { "label": "Mongolia", "value": "mongolia" },
1307
+ { "label": "Montenegro", "value": "montenegro" },
1308
+ { "label": "Montserrat", "value": "montserrat" },
1309
+ { "label": "Morocco", "value": "morocco" },
1310
+ { "label": "Mozambique", "value": "mozambique" },
1311
+ { "label": "Myanmar", "value": "myanmar" },
1312
+ { "label": "Namibia", "value": "namibia" },
1313
+ { "label": "Nauru", "value": "nauru" },
1314
+ { "label": "Nepal", "value": "nepal" },
1315
+ { "label": "Netherlands", "value": "netherlands" },
1316
+ { "label": "New Caledonia", "value": "newCaledonia" },
1317
+ { "label": "New Zealand", "value": "newZealand" },
1318
+ { "label": "Nicaragua", "value": "nicaragua" },
1319
+ { "label": "Niger", "value": "niger" },
1320
+ { "label": "Nigeria", "value": "nigeria" },
1321
+ { "label": "Niue", "value": "niue" },
1322
+ { "label": "Norfolk Island", "value": "norfolkIsland" },
1323
+ { "label": "North Korea", "value": "northKorea" },
1324
+ {
1325
+ "label": "North Macedonia",
1326
+ "value": "northMacedonia"
1327
+ },
1328
+ {
1329
+ "label": "Northern Mariana Islands",
1330
+ "value": "northernMarianaIslands"
1331
+ },
1332
+ { "label": "Norway", "value": "norway" },
1333
+ { "label": "Oman", "value": "oman" },
1334
+ { "label": "Pakistan", "value": "pakistan" },
1335
+ { "label": "Palau", "value": "palau" },
1336
+ {
1337
+ "label": "Palestinian Territory Occupied",
1338
+ "value": "palestinianTerritoryOccupied"
1339
+ },
1340
+ { "label": "Panama", "value": "panama" },
1341
+ {
1342
+ "label": "Papua New Guinea",
1343
+ "value": "papuaNewGuinea"
1344
+ },
1345
+ { "label": "Paraguay", "value": "paraguay" },
1346
+ { "label": "Peru", "value": "peru" },
1347
+ { "label": "Philippines", "value": "philippines" },
1348
+ {
1349
+ "label": "Pitcairn Island",
1350
+ "value": "pitcairnIsland"
1351
+ },
1352
+ { "label": "Poland", "value": "poland" },
1353
+ { "label": "Portugal", "value": "portugal" },
1354
+ { "label": "Puerto Rico", "value": "puertoRico" },
1355
+ { "label": "Qatar", "value": "qatar" },
1356
+ { "label": "Reunion", "value": "reunion" },
1357
+ { "label": "Romania", "value": "romania" },
1358
+ { "label": "Russia", "value": "russia" },
1359
+ { "label": "Rwanda", "value": "rwanda" },
1360
+ { "label": "Saint Helena", "value": "saintHelena" },
1361
+ {
1362
+ "label": "Saint Kitts and Nevis",
1363
+ "value": "saintKittsAndNevis"
1364
+ },
1365
+ { "label": "Saint Lucia", "value": "saintLucia" },
1366
+ {
1367
+ "label": "Saint Pierre and Miquelon",
1368
+ "value": "saintPierreAndMiquelon"
1369
+ },
1370
+ {
1371
+ "label": "Saint Vincent and the Grenadines",
1372
+ "value": "saintVincentAndTheGrenadines"
1373
+ },
1374
+ {
1375
+ "label": "Saint-Barthelemy",
1376
+ "value": "saintBarthelemy"
1377
+ },
1378
+ {
1379
+ "label": "Saint-Martin (French part)",
1380
+ "value": "saintMartinFrenchPart"
1381
+ },
1382
+ { "label": "Samoa", "value": "samoa" },
1383
+ { "label": "San Marino", "value": "sanMarino" },
1384
+ {
1385
+ "label": "Sao Tome and Principe",
1386
+ "value": "saoTomeAndPrincipe"
1387
+ },
1388
+ { "label": "Saudi Arabia", "value": "saudiArabia" },
1389
+ { "label": "Senegal", "value": "senegal" },
1390
+ { "label": "Serbia", "value": "serbia" },
1391
+ { "label": "Seychelles", "value": "seychelles" },
1392
+ { "label": "Sierra Leone", "value": "sierraLeone" },
1393
+ { "label": "Singapore", "value": "singapore" },
1394
+ {
1395
+ "label": "Sint Maarten (Dutch part)",
1396
+ "value": "sintMaartenDutchPart"
1397
+ },
1398
+ { "label": "Slovakia", "value": "slovakia" },
1399
+ { "label": "Slovenia", "value": "slovenia" },
1400
+ {
1401
+ "label": "Solomon Islands",
1402
+ "value": "solomonIslands"
1403
+ },
1404
+ { "label": "Somalia", "value": "somalia" },
1405
+ { "label": "South Africa", "value": "southAfrica" },
1406
+ { "label": "South Georgia", "value": "southGeorgia" },
1407
+ { "label": "South Korea", "value": "southKorea" },
1408
+ { "label": "South Sudan", "value": "southSudan" },
1409
+ { "label": "Spain", "value": "spain" },
1410
+ { "label": "Sri Lanka", "value": "sriLanka" },
1411
+ { "label": "Sudan", "value": "sudan" },
1412
+ { "label": "Suriname", "value": "suriname" },
1413
+ {
1414
+ "label": "Svalbard and Jan Mayen Islands",
1415
+ "value": "svalbardAndJanMayenIslands"
1416
+ },
1417
+ { "label": "Sweden", "value": "sweden" },
1418
+ { "label": "Switzerland", "value": "switzerland" },
1419
+ { "label": "Syria", "value": "syria" },
1420
+ { "label": "Taiwan", "value": "taiwan" },
1421
+ { "label": "Tajikistan", "value": "tajikistan" },
1422
+ { "label": "Tanzania", "value": "tanzania" },
1423
+ { "label": "Thailand", "value": "thailand" },
1424
+ { "label": "The Bahamas", "value": "theBahamas" },
1425
+ { "label": "The Gambia ", "value": "theGambia" },
1426
+ { "label": "Timor-Leste", "value": "timorLeste" },
1427
+ { "label": "Togo", "value": "togo" },
1428
+ { "label": "Tokelau", "value": "tokelau" },
1429
+ { "label": "Tonga", "value": "tonga" },
1430
+ {
1431
+ "label": "Trinidad and Tobago",
1432
+ "value": "trinidadAndTobago"
1433
+ },
1434
+ { "label": "Tunisia", "value": "tunisia" },
1435
+ { "label": "Turkey", "value": "turkey" },
1436
+ { "label": "Turkmenistan", "value": "turkmenistan" },
1437
+ {
1438
+ "label": "Turks and Caicos Islands",
1439
+ "value": "turksAndCaicosIslands"
1440
+ },
1441
+ { "label": "Tuvalu", "value": "tuvalu" },
1442
+ { "label": "Uganda", "value": "uganda" },
1443
+ { "label": "Ukraine", "value": "ukraine" },
1444
+ {
1445
+ "label": "United Arab Emirates",
1446
+ "value": "unitedArabEmirates"
1447
+ },
1448
+ { "label": "United Kingdom", "value": "unitedKingdom" },
1449
+ { "label": "United States", "value": "unitedStates" },
1450
+ {
1451
+ "label": "United States Minor Outlying Islands",
1452
+ "value": "unitedStatesMinorOutlyingIslands"
1453
+ },
1454
+ { "label": "Uruguay", "value": "uruguay" },
1455
+ { "label": "Uzbekistan", "value": "uzbekistan" },
1456
+ { "label": "Vanuatu", "value": "vanuatu" },
1457
+ {
1458
+ "label": "Vatican City State (Holy See)",
1459
+ "value": "vaticanCityStateHolySee"
1460
+ },
1461
+ { "label": "Venezuela", "value": "venezuela" },
1462
+ { "label": "Vietnam", "value": "vietnam" },
1463
+ {
1464
+ "label": "Virgin Islands (British)",
1465
+ "value": "virginIslandsBritish"
1466
+ },
1467
+ {
1468
+ "label": "Virgin Islands (US)",
1469
+ "value": "virginIslandsUs"
1470
+ },
1471
+ {
1472
+ "label": "Wallis and Futuna Islands",
1473
+ "value": "wallisAndFutunaIslands"
1474
+ },
1475
+ { "label": "Western Sahara", "value": "westernSahara" },
1476
+ { "label": "Yemen", "value": "yemen" },
1477
+ { "label": "Zambia", "value": "zambia" },
1478
+ { "label": "Zimbabwe", "value": "zimbabwe" }
1479
+ ],
1480
+ "isRequired": true
1481
+ },
1482
+ {
1483
+ "label": "CNPJ",
1484
+ "type": "input",
1485
+ "dataType": "text",
1486
+ "name": "cnpj",
1487
+ "maskRegex": "^\\d{2}\\.\\d{3}\\.\\d{3}/\\d{4}-\\d{2}$",
1488
+ "isUnique": true,
1489
+ "conditions": [
1490
+ {
1491
+ "type": "form",
1492
+ "elements": [
1493
+ {
1494
+ "key": "country",
1495
+ "value": "brazilian",
1496
+ "comparisonOperator": "==="
1497
+ }
1498
+ ]
1499
+ }
1500
+ ]
1501
+ },
1502
+ {
1503
+ "label": "Razão social",
1504
+ "type": "input",
1505
+ "dataType": "text",
1506
+ "name": "name",
1507
+ "isRequired": true
1508
+ },
1509
+ {
1510
+ "label": "Nome fantasia",
1511
+ "type": "input",
1512
+ "dataType": "text",
1513
+ "name": "businessName"
1514
+ },
1515
+ {
1516
+ "type": "input",
1517
+ "dataType": "date",
1518
+ "label": "Data de abertura",
1519
+ "name": "birthday"
1520
+ },
1521
+ {
1522
+ "label": "Natureza legal",
1523
+ "type": "select",
1524
+ "dataType": "text",
1525
+ "name": "legalNature",
1526
+ "options": [
1527
+ { "label": "Empresa Pública", "value": "201-1" },
1528
+ {
1529
+ "label": "Sociedade de Economia Mista",
1530
+ "value": "203-8"
1531
+ },
1532
+ {
1533
+ "label": "Sociedade Anônima Aberta",
1534
+ "value": "204-6"
1535
+ },
1536
+ {
1537
+ "label": "Sociedade Anônima Fechada",
1538
+ "value": "205-4"
1539
+ },
1540
+ {
1541
+ "label": "Sociedade Empresária Limitada",
1542
+ "value": "206-2"
1543
+ },
1544
+ {
1545
+ "label": "Sociedade Empresária em Nome Coletivo",
1546
+ "value": "207-0"
1547
+ },
1548
+ {
1549
+ "label": "Sociedade Empresária em Comandita Simples",
1550
+ "value": "208-9"
1551
+ },
1552
+ {
1553
+ "label": "Sociedade Empresária em Comandita por Ações",
1554
+ "value": "209-7"
1555
+ },
1556
+ {
1557
+ "label": "Sociedade em Conta de Participação",
1558
+ "value": "212-7"
1559
+ },
1560
+ { "label": "Empresário(Individual)", "value": "213-5" },
1561
+ { "label": "Cooperativa", "value": "214-3" },
1562
+ {
1563
+ "label": "Consórcio de Sociedades",
1564
+ "value": "215-1"
1565
+ },
1566
+ { "label": "Grupo de Sociedades", "value": "216-0" },
1567
+ {
1568
+ "label": "Estabelecimento, no Brasil, de Sociedade Estrangeira",
1569
+ "value": "217-8"
1570
+ },
1571
+ {
1572
+ "label": "Estabelecimento, no Brasil, de Empresa Binacional Argentino - Brasileira",
1573
+ "value": "219-4"
1574
+ },
1575
+ {
1576
+ "label": "Empresa Domiciliada no Exterior",
1577
+ "value": "221-6"
1578
+ },
1579
+ {
1580
+ "label": "Clube / Fundo de Investimento",
1581
+ "value": "222-4"
1582
+ },
1583
+ { "label": "Sociedade Simples Pura", "value": "223-2" },
1584
+ {
1585
+ "label": "Sociedade Simples Limitada",
1586
+ "value": "224-0"
1587
+ },
1588
+ {
1589
+ "label": "Sociedade Simples em Nome Coletivo",
1590
+ "value": "225-9"
1591
+ },
1592
+ {
1593
+ "label": "Sociedade Simples em Comandita Simples",
1594
+ "value": "226-7"
1595
+ },
1596
+ { "label": "Empresa Binacional", "value": "227-5" },
1597
+ {
1598
+ "label": "Consórcio de Empregadores",
1599
+ "value": "228-3"
1600
+ },
1601
+ { "label": "Consórcio Simples", "value": "229-1" },
1602
+ {
1603
+ "label": "Empresa Individual de Responsabilidade Limitada(de Natureza Empresária)",
1604
+ "value": "230-5"
1605
+ },
1606
+ {
1607
+ "label": "Empresa Individual de Responsabilidade Limitada(de Natureza Simples)",
1608
+ "value": "231-3"
1609
+ },
1610
+ {
1611
+ "label": "Sociedade Unipessoal de Advogados",
1612
+ "value": "232-1"
1613
+ },
1614
+ {
1615
+ "label": "Cooperativas de Consumo",
1616
+ "value": "233-0"
1617
+ },
1618
+ {
1619
+ "label": "Serviço Notarial e Registral(Cartório)",
1620
+ "value": "303-4"
1621
+ },
1622
+ { "label": "Fundação Privada", "value": "306-9" },
1623
+ {
1624
+ "label": "Serviço Social Autônomo",
1625
+ "value": "307-7"
1626
+ },
1627
+ { "label": "Condomínio Edilício", "value": "308-5" },
1628
+ {
1629
+ "label": "Comissão de Conciliação Prévia",
1630
+ "value": "310-7"
1631
+ },
1632
+ {
1633
+ "label": "Entidade de Mediação e Arbitragem",
1634
+ "value": "311-5"
1635
+ },
1636
+ { "label": "Entidade Sindical", "value": "313-1" },
1637
+ {
1638
+ "label": "Estabelecimento, no Brasil, de Fundação ou Associação Estrangeiras",
1639
+ "value": "320-4"
1640
+ },
1641
+ {
1642
+ "label": "Fundação ou Associação Domiciliada no Exterior",
1643
+ "value": "321-2"
1644
+ },
1645
+ { "label": "Organização Religiosa", "value": "322-0" },
1646
+ { "label": "Comunidade Indígena", "value": "323-9" },
1647
+ { "label": "Fundo Privado", "value": "324-7" },
1648
+ {
1649
+ "label": "Órgão de Direção Nacional de Partido Político",
1650
+ "value": "325-5"
1651
+ },
1652
+ {
1653
+ "label": "Órgão de Direção Regional de Partido Político",
1654
+ "value": "326-3"
1655
+ },
1656
+ {
1657
+ "label": "Órgão de Direção Local de Partido Político",
1658
+ "value": "327-1"
1659
+ },
1660
+ {
1661
+ "label": "Comitê Financeiro de Partido Político",
1662
+ "value": "328-0"
1663
+ },
1664
+ {
1665
+ "label": "Frente Plebiscitária ou Referendária",
1666
+ "value": "329-8"
1667
+ },
1668
+ { "label": "Organização Social(OS)", "value": "330-1" },
1669
+ { "label": "Demais Condomínios", "value": "331-0" },
1670
+ { "label": "Associação Privada", "value": "399-9" },
1671
+ {
1672
+ "label": "Empresa Individual Imobiliária",
1673
+ "value": "401-4"
1674
+ },
1675
+ { "label": "Segurado Especial", "value": "402-2" },
1676
+ {
1677
+ "label": "Contribuinte individual",
1678
+ "value": "408-1"
1679
+ },
1680
+ {
1681
+ "label": "Candidato a Cargo Político Eletivo",
1682
+ "value": "409-0"
1683
+ },
1684
+ { "label": "Leiloeiro", "value": "411-1" },
1685
+ {
1686
+ "label": "Produtor Rural(Pessoa Física)",
1687
+ "value": "412-0"
1688
+ },
1689
+ {
1690
+ "label": "Organização Internacional",
1691
+ "value": "501-0"
1692
+ },
1693
+ {
1694
+ "label": "Representação Diplomática Estrangeira",
1695
+ "value": "502-9"
1696
+ },
1697
+ {
1698
+ "label": "Outras Instituições Extraterritoriais",
1699
+ "value": "503-7"
1700
+ },
1701
+ {
1702
+ "label": "Órgão Público do Poder Executivo Federal",
1703
+ "value": "101-5"
1704
+ },
1705
+ {
1706
+ "label": "Órgão Público do Poder Executivo Estadual ou do Distrito Federal",
1707
+ "value": "102-3"
1708
+ },
1709
+ {
1710
+ "label": "Órgão Público do Poder Executivo Municipal",
1711
+ "value": "103-1"
1712
+ },
1713
+ {
1714
+ "label": "Órgão Público do Poder Legislativo Federal",
1715
+ "value": "104-0"
1716
+ },
1717
+ {
1718
+ "label": "Órgão Público do Poder Legislativo Estadual ou do Distrito Federal",
1719
+ "value": "105-8"
1720
+ },
1721
+ {
1722
+ "label": "Órgão Público do Poder Legislativo Municipal",
1723
+ "value": "106-6"
1724
+ },
1725
+ {
1726
+ "label": "Órgão Público do Poder Judiciário Federal",
1727
+ "value": "107-4"
1728
+ },
1729
+ {
1730
+ "label": "Órgão Público do Poder Judiciário Estadual",
1731
+ "value": "108-2"
1732
+ },
1733
+ { "label": "Autarquia Federal", "value": "110-4" },
1734
+ {
1735
+ "label": "Autarquia Estadual ou do Distrito Federal",
1736
+ "value": "111-2"
1737
+ },
1738
+ { "label": "Autarquia Municipal", "value": "112-0" },
1739
+ {
1740
+ "label": "Fundação Pública de Direito Público Federal",
1741
+ "value": "113-9"
1742
+ },
1743
+ {
1744
+ "label": "Fundação Pública de Direito Público Estadual ou do Distrito Federal",
1745
+ "value": "114-7"
1746
+ },
1747
+ {
1748
+ "label": "Fundação Pública de Direito Público Municipal",
1749
+ "value": "115-5"
1750
+ },
1751
+ {
1752
+ "label": "Órgão Público Autônomo Federal",
1753
+ "value": "116-3"
1754
+ },
1755
+ {
1756
+ "label": "Órgão Público Autônomo Estadual ou do Distrito Federal",
1757
+ "value": "117-1"
1758
+ },
1759
+ {
1760
+ "label": "Órgão Público Autônomo Municipal",
1761
+ "value": "118-0"
1762
+ },
1763
+ { "label": "Comissão Polinacional", "value": "119-8" },
1764
+ { "label": "Fundo Público", "value": "120-1" },
1765
+ {
1766
+ "label": "Consórcio Público de Direito Público(Associação Pública)",
1767
+ "value": "121-0"
1768
+ },
1769
+ {
1770
+ "label": "Consórcio Público de Direito Privado",
1771
+ "value": "122-8"
1772
+ },
1773
+ {
1774
+ "label": "Estado ou Distrito Federal",
1775
+ "value": "123-6"
1776
+ },
1777
+ { "label": "Município", "value": "124-4" },
1778
+ {
1779
+ "label": "Fundação Pública de Direito Privado Federal",
1780
+ "value": "125-2"
1781
+ },
1782
+ {
1783
+ "label": "Fundação Pública de Direito Privado Estadual ou do Distrito Federal",
1784
+ "value": "126-0"
1785
+ },
1786
+ {
1787
+ "label": "Fundação Pública de Direito Privado Municipal",
1788
+ "value": "127-9"
1789
+ }
1790
+ ],
1791
+ "conditions": [
1792
+ {
1793
+ "type": "form",
1794
+ "elements": [
1795
+ {
1796
+ "key": "country",
1797
+ "value": "brazilian",
1798
+ "comparisonOperator": "==="
1799
+ }
1800
+ ]
1801
+ }
1802
+ ]
1803
+ },
1804
+ {
1805
+ "label": "Inscrição estadual",
1806
+ "type": "input",
1807
+ "dataType": "text",
1808
+ "name": "stateRegistration",
1809
+ "conditions": [
1810
+ {
1811
+ "type": "form",
1812
+ "elements": [
1813
+ {
1814
+ "key": "country",
1815
+ "value": "brazilian",
1816
+ "comparisonOperator": "==="
1817
+ }
1818
+ ]
1819
+ }
1820
+ ],
1821
+ "validators": ["onlyNumbers"]
1822
+ },
1823
+ {
1824
+ "type": "input",
1825
+ "label": "Inscrição municipal",
1826
+ "dataType": "text",
1827
+ "name": "municipalRegistration",
1828
+ "conditions": [
1829
+ {
1830
+ "type": "form",
1831
+ "elements": [
1832
+ {
1833
+ "key": "country",
1834
+ "value": "brazilian",
1835
+ "comparisonOperator": "==="
1836
+ }
1837
+ ]
1838
+ }
1839
+ ]
1840
+ },
1841
+ {
1842
+ "type": "input",
1843
+ "dataType": "wysiwyg",
1844
+ "label": "Descrição da empresa",
1845
+ "name": "description"
1846
+ },
1847
+ {
1848
+ "label": "Logo da empresa",
1849
+ "type": "file",
1850
+ "dataType": "text",
1851
+ "name": "logo",
1852
+ "storageConfig": {
1853
+ "fileNameStrategy": "uuid",
1854
+ "path": "company/logos",
1855
+ "visibility": "public"
1856
+ }
1857
+ },
1858
+ {
1859
+ "label": "Sócios",
1860
+ "type": "autocomplete",
1861
+ "dataType": "text",
1862
+ "tooltip": "O(s) sócio(s) deve(m) estar cadastrado(s) no gerenciamento de pessoas.",
1863
+ "name": "partners",
1864
+ "optionsApi": {
1865
+ "endpoint": "/people",
1866
+ "labelField": ["personCpf", "personName"],
1867
+ "valueField": "_id",
1868
+ "paramsToFilter": ["personCpf", "personName"],
1869
+ "paramType": "query"
1870
+ },
1871
+ "isMultiple": true
1872
+ },
1873
+ {
1874
+ "label": "Telefone principal",
1875
+ "type": "input",
1876
+ "dataType": "text",
1877
+ "name": "phoneOne",
1878
+ "maskRegex": "^\\(\\d{2}\\) \\d{4,5}-\\d{4}$",
1879
+ "isRequired": true
1880
+ },
1881
+ {
1882
+ "label": "E-mail principal",
1883
+ "type": "input",
1884
+ "dataType": "email",
1885
+ "name": "emailOne",
1886
+ "isRequired": true
1887
+ }
1888
+ ]
1889
+ },
1890
+ {
1891
+ "id": "companyAddressTab",
1892
+ "title": "Endereços",
1893
+ "elements": [
1894
+ {
1895
+ "type": "fieldset",
1896
+ "id": "addressOne",
1897
+ "title": "Endereço 1",
1898
+ "elements": [
1899
+ {
1900
+ "label": "CEP",
1901
+ "type": "input",
1902
+ "dataType": "text",
1903
+ "name": "addressOneZipCode",
1904
+ "apiRequest": {
1905
+ "endpoint": "https://brasilapi.com.br/api/cep/v1/",
1906
+ "paramType": "path",
1907
+ "formFieldsFilledByApiResponse": [
1908
+ {
1909
+ "formFieldName": "addressOneStreet",
1910
+ "propertiesFromApiToFillFormField": ["street"]
1911
+ },
1912
+ {
1913
+ "formFieldName": "addressOneDistrict",
1914
+ "propertiesFromApiToFillFormField": [
1915
+ "neighborhood"
1916
+ ]
1917
+ },
1918
+ {
1919
+ "formFieldName": "addressOneCity",
1920
+ "propertiesFromApiToFillFormField": ["city"]
1921
+ },
1922
+ {
1923
+ "formFieldName": "addressOneState",
1924
+ "propertiesFromApiToFillFormField": ["state"]
1925
+ }
1926
+ ]
1927
+ },
1928
+ "validators": ["cep"]
1929
+ },
1930
+ {
1931
+ "label": "Logradouro",
1932
+ "type": "input",
1933
+ "dataType": "text",
1934
+ "name": "addressOneStreet"
1935
+ },
1936
+ {
1937
+ "label": "Bairro",
1938
+ "type": "input",
1939
+ "dataType": "text",
1940
+ "name": "addressOneDistrict"
1941
+ },
1942
+ {
1943
+ "label": "Número",
1944
+ "type": "input",
1945
+ "dataType": "text",
1946
+ "name": "addressOneNumber"
1947
+ },
1948
+ {
1949
+ "label": "Complemento",
1950
+ "type": "input",
1951
+ "dataType": "text",
1952
+ "name": "addressOneComplement"
1953
+ },
1954
+ {
1955
+ "label": "Cidade",
1956
+ "type": "input",
1957
+ "dataType": "text",
1958
+ "name": "addressOneCity"
1959
+ },
1960
+ {
1961
+ "label": "Estado",
1962
+ "type": "input",
1963
+ "dataType": "text",
1964
+ "name": "addressOneState"
1965
+ },
1966
+ {
1967
+ "label": "Latitude",
1968
+ "type": "input",
1969
+ "dataType": "text",
1970
+ "name": "addressOneLatitude"
1971
+ },
1972
+ {
1973
+ "label": "Longitude",
1974
+ "type": "input",
1975
+ "dataType": "text",
1976
+ "name": "addressOneLongitude"
1977
+ }
1978
+ ]
1979
+ },
1980
+ {
1981
+ "type": "fieldset",
1982
+ "id": "addressTwo",
1983
+ "title": "Endereço 2",
1984
+ "elements": [
1985
+ {
1986
+ "label": "CEP",
1987
+ "type": "input",
1988
+ "dataType": "text",
1989
+ "name": "addressTwoZipCode",
1990
+ "apiRequest": {
1991
+ "endpoint": "https://brasilapi.com.br/api/cep/v1/",
1992
+ "paramType": "path",
1993
+ "formFieldsFilledByApiResponse": [
1994
+ {
1995
+ "formFieldName": "addressTwoStreet",
1996
+ "propertiesFromApiToFillFormField": ["street"]
1997
+ },
1998
+ {
1999
+ "formFieldName": "addressTwoDistrict",
2000
+ "propertiesFromApiToFillFormField": [
2001
+ "neighborhood"
2002
+ ]
2003
+ },
2004
+ {
2005
+ "formFieldName": "addressTwoCity",
2006
+ "propertiesFromApiToFillFormField": ["city"]
2007
+ },
2008
+ {
2009
+ "formFieldName": "addressTwoState",
2010
+ "propertiesFromApiToFillFormField": ["state"]
2011
+ }
2012
+ ]
2013
+ },
2014
+ "validators": ["cep"]
2015
+ },
2016
+ {
2017
+ "label": "Logradouro",
2018
+ "type": "input",
2019
+ "dataType": "text",
2020
+ "name": "addressTwoStreet"
2021
+ },
2022
+ {
2023
+ "label": "Bairro",
2024
+ "type": "input",
2025
+ "dataType": "text",
2026
+ "name": "addressTwoDistrict"
2027
+ },
2028
+ {
2029
+ "label": "Número",
2030
+ "type": "input",
2031
+ "dataType": "text",
2032
+ "name": "addressTwoNumber"
2033
+ },
2034
+ {
2035
+ "label": "Complemento",
2036
+ "type": "input",
2037
+ "dataType": "text",
2038
+ "name": "addressTwoComplement"
2039
+ },
2040
+ {
2041
+ "label": "Cidade",
2042
+ "type": "input",
2043
+ "dataType": "text",
2044
+ "name": "addressTwoCity"
2045
+ },
2046
+ {
2047
+ "label": "Estado",
2048
+ "type": "input",
2049
+ "dataType": "text",
2050
+ "name": "addressTwoState"
2051
+ },
2052
+ {
2053
+ "label": "Latitude",
2054
+ "type": "input",
2055
+ "dataType": "text",
2056
+ "name": "addressTwoLatitude"
2057
+ },
2058
+ {
2059
+ "label": "Longitude",
2060
+ "type": "input",
2061
+ "dataType": "text",
2062
+ "name": "addressTwoLongitude"
2063
+ }
2064
+ ]
2065
+ }
2066
+ ]
2067
+ },
2068
+ {
2069
+ "id": "companyContactTab",
2070
+ "title": "Contatos e redes",
2071
+ "elements": [
2072
+ {
2073
+ "label": "Telefone secundário",
2074
+ "type": "input",
2075
+ "dataType": "text",
2076
+ "name": "phoneTwo",
2077
+ "validators": ["phone"]
2078
+ },
2079
+ {
2080
+ "label": "E-mail secundário",
2081
+ "type": "input",
2082
+ "dataType": "email",
2083
+ "name": "emailTwo"
2084
+ },
2085
+ {
2086
+ "label": "Site 1",
2087
+ "type": "input",
2088
+ "dataType": "text",
2089
+ "name": "siteOne"
2090
+ },
2091
+ {
2092
+ "label": "Site 2",
2093
+ "type": "input",
2094
+ "dataType": "text",
2095
+ "name": "siteTwo"
2096
+ },
2097
+ {
2098
+ "label": "Linkedin",
2099
+ "type": "input",
2100
+ "dataType": "text",
2101
+ "name": "linkedin"
2102
+ },
2103
+ {
2104
+ "label": "Instagram",
2105
+ "type": "input",
2106
+ "dataType": "text",
2107
+ "name": "instagram"
2108
+ },
2109
+ {
2110
+ "label": "Facebook",
2111
+ "type": "input",
2112
+ "dataType": "text",
2113
+ "name": "facebook"
2114
+ }
2115
+ ]
2116
+ }
2117
+ ]
2118
+ }
2119
+ ]
2120
+ },
2121
+ {
2122
+ "componentType": "list",
2123
+ "id": "companyList",
2124
+ "title": "Lista de empresas",
2125
+ "guards": ["isAuthorized"],
2126
+ "dataSource": {
2127
+ "endpoint": "/companies",
2128
+ "paramType": "query",
2129
+ "hasAuthentication": true
2130
+ },
2131
+ "properties": [
2132
+ { "label": "CNPJ", "property": "companyCnpj", "type": "title" },
2133
+ { "label": "Nome", "property": "companyName", "type": "title" },
2134
+ {
2135
+ "label": "Telefone",
2136
+ "property": "companyPhoneOne",
2137
+ "type": "subtitle"
2138
+ },
2139
+ {
2140
+ "label": "E-mail",
2141
+ "property": "companyEmailOne",
2142
+ "type": "subtitle"
2143
+ }
2144
+ ],
2145
+ "callsToActionMenu": [
2146
+ {
2147
+ "label": "Editar",
2148
+ "icon": "pencil",
2149
+ "action": {
2150
+ "link": {
2151
+ "endpoint": "/company-form",
2152
+ "propertiesAsQueryParam": ["_id"]
2153
+ }
2154
+ }
2155
+ },
2156
+ {
2157
+ "label": "Excluir",
2158
+ "icon": "delete",
2159
+ "action": {
2160
+ "link": { "endpoint": "/company-list" },
2161
+ "request": {
2162
+ "endpoint": "/companies",
2163
+ "verb": "delete",
2164
+ "propertiesAsPathParam": ["_id"],
2165
+ "dialog": {
2166
+ "title": "Excluir empresa",
2167
+ "message": "Deseja realmente excluir essa empresa?"
2168
+ }
2169
+ }
2170
+ }
2171
+ }
2172
+ ]
2173
+ }
2174
+ ]
2175
+ },
2176
+ {
2177
+ "title": "Projeto",
2178
+ "id": "mezuriProjectModule",
2179
+ "icon": "tactic",
2180
+ "components": [
2181
+ {
2182
+ "id": "mezuriProjectForm",
2183
+ "title": "Gerenciar Projeto",
2184
+ "componentType": "form",
2185
+ "contracts": [
2186
+ {
2187
+ "endpoint": "/projects",
2188
+ "methods": [
2189
+ { "verb": "POST" },
2190
+ { "verb": "PUT" },
2191
+ { "verb": "GET" },
2192
+ { "verb": "DELETE" }
2193
+ ],
2194
+ "request": {
2195
+ "body": [
2196
+ { "name": "title", "dataType": "text" },
2197
+ { "name": "description", "dataType": "text" },
2198
+ { "name": "clientType", "dataType": "text" },
2199
+ { "name": "personId", "dataType": "text" },
2200
+ { "name": "companyId", "dataType": "text" },
2201
+ { "name": "tags", "dataType": "array" },
2202
+ { "name": "usersIds", "dataType": "array" }
2203
+ ]
2204
+ }
2205
+ }
2206
+ ],
2207
+ "elements": [
2208
+ {
2209
+ "label": "Título",
2210
+ "type": "input",
2211
+ "name": "title",
2212
+ "dataType": "text",
2213
+ "isRequired": true
2214
+ },
2215
+ {
2216
+ "label": "Descrição",
2217
+ "type": "input",
2218
+ "name": "description",
2219
+ "dataType": "wysiwyg"
2220
+ },
2221
+ {
2222
+ "label": "Tipo de cliente",
2223
+ "type": "select",
2224
+ "dataType": "text",
2225
+ "name": "clientType",
2226
+ "isRequired": true,
2227
+ "options": [
2228
+ { "label": "Empresa", "value": "company" },
2229
+ { "label": "Pessoa", "value": "person" }
2230
+ ]
2231
+ },
2232
+ {
2233
+ "label": "Cliente",
2234
+ "type": "autocomplete",
2235
+ "name": "personId",
2236
+ "dataType": "text",
2237
+ "isRequired": true,
2238
+ "optionsApi": {
2239
+ "endpoint": "/people",
2240
+ "labelField": ["cpf", "name"],
2241
+ "valueField": "_id",
2242
+ "paramsToFilter": ["cpf", "name"],
2243
+ "paramType": "query"
2244
+ },
2245
+ "conditions": [
2246
+ {
2247
+ "type": "form",
2248
+ "elements": [
2249
+ {
2250
+ "key": "clientType",
2251
+ "comparisonOperator": "===",
2252
+ "value": "person"
2253
+ }
2254
+ ]
2255
+ }
2256
+ ]
2257
+ },
2258
+ {
2259
+ "label": "Cliente",
2260
+ "type": "autocomplete",
2261
+ "name": "companyId",
2262
+ "dataType": "text",
2263
+ "isRequired": true,
2264
+ "optionsApi": {
2265
+ "endpoint": "/companies",
2266
+ "labelField": ["cnpj", "companyName"],
2267
+ "valueField": "_id",
2268
+ "paramsToFilter": ["cnpj", "companyName"],
2269
+ "paramType": "query"
2270
+ },
2271
+ "conditions": [
2272
+ {
2273
+ "type": "form",
2274
+ "elements": [
2275
+ {
2276
+ "key": "clientType",
2277
+ "comparisonOperator": "===",
2278
+ "value": "company"
2279
+ }
2280
+ ]
2281
+ }
2282
+ ]
2283
+ },
2284
+ {
2285
+ "label": "Tags",
2286
+ "type": "select",
2287
+ "dataType": "text",
2288
+ "name": "tags",
2289
+ "isRequired": true,
2290
+ "isMultiple": true,
2291
+ "options": [
2292
+ { "label": "Residencial", "value": "residencial" },
2293
+ { "label": "Comercial", "value": "comercial" },
2294
+ { "label": "Corporativo", "value": "corporativo" },
2295
+ { "label": "Industrial", "value": "industrial" },
2296
+ { "label": "Educacional", "value": "educacional" },
2297
+ { "label": "Hospitalar", "value": "hospitalar" },
2298
+ { "label": "Religioso", "value": "religioso" },
2299
+ { "label": "Paisagismo", "value": "paisagismo" },
2300
+ { "label": "Reforma", "value": "reforma" },
2301
+ { "label": "Retrofit", "value": "retrofit" },
2302
+ { "label": "Sustentável", "value": "sustentavel" }
2303
+ ]
2304
+ },
2305
+ {
2306
+ "label": "Compartilhar com usuários",
2307
+ "type": "autocomplete",
2308
+ "dataType": "text",
2309
+ "name": "usersIds",
2310
+ "placeholder": "Selecione os usuários para compartilhar",
2311
+ "tooltip": "Usuários com quem este arquivo será compartilhado",
2312
+ "optionsApi": {
2313
+ "endpoint": "/users",
2314
+ "labelField": ["email"],
2315
+ "valueField": "_id",
2316
+ "paramsToFilter": ["email"],
2317
+ "paramType": "query"
2318
+ },
2319
+ "isMultiple": true
2320
+ }
2321
+ ]
2322
+ },
2323
+ {
2324
+ "title": "Lista de NCMs",
2325
+ "componentType": "list",
2326
+ "id": "mezuriProjectList",
2327
+ "guards": ["isAuthorized"],
2328
+ "dataSource": {
2329
+ "endpoint": "/mezuri-projects",
2330
+ "paramType": "query",
2331
+ "hasAuthentication": true
2332
+ },
2333
+ "properties": [
2334
+ {
2335
+ "property": "mezuriProjectContactName1",
2336
+ "type": "subtitle",
2337
+ "label": "Contato 1"
2338
+ },
2339
+ {
2340
+ "property": "mezuriProjectContactEmail1",
2341
+ "type": "subtitle",
2342
+ "label": "E-mail do contato 1"
2343
+ },
2344
+ {
2345
+ "property": "mezuriProjectContactPhone1",
2346
+ "type": "subtitle",
2347
+ "label": "Telefone do contato 1"
2348
+ }
2349
+ ],
2350
+ "callsToActionMenu": [
2351
+ {
2352
+ "label": "Editar",
2353
+ "icon": "pencil",
2354
+ "action": {
2355
+ "link": {
2356
+ "endpoint": "/mezuri-project-form",
2357
+ "propertiesAsQueryParam": ["_id"]
2358
+ }
2359
+ }
2360
+ },
2361
+ {
2362
+ "label": "Excluir",
2363
+ "icon": "delete",
2364
+ "action": {
2365
+ "link": { "endpoint": "/mezuri-project-list" },
2366
+ "request": {
2367
+ "endpoint": "/mezuri-projects",
2368
+ "verb": "delete",
2369
+ "propertiesAsPathParam": ["_id"],
2370
+ "dialog": {
2371
+ "title": "Excluir conteúdo",
2372
+ "message": "Deseja realmente excluir essa conteúdo?"
2373
+ }
2374
+ }
2375
+ }
2376
+ }
2377
+ ]
2378
+ },
2379
+ {
2380
+ "title": "Gerenciar pasta de projeto",
2381
+ "id": "mezuriProjectFolderForm",
2382
+ "componentType": "form",
2383
+ "contracts": [
2384
+ {
2385
+ "endpoint": "/project-folders",
2386
+ "methods": [
2387
+ { "verb": "POST" },
2388
+ { "verb": "PUT" },
2389
+ { "verb": "GET" },
2390
+ { "verb": "DELETE" }
2391
+ ],
2392
+ "request": {
2393
+ "body": [
2394
+ { "name": "name", "dataType": "text" },
2395
+ { "name": "description", "dataType": "text" },
2396
+ { "name": "projectId", "dataType": "text" },
2397
+ { "name": "personId", "dataType": "text" },
2398
+ { "name": "companyId", "dataType": "text" },
2399
+ { "name": "usersIds", "dataType": "array" }
2400
+ ]
2401
+ }
2402
+ }
2403
+ ],
2404
+ "icon": "folder",
2405
+ "elements": [
2406
+ {
2407
+ "label": "Tipo de cliente",
2408
+ "type": "select",
2409
+ "dataType": "text",
2410
+ "name": "clientType",
2411
+ "placeholder": "Selecione o tipo de cliente",
2412
+ "tooltip": "Tipo de cliente associado ao projeto",
2413
+ "isRequired": true,
2414
+ "options": [
2415
+ { "label": "Empresa", "value": "company" },
2416
+ { "label": "Pessoa", "value": "person" }
2417
+ ]
2418
+ },
2419
+ {
2420
+ "label": "Cliente",
2421
+ "type": "autocomplete",
2422
+ "dataType": "text",
2423
+ "name": "personId",
2424
+ "placeholder": "Selecione o cliente associado",
2425
+ "tooltip": "Cliente ao qual o projeto pertence",
2426
+ "isRequired": true,
2427
+ "optionsApi": {
2428
+ "endpoint": "/people",
2429
+ "labelField": ["emailOne", "name"],
2430
+ "valueField": "_id",
2431
+ "paramsToFilter": ["cpf", "name", "emailOne"],
2432
+ "paramType": "query"
2433
+ },
2434
+ "conditions": [
2435
+ {
2436
+ "type": "form",
2437
+ "elements": [
2438
+ {
2439
+ "key": "clientType",
2440
+ "comparisonOperator": "===",
2441
+ "value": "person"
2442
+ }
2443
+ ]
2444
+ }
2445
+ ]
2446
+ },
2447
+ {
2448
+ "label": "Cliente",
2449
+ "type": "autocomplete",
2450
+ "dataType": "text",
2451
+ "name": "companyId",
2452
+ "placeholder": "Selecione a empresa associada",
2453
+ "tooltip": "Empresa ao qual o projeto pertence",
2454
+ "isRequired": true,
2455
+ "optionsApi": {
2456
+ "endpoint": "/companies",
2457
+ "labelField": ["emailOne", "name"],
2458
+ "valueField": "_id",
2459
+ "paramsToFilter": ["cnpj", "name", "emailOne"],
2460
+ "paramType": "query"
2461
+ },
2462
+ "conditions": [
2463
+ {
2464
+ "type": "form",
2465
+ "elements": [
2466
+ {
2467
+ "key": "clientType",
2468
+ "comparisonOperator": "===",
2469
+ "value": "company"
2470
+ }
2471
+ ]
2472
+ }
2473
+ ]
2474
+ },
2475
+ {
2476
+ "label": "Projeto",
2477
+ "type": "autocomplete",
2478
+ "dataType": "text",
2479
+ "name": "projectId",
2480
+ "placeholder": "Selecione o projeto associado",
2481
+ "tooltip": "Projeto ao qual esta pasta pertence",
2482
+ "isRequired": true,
2483
+ "optionsApi": {
2484
+ "filtersFromOtherFormFields": [
2485
+ {
2486
+ "formFieldName": "companyId",
2487
+ "filterPropertyName": "_id",
2488
+ "conditions": [
2489
+ {
2490
+ "type": "form",
2491
+ "elements": [
2492
+ {
2493
+ "key": "clientType",
2494
+ "comparisonOperator": "===",
2495
+ "value": "company"
2496
+ }
2497
+ ]
2498
+ }
2499
+ ]
2500
+ },
2501
+ {
2502
+ "formFieldName": "personId",
2503
+ "filterPropertyName": "_id",
2504
+ "conditions": [
2505
+ {
2506
+ "type": "form",
2507
+ "elements": [
2508
+ {
2509
+ "key": "clientType",
2510
+ "comparisonOperator": "===",
2511
+ "value": "person"
2512
+ }
2513
+ ]
2514
+ }
2515
+ ]
2516
+ }
2517
+ ],
2518
+ "endpoint": "/projects",
2519
+ "labelField": ["title", "client.name", "client.cpf"],
2520
+ "valueField": "_id",
2521
+ "paramsToFilter": ["title", "client.name", "client.cpf"],
2522
+ "paramType": "query"
2523
+ }
2524
+ },
2525
+ {
2526
+ "label": "Nome da pasta",
2527
+ "type": "input",
2528
+ "dataType": "text",
2529
+ "name": "name",
2530
+ "placeholder": "Digite o nome da pasta",
2531
+ "tooltip": "Nome descritivo para a pasta do projeto",
2532
+ "isRequired": true
2533
+ },
2534
+ {
2535
+ "label": "Descrição da pasta",
2536
+ "type": "input",
2537
+ "dataType": "wysiwyg",
2538
+ "name": "description",
2539
+ "placeholder": "Descreva o propósito desta pasta",
2540
+ "tooltip": "Informações adicionais sobre a pasta do projeto"
2541
+ },
2542
+ {
2543
+ "label": "Compartilhar com usuários",
2544
+ "type": "autocomplete",
2545
+ "dataType": "text",
2546
+ "name": "usersIds",
2547
+ "placeholder": "Selecione os usuários para compartilhar",
2548
+ "tooltip": "Usuários com quem este arquivo será compartilhado",
2549
+ "optionsApi": {
2550
+ "endpoint": "/users",
2551
+ "labelField": ["email"],
2552
+ "valueField": "_id",
2553
+ "paramsToFilter": ["email"],
2554
+ "paramType": "query"
2555
+ },
2556
+ "isMultiple": true
2557
+ }
2558
+ ]
2559
+ },
2560
+ {
2561
+ "title": "Gerenciar arquivo",
2562
+ "id": "mezuriFileForm",
2563
+ "componentType": "form",
2564
+ "contracts": [
2565
+ {
2566
+ "endpoint": "/files",
2567
+ "methods": [
2568
+ { "verb": "POST" },
2569
+ { "verb": "PUT" },
2570
+ { "verb": "GET" },
2571
+ { "verb": "DELETE" }
2572
+ ],
2573
+ "request": {
2574
+ "body": [
2575
+ { "name": "file", "dataType": "text" },
2576
+ { "name": "title", "dataType": "text" },
2577
+ { "name": "description", "dataType": "text" },
2578
+ { "name": "projectFolderId", "dataType": "text" },
2579
+ { "name": "projectId", "dataType": "text" },
2580
+ { "name": "personId", "dataType": "text" },
2581
+ { "name": "companyId", "dataType": "text" },
2582
+ { "name": "usersIds", "dataType": "array" }
2583
+ ]
2584
+ }
2585
+ }
2586
+ ],
2587
+ "icon": "file",
2588
+ "elements": [
2589
+ {
2590
+ "label": "Tipo de cliente",
2591
+ "type": "select",
2592
+ "dataType": "text",
2593
+ "name": "clientType",
2594
+ "placeholder": "Selecione o tipo de cliente",
2595
+ "tooltip": "Tipo de cliente associado ao projeto",
2596
+ "isRequired": true,
2597
+ "options": [
2598
+ { "label": "Empresa", "value": "company" },
2599
+ { "label": "Pessoa", "value": "person" }
2600
+ ]
2601
+ },
2602
+ {
2603
+ "label": "Cliente",
2604
+ "type": "autocomplete",
2605
+ "dataType": "text",
2606
+ "name": "personId",
2607
+ "placeholder": "Selecione o cliente associado",
2608
+ "tooltip": "Cliente ao qual o projeto pertence",
2609
+ "isRequired": true,
2610
+ "optionsApi": {
2611
+ "endpoint": "/people",
2612
+ "labelField": ["emailOne", "name"],
2613
+ "valueField": "_id",
2614
+ "paramsToFilter": ["emailOne", "name", "cpf"],
2615
+ "paramType": "query"
2616
+ },
2617
+ "conditions": [
2618
+ {
2619
+ "type": "form",
2620
+ "elements": [
2621
+ {
2622
+ "key": "clientType",
2623
+ "comparisonOperator": "===",
2624
+ "value": "person"
2625
+ }
2626
+ ]
2627
+ }
2628
+ ]
2629
+ },
2630
+ {
2631
+ "label": "Cliente",
2632
+ "type": "autocomplete",
2633
+ "dataType": "text",
2634
+ "name": "companyId",
2635
+ "placeholder": "Selecione a empresa associada",
2636
+ "tooltip": "Empresa ao qual o projeto pertence",
2637
+ "isRequired": true,
2638
+ "optionsApi": {
2639
+ "endpoint": "/companies",
2640
+ "labelField": ["emailOne", "name"],
2641
+ "valueField": "_id",
2642
+ "paramsToFilter": ["emailOne", "name", "cnpj"],
2643
+ "paramType": "query"
2644
+ },
2645
+ "conditions": [
2646
+ {
2647
+ "type": "form",
2648
+ "elements": [
2649
+ {
2650
+ "key": "clientType",
2651
+ "comparisonOperator": "===",
2652
+ "value": "company"
2653
+ }
2654
+ ]
2655
+ }
2656
+ ]
2657
+ },
2658
+ {
2659
+ "label": "Projeto",
2660
+ "type": "autocomplete",
2661
+ "dataType": "text",
2662
+ "name": "projectId",
2663
+ "placeholder": "Selecione o projeto associado",
2664
+ "tooltip": "Projeto ao qual esta pasta pertence",
2665
+ "isRequired": true,
2666
+ "optionsApi": {
2667
+ "filtersFromOtherFormFields": [
2668
+ {
2669
+ "formFieldName": "companyId",
2670
+ "filterPropertyName": "_id",
2671
+ "conditions": [
2672
+ {
2673
+ "type": "form",
2674
+ "elements": [
2675
+ {
2676
+ "key": "clientType",
2677
+ "comparisonOperator": "===",
2678
+ "value": "company"
2679
+ }
2680
+ ]
2681
+ }
2682
+ ]
2683
+ },
2684
+ {
2685
+ "formFieldName": "personId",
2686
+ "filterPropertyName": "_id",
2687
+ "conditions": [
2688
+ {
2689
+ "type": "form",
2690
+ "elements": [
2691
+ {
2692
+ "key": "clientType",
2693
+ "comparisonOperator": "===",
2694
+ "value": "person"
2695
+ }
2696
+ ]
2697
+ }
2698
+ ]
2699
+ }
2700
+ ],
2701
+ "endpoint": "/projects",
2702
+ "labelField": ["title", "client.name", "client.cpf"],
2703
+ "valueField": "_id",
2704
+ "paramsToFilter": ["title", "client.name", "client.cpf"],
2705
+ "paramType": "query"
2706
+ }
2707
+ },
2708
+ {
2709
+ "label": "Pasta do projeto",
2710
+ "type": "autocomplete",
2711
+ "dataType": "text",
2712
+ "name": "projectFolderId",
2713
+ "placeholder": "Selecione a pasta do projeto",
2714
+ "tooltip": "Pasta do projeto à qual o arquivo pertence",
2715
+ "isRequired": true,
2716
+ "optionsApi": {
2717
+ "endpoint": "/project-folders",
2718
+ "labelField": ["name"],
2719
+ "valueField": "_id",
2720
+ "paramsToFilter": ["name"],
2721
+ "paramType": "query",
2722
+ "filtersFromOtherFormFields": [
2723
+ {
2724
+ "formFieldName": "projectId",
2725
+ "filterPropertyName": "projectId"
2726
+ }
2727
+ ]
2728
+ }
2729
+ },
2730
+ {
2731
+ "type": "file",
2732
+ "label": "Arquivo",
2733
+ "name": "file",
2734
+ "dataType": "text",
2735
+ "storageConfig": {
2736
+ "fileNameStrategy": "uuid",
2737
+ "path": "files",
2738
+ "visibility": "private"
2739
+ },
2740
+ "isRequired": true
2741
+ },
2742
+ {
2743
+ "type": "input",
2744
+ "label": "Título",
2745
+ "name": "title",
2746
+ "dataType": "text",
2747
+ "placeholder": "Digite o título do arquivo"
2748
+ },
2749
+ {
2750
+ "type": "input",
2751
+ "label": "Descrição",
2752
+ "name": "description",
2753
+ "dataType": "wysiwyg",
2754
+ "isRequired": true
2755
+ },
2756
+ {
2757
+ "label": "Compartilhar com usuários",
2758
+ "type": "autocomplete",
2759
+ "dataType": "text",
2760
+ "name": "usersIds",
2761
+ "placeholder": "Selecione os usuários para compartilhar",
2762
+ "tooltip": "Usuários com quem este arquivo será compartilhado",
2763
+ "optionsApi": {
2764
+ "endpoint": "/users",
2765
+ "labelField": ["email"],
2766
+ "valueField": "_id",
2767
+ "paramsToFilter": ["email"],
2768
+ "paramType": "query"
2769
+ },
2770
+ "isMultiple": true
2771
+ }
2772
+ ]
2773
+ }
2774
+ ]
2775
+ },
2776
+ {
2777
+ "id": "mezuriTaskModule",
2778
+ "title": "Gerenciamento de Projetos Mezuri",
2779
+ "icon": "tactic",
2780
+ "components": [
2781
+ {
2782
+ "title": "Gerenciar tarefa",
2783
+ "id": "mezuriTaskForm",
2784
+ "componentType": "form",
2785
+ "contracts": [
2786
+ {
2787
+ "endpoint": "/tasks",
2788
+ "methods": [
2789
+ { "verb": "POST" },
2790
+ { "verb": "PUT" },
2791
+ { "verb": "GET" },
2792
+ { "verb": "DELETE" }
2793
+ ],
2794
+ "request": {
2795
+ "body": [
2796
+ { "name": "title", "dataType": "text" },
2797
+ { "name": "description", "dataType": "text" },
2798
+ { "name": "clientType", "dataType": "text" },
2799
+ { "name": "personId", "dataType": "text" },
2800
+ { "name": "companyId", "dataType": "text" },
2801
+ { "name": "projectId", "dataType": "text" },
2802
+ { "name": "relatedFileIds", "dataType": "array" },
2803
+ { "name": "priority", "dataType": "number" },
2804
+ { "name": "dueDate", "dataType": "date" },
2805
+ { "name": "assigneeId", "dataType": "text" }
2806
+ ]
2807
+ }
2808
+ }
2809
+ ],
2810
+ "icon": "check-square",
2811
+ "elements": [
2812
+ {
2813
+ "label": "Título",
2814
+ "type": "input",
2815
+ "dataType": "text",
2816
+ "name": "title",
2817
+ "placeholder": "Digite o título da tarefa",
2818
+ "tooltip": "Título descritivo da tarefa",
2819
+ "isRequired": true
2820
+ },
2821
+ {
2822
+ "label": "Descrição",
2823
+ "type": "input",
2824
+ "dataType": "wysiwyg",
2825
+ "name": "description",
2826
+ "placeholder": "Descreva a tarefa",
2827
+ "tooltip": "Detalhes adicionais sobre a tarefa"
2828
+ },
2829
+ {
2830
+ "label": "Tipo de cliente",
2831
+ "type": "select",
2832
+ "dataType": "text",
2833
+ "name": "clientType",
2834
+ "placeholder": "Selecione o tipo de cliente",
2835
+ "tooltip": "Tipo de cliente associado ao projeto",
2836
+ "isRequired": true,
2837
+ "options": [
2838
+ { "label": "Empresa", "value": "company" },
2839
+ { "label": "Pessoa", "value": "person" }
2840
+ ]
2841
+ },
2842
+ {
2843
+ "label": "Cliente",
2844
+ "type": "autocomplete",
2845
+ "dataType": "text",
2846
+ "name": "personId",
2847
+ "placeholder": "Selecione o cliente associado",
2848
+ "tooltip": "Cliente ao qual o projeto pertence",
2849
+ "isRequired": true,
2850
+ "optionsApi": {
2851
+ "endpoint": "/people",
2852
+ "labelField": ["emailOne", "name"],
2853
+ "valueField": "_id",
2854
+ "paramsToFilter": ["emailOne", "name", "cpf"],
2855
+ "paramType": "query"
2856
+ },
2857
+ "conditions": [
2858
+ {
2859
+ "type": "form",
2860
+ "elements": [
2861
+ {
2862
+ "key": "clientType",
2863
+ "comparisonOperator": "===",
2864
+ "value": "person"
2865
+ }
2866
+ ]
2867
+ }
2868
+ ]
2869
+ },
2870
+ {
2871
+ "label": "Cliente",
2872
+ "type": "autocomplete",
2873
+ "dataType": "text",
2874
+ "name": "companyId",
2875
+ "placeholder": "Selecione a empresa associada",
2876
+ "tooltip": "Empresa ao qual o projeto pertence",
2877
+ "isRequired": true,
2878
+ "optionsApi": {
2879
+ "endpoint": "/companies",
2880
+ "labelField": ["emailOne", "name"],
2881
+ "valueField": "_id",
2882
+ "paramsToFilter": ["emailOne", "name", "cnpj"],
2883
+ "paramType": "query"
2884
+ },
2885
+ "conditions": [
2886
+ {
2887
+ "type": "form",
2888
+ "elements": [
2889
+ {
2890
+ "key": "clientType",
2891
+ "comparisonOperator": "===",
2892
+ "value": "company"
2893
+ }
2894
+ ]
2895
+ }
2896
+ ]
2897
+ },
2898
+ {
2899
+ "label": "Projeto",
2900
+ "type": "autocomplete",
2901
+ "dataType": "text",
2902
+ "name": "projectId",
2903
+ "placeholder": "Selecione o projeto associado",
2904
+ "tooltip": "Projeto ao qual esta pasta pertence",
2905
+ "isRequired": true,
2906
+ "optionsApi": {
2907
+ "filtersFromOtherFormFields": [
2908
+ {
2909
+ "formFieldName": "companyId",
2910
+ "filterPropertyName": "_id",
2911
+ "conditions": [
2912
+ {
2913
+ "type": "form",
2914
+ "elements": [
2915
+ {
2916
+ "key": "clientType",
2917
+ "comparisonOperator": "===",
2918
+ "value": "company"
2919
+ }
2920
+ ]
2921
+ }
2922
+ ]
2923
+ },
2924
+ {
2925
+ "formFieldName": "personId",
2926
+ "filterPropertyName": "_id",
2927
+ "conditions": [
2928
+ {
2929
+ "type": "form",
2930
+ "elements": [
2931
+ {
2932
+ "key": "clientType",
2933
+ "comparisonOperator": "===",
2934
+ "value": "person"
2935
+ }
2936
+ ]
2937
+ }
2938
+ ]
2939
+ }
2940
+ ],
2941
+ "endpoint": "/projects",
2942
+ "labelField": ["title", "client.name", "client.cpf"],
2943
+ "valueField": "_id",
2944
+ "paramsToFilter": ["title", "client.name", "client.cpf"],
2945
+ "paramType": "query"
2946
+ }
2947
+ },
2948
+ {
2949
+ "label": "Arquivo relacionado",
2950
+ "type": "autocomplete",
2951
+ "dataType": "text",
2952
+ "name": "relatedFileIds",
2953
+ "placeholder": "Selecione o arquivo relacionado à tarefa",
2954
+ "tooltip": "Arquivo vinculado a esta tarefa",
2955
+ "optionsApi": {
2956
+ "endpoint": "/files",
2957
+ "labelField": ["title", "description"],
2958
+ "valueField": "_id",
2959
+ "paramsToFilter": ["title", "description"],
2960
+ "paramType": "query",
2961
+ "filtersFromOtherFormFields": [
2962
+ {
2963
+ "formFieldName": "projectId",
2964
+ "filterPropertyName": "projectId"
2965
+ }
2966
+ ]
2967
+ },
2968
+ "conditions": [
2969
+ {
2970
+ "type": "form",
2971
+ "elements": [
2972
+ {
2973
+ "key": "projectId",
2974
+ "comparisonOperator": "!==",
2975
+ "value": null
2976
+ }
2977
+ ]
2978
+ }
2979
+ ]
2980
+ },
2981
+ {
2982
+ "label": "Prioridade",
2983
+ "type": "select",
2984
+ "dataType": "number",
2985
+ "name": "priority",
2986
+ "placeholder": "Selecione a prioridade da tarefa",
2987
+ "tooltip": "Nível de urgência da tarefa",
2988
+ "isRequired": true,
2989
+ "options": [
2990
+ { "label": "Baixa", "value": 3 },
2991
+ { "label": "Média", "value": 2 },
2992
+ { "label": "Alta", "value": 1 },
2993
+ { "label": "Urgente", "value": 0 }
2994
+ ]
2995
+ },
2996
+ {
2997
+ "label": "Data de entrega",
2998
+ "type": "input",
2999
+ "dataType": "date",
3000
+ "name": "dueDate",
3001
+ "placeholder": "Selecione a data de vencimento",
3002
+ "tooltip": "Data limite para conclusão da tarefa"
3003
+ },
3004
+ {
3005
+ "label": "Responsável",
3006
+ "type": "autocomplete",
3007
+ "dataType": "text",
3008
+ "name": "assigneeId",
3009
+ "placeholder": "Selecione o responsável pela tarefa",
3010
+ "tooltip": "Usuário designado para a tarefa",
3011
+ "optionsApi": {
3012
+ "endpoint": "/users",
3013
+ "labelField": ["email", "name"],
3014
+ "valueField": "_id",
3015
+ "paramsToFilter": ["email", "name"],
3016
+ "paramType": "query"
3017
+ }
3018
+ }
3019
+ ]
3020
+ }
3021
+ ]
3022
+ }
3023
+ ]
3024
+ }