@greatapps/greatagents 0.1.0 → 0.1.2
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.
- package/package.json +1 -1
- package/scripts/companies/create_table.sql +6 -3
- package/scripts/leads/create_table.sql +5 -13
- package/scripts/people/create_table.sql +51 -0
- package/src/modules/agents/properties.js +17 -3
- package/src/modules/companies/properties.js +25 -6
- package/src/modules/leads/index.js +1 -1
- package/src/modules/leads/properties.js +15 -75
- package/src/modules/missions/properties.js +17 -3
- package/src/modules/objectives/properties.js +17 -3
- package/src/modules/people/index.js +10 -0
- package/src/modules/people/properties.js +161 -0
package/package.json
CHANGED
|
@@ -18,7 +18,8 @@ CREATE TABLE IF NOT EXISTS companies (
|
|
|
18
18
|
id_account INTEGER NOT NULL,
|
|
19
19
|
id_lead INTEGER REFERENCES leads(id) ON DELETE CASCADE,
|
|
20
20
|
name VARCHAR(255),
|
|
21
|
-
|
|
21
|
+
website VARCHAR(255),
|
|
22
|
+
document VARCHAR(50),
|
|
22
23
|
notes TEXT,
|
|
23
24
|
industry VARCHAR(255),
|
|
24
25
|
size VARCHAR(255)
|
|
@@ -29,7 +30,8 @@ CREATE INDEX IF NOT EXISTS idx_companies_deleted ON companies(deleted);
|
|
|
29
30
|
CREATE INDEX IF NOT EXISTS idx_companies_id_account ON companies(id_account);
|
|
30
31
|
CREATE INDEX IF NOT EXISTS idx_companies_id_lead ON companies(id_lead);
|
|
31
32
|
CREATE INDEX IF NOT EXISTS idx_companies_name ON companies(name);
|
|
32
|
-
CREATE INDEX IF NOT EXISTS
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_companies_website ON companies(website);
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_companies_document ON companies(document);
|
|
33
35
|
CREATE INDEX IF NOT EXISTS idx_companies_industry ON companies(industry);
|
|
34
36
|
CREATE INDEX IF NOT EXISTS idx_companies_size ON companies(size);
|
|
35
37
|
|
|
@@ -43,7 +45,8 @@ COMMENT ON COLUMN companies.datetime_del IS 'Data e hora da exclusão lógica do
|
|
|
43
45
|
COMMENT ON COLUMN companies.id_account IS 'Referência para a conta proprietária da empresa';
|
|
44
46
|
COMMENT ON COLUMN companies.id_lead IS 'Referência para o lead associado à empresa';
|
|
45
47
|
COMMENT ON COLUMN companies.name IS 'Nome da empresa';
|
|
46
|
-
COMMENT ON COLUMN companies.
|
|
48
|
+
COMMENT ON COLUMN companies.website IS 'Website da empresa';
|
|
49
|
+
COMMENT ON COLUMN companies.document IS 'Documento da empresa (CNPJ, etc.)';
|
|
47
50
|
COMMENT ON COLUMN companies.notes IS 'Notas e observações sobre a empresa';
|
|
48
51
|
COMMENT ON COLUMN companies.industry IS 'Setor/indústria da empresa';
|
|
49
52
|
COMMENT ON COLUMN companies.size IS 'Tamanho da empresa (pequena, média, grande, etc.)';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
-- Script de criação da tabela LEADS
|
|
3
3
|
-- =====================================================
|
|
4
4
|
-- Descrição: Tabela que armazena informações dos leads/contatos
|
|
5
|
-
-- Dependências: accounts, users, agents, missions, objectives
|
|
5
|
+
-- Dependências: accounts (comentada - tabela não existe), users, agents, missions, objectives
|
|
6
6
|
-- =====================================================
|
|
7
7
|
|
|
8
8
|
-- Cria a tabela leads
|
|
@@ -15,11 +15,8 @@ CREATE TABLE IF NOT EXISTS leads (
|
|
|
15
15
|
datetime_del TIMESTAMP NULL,
|
|
16
16
|
|
|
17
17
|
-- Propriedades específicas da tabela leads
|
|
18
|
-
id_account INTEGER NOT NULL
|
|
19
|
-
|
|
20
|
-
first_name VARCHAR(255),
|
|
21
|
-
last_name VARCHAR(255),
|
|
22
|
-
photo VARCHAR(255),
|
|
18
|
+
id_account INTEGER NOT NULL,
|
|
19
|
+
id_person INTEGER NOT NULL REFERENCES people(id) ON DELETE SET NULL,
|
|
23
20
|
email VARCHAR(255),
|
|
24
21
|
phone VARCHAR(20),
|
|
25
22
|
owner_user_id INTEGER,
|
|
@@ -32,9 +29,7 @@ CREATE TABLE IF NOT EXISTS leads (
|
|
|
32
29
|
-- Cria índices para otimização de consultas
|
|
33
30
|
CREATE INDEX IF NOT EXISTS idx_leads_deleted ON leads(deleted);
|
|
34
31
|
CREATE INDEX IF NOT EXISTS idx_leads_id_account ON leads(id_account);
|
|
35
|
-
CREATE INDEX IF NOT EXISTS
|
|
36
|
-
CREATE INDEX IF NOT EXISTS idx_leads_first_name ON leads(first_name);
|
|
37
|
-
CREATE INDEX IF NOT EXISTS idx_leads_last_name ON leads(last_name);
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_leads_id_person ON leads(id_person);
|
|
38
33
|
CREATE INDEX IF NOT EXISTS idx_leads_email ON leads(email);
|
|
39
34
|
CREATE INDEX IF NOT EXISTS idx_leads_phone ON leads(phone);
|
|
40
35
|
CREATE INDEX IF NOT EXISTS idx_leads_owner_user_id ON leads(owner_user_id);
|
|
@@ -50,10 +45,7 @@ COMMENT ON COLUMN leads.datetime_add IS 'Data e hora de criação do registro';
|
|
|
50
45
|
COMMENT ON COLUMN leads.datetime_alt IS 'Data e hora da última alteração do registro';
|
|
51
46
|
COMMENT ON COLUMN leads.datetime_del IS 'Data e hora da exclusão lógica do registro';
|
|
52
47
|
COMMENT ON COLUMN leads.id_account IS 'Referência para a conta proprietária do lead';
|
|
53
|
-
COMMENT ON COLUMN leads.
|
|
54
|
-
COMMENT ON COLUMN leads.first_name IS 'Primeiro nome do lead';
|
|
55
|
-
COMMENT ON COLUMN leads.last_name IS 'Último nome do lead';
|
|
56
|
-
COMMENT ON COLUMN leads.photo IS 'URL da foto do lead';
|
|
48
|
+
COMMENT ON COLUMN leads.id_person IS 'Referência para a pessoa associada ao lead (tabela people)';
|
|
57
49
|
COMMENT ON COLUMN leads.email IS 'Endereço de e-mail do lead';
|
|
58
50
|
COMMENT ON COLUMN leads.phone IS 'Número de telefone do lead';
|
|
59
51
|
COMMENT ON COLUMN leads.owner_user_id IS 'Referência para o usuário proprietário do lead';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
-- =====================================================
|
|
2
|
+
-- Script de criação da tabela PEOPLE
|
|
3
|
+
-- =====================================================
|
|
4
|
+
-- Descrição: Tabela que armazena informações das pessoas
|
|
5
|
+
-- Dependências: accounts (comentada - tabela não existe)
|
|
6
|
+
-- =====================================================
|
|
7
|
+
|
|
8
|
+
-- Cria a tabela people
|
|
9
|
+
CREATE TABLE IF NOT EXISTS people (
|
|
10
|
+
-- Propriedades automáticas (padrão para todas as tabelas)
|
|
11
|
+
id SERIAL PRIMARY KEY,
|
|
12
|
+
deleted BOOLEAN DEFAULT false NOT NULL,
|
|
13
|
+
datetime_add TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
14
|
+
datetime_alt TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
15
|
+
datetime_del TIMESTAMP NULL,
|
|
16
|
+
|
|
17
|
+
-- Propriedades específicas da tabela people
|
|
18
|
+
id_account INTEGER NOT NULL,
|
|
19
|
+
-- FOREIGN KEY para accounts comentada pois tabela não existe
|
|
20
|
+
-- REFERENCES accounts(id) ON DELETE CASCADE,
|
|
21
|
+
full_name VARCHAR(255),
|
|
22
|
+
first_name VARCHAR(255),
|
|
23
|
+
last_name VARCHAR(255),
|
|
24
|
+
photo TEXT,
|
|
25
|
+
document VARCHAR(50),
|
|
26
|
+
birth_date DATE
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
-- Cria índices para otimização de consultas
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_people_deleted ON people(deleted);
|
|
31
|
+
CREATE INDEX IF NOT EXISTS idx_people_id_account ON people(id_account);
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_people_full_name ON people(full_name);
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_people_first_name ON people(first_name);
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_people_last_name ON people(last_name);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_people_document ON people(document);
|
|
36
|
+
CREATE INDEX IF NOT EXISTS idx_people_birth_date ON people(birth_date);
|
|
37
|
+
|
|
38
|
+
-- Adiciona comentários para documentação
|
|
39
|
+
COMMENT ON TABLE people IS 'Tabela que armazena informações das pessoas';
|
|
40
|
+
COMMENT ON COLUMN people.id IS 'Identificador único da pessoa (chave primária)';
|
|
41
|
+
COMMENT ON COLUMN people.deleted IS 'Flag indicando se o registro foi excluído logicamente';
|
|
42
|
+
COMMENT ON COLUMN people.datetime_add IS 'Data e hora de criação do registro';
|
|
43
|
+
COMMENT ON COLUMN people.datetime_alt IS 'Data e hora da última alteração do registro';
|
|
44
|
+
COMMENT ON COLUMN people.datetime_del IS 'Data e hora da exclusão lógica do registro';
|
|
45
|
+
COMMENT ON COLUMN people.id_account IS 'Referência para a conta proprietária da pessoa';
|
|
46
|
+
COMMENT ON COLUMN people.full_name IS 'Nome completo da pessoa';
|
|
47
|
+
COMMENT ON COLUMN people.first_name IS 'Primeiro nome da pessoa';
|
|
48
|
+
COMMENT ON COLUMN people.last_name IS 'Último nome da pessoa';
|
|
49
|
+
COMMENT ON COLUMN people.photo IS 'Foto da pessoa (armazenada como TEXT)';
|
|
50
|
+
COMMENT ON COLUMN people.document IS 'Documento da pessoa (CPF, CNPJ, etc.)';
|
|
51
|
+
COMMENT ON COLUMN people.birth_date IS 'Data de nascimento da pessoa';
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { llmModels } from "../../llm/models.js";
|
|
2
|
-
|
|
3
1
|
export const properties = {
|
|
4
2
|
id: {
|
|
5
3
|
type: "number",
|
|
@@ -111,7 +109,23 @@ export const properties = {
|
|
|
111
109
|
type: "string",
|
|
112
110
|
filterable: true,
|
|
113
111
|
default: "gpt-3.5",
|
|
114
|
-
options:
|
|
112
|
+
options: [
|
|
113
|
+
{ value: "gpt-3.5", label: { "pt-br": "GPT-3.5", "en": "GPT-3.5" } },
|
|
114
|
+
{ value: "gpt-4", label: { "pt-br": "GPT-4", "en": "GPT-4" } },
|
|
115
|
+
{ value: "gpt-4o", label: { "pt-br": "GPT-4o", "en": "GPT-4o" } },
|
|
116
|
+
{ value: "gpt-4.1", label: { "pt-br": "GPT-4.1", "en": "GPT-4.1" } },
|
|
117
|
+
{ value: "gpt-5", label: { "pt-br": "GPT-5", "en": "GPT-5" } },
|
|
118
|
+
{ value: "gtp-4 mini", label: { "pt-br": "GPT-4 mini", "en": "GPT-4 mini" } },
|
|
119
|
+
{ value: "gtp-4o mini", label: { "pt-br": "GPT-4o mini", "en": "GPT-4o mini" } },
|
|
120
|
+
{ value: "gpt-4.1 mini", label: { "pt-br": "GPT-4.1 mini", "en": "GPT-4.1 mini" } },
|
|
121
|
+
{ value: "gpt-5 mini", label: { "pt-br": "GPT-5 mini", "en": "GPT-5 mini" } },
|
|
122
|
+
{ value: "gemini-2.0 flash", label: { "pt-br": "Gemini 2.0 Flash", "en": "Gemini 2.0 Flash" } },
|
|
123
|
+
{ value: "gemnini-2.5 pro", label: { "pt-br": "Gemini 2.5 Pro", "en": "Gemini 2.5 Pro" } },
|
|
124
|
+
{ value: "claude-3.7 sonnet", label: { "pt-br": "Claude 3.7 Sonnet", "en": "Claude 3.7 Sonnet" } },
|
|
125
|
+
{ value: "claude-4.0 sonnet", label: { "pt-br": "Claude 4.0 Sonnet", "en": "Claude 4.0 Sonnet" } },
|
|
126
|
+
{ value: "deepseek-v3", label: { "pt-br": "DeepSeek V3", "en": "DeepSeek V3" } },
|
|
127
|
+
{ value: "deepseek-r1", label: { "pt-br": "DeepSeek R1", "en": "DeepSeek R1" } },
|
|
128
|
+
],
|
|
115
129
|
interface: {
|
|
116
130
|
component: "select",
|
|
117
131
|
label: {
|
|
@@ -83,21 +83,40 @@ export const properties = {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
|
-
|
|
86
|
+
website: {
|
|
87
87
|
type: "string",
|
|
88
88
|
searchable: true,
|
|
89
89
|
validation: {
|
|
90
|
-
maxLength: 255
|
|
90
|
+
maxLength: 255,
|
|
91
|
+
pattern: "url"
|
|
92
|
+
},
|
|
93
|
+
interface: {
|
|
94
|
+
label: {
|
|
95
|
+
"pt-br": "Website",
|
|
96
|
+
"en": "Website"
|
|
97
|
+
},
|
|
98
|
+
component: "string",
|
|
99
|
+
placeholder: {
|
|
100
|
+
"pt-br": "Website da empresa",
|
|
101
|
+
"en": "Company website"
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
document: {
|
|
106
|
+
type: "string",
|
|
107
|
+
searchable: true,
|
|
108
|
+
validation: {
|
|
109
|
+
maxLength: 50
|
|
91
110
|
},
|
|
92
111
|
interface: {
|
|
93
112
|
label: {
|
|
94
|
-
"pt-br": "
|
|
95
|
-
"en": "
|
|
113
|
+
"pt-br": "CNPJ",
|
|
114
|
+
"en": "Document"
|
|
96
115
|
},
|
|
97
116
|
component: "string",
|
|
98
117
|
placeholder: {
|
|
99
|
-
"pt-br": "
|
|
100
|
-
"en": "Company
|
|
118
|
+
"pt-br": "CNPJ da empresa",
|
|
119
|
+
"en": "Company document"
|
|
101
120
|
}
|
|
102
121
|
}
|
|
103
122
|
},
|
|
@@ -45,86 +45,26 @@ export const properties = {
|
|
|
45
45
|
disabled: true
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
|
-
|
|
49
|
-
type: "
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
label:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
},
|
|
59
|
-
component: "string",
|
|
60
|
-
placeholder: {
|
|
61
|
-
"pt-br": "Nome completo do lead",
|
|
62
|
-
"en": "Full name of the lead"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
first_name: {
|
|
67
|
-
type: "string",
|
|
68
|
-
searchable: true,
|
|
69
|
-
validation: {
|
|
70
|
-
maxLength: 255
|
|
71
|
-
},
|
|
72
|
-
interface: {
|
|
73
|
-
label: {
|
|
74
|
-
"pt-br": "Primeiro nome",
|
|
75
|
-
"en": "First name"
|
|
76
|
-
},
|
|
77
|
-
component: "string",
|
|
78
|
-
placeholder: {
|
|
79
|
-
"pt-br": "Primeiro nome do lead",
|
|
80
|
-
"en": "First name of the lead"
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
last_name: {
|
|
85
|
-
type: "string",
|
|
86
|
-
searchable: true,
|
|
87
|
-
validation: {
|
|
88
|
-
maxLength: 255
|
|
89
|
-
},
|
|
90
|
-
interface: {
|
|
91
|
-
label: {
|
|
92
|
-
"pt-br": "Último nome",
|
|
93
|
-
"en": "Last name"
|
|
94
|
-
},
|
|
95
|
-
component: "string",
|
|
96
|
-
placeholder: {
|
|
97
|
-
"pt-br": "Último nome do lead",
|
|
98
|
-
"en": "Last name of the lead"
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
photo: {
|
|
103
|
-
type: "image",
|
|
104
|
-
file: {
|
|
105
|
-
types: [
|
|
106
|
-
"png",
|
|
107
|
-
"jpg",
|
|
108
|
-
"jpeg",
|
|
109
|
-
"gif",
|
|
110
|
-
"svg",
|
|
111
|
-
"webp"
|
|
112
|
-
],
|
|
113
|
-
storage: "gpages",
|
|
114
|
-
width: 200,
|
|
115
|
-
height: 200
|
|
48
|
+
id_person: {
|
|
49
|
+
type: "number",
|
|
50
|
+
required: true,
|
|
51
|
+
updatable: false,
|
|
52
|
+
filterable: true,
|
|
53
|
+
reference: {
|
|
54
|
+
module: "people",
|
|
55
|
+
label: "full_name",
|
|
56
|
+
value: "id",
|
|
57
|
+
disabled: true
|
|
116
58
|
},
|
|
117
59
|
interface: {
|
|
118
60
|
label: {
|
|
119
|
-
"pt-br": "
|
|
120
|
-
"en": "
|
|
61
|
+
"pt-br": "Pessoa",
|
|
62
|
+
"en": "Person"
|
|
121
63
|
},
|
|
122
|
-
component: "
|
|
123
|
-
|
|
124
|
-
view: true,
|
|
125
|
-
edit: true
|
|
64
|
+
component: "select",
|
|
65
|
+
disabled: true
|
|
126
66
|
}
|
|
127
|
-
},
|
|
67
|
+
},
|
|
128
68
|
email: {
|
|
129
69
|
type: "string",
|
|
130
70
|
searchable: true,
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { llmModels } from "../../llm/models.js";
|
|
2
|
-
|
|
3
1
|
export const properties = {
|
|
4
2
|
id: {
|
|
5
3
|
type: "number",
|
|
@@ -103,7 +101,23 @@ export const properties = {
|
|
|
103
101
|
type: "string",
|
|
104
102
|
filterable: true,
|
|
105
103
|
default: "gpt-3.5",
|
|
106
|
-
options:
|
|
104
|
+
options: [
|
|
105
|
+
{ value: "gpt-3.5", label: { "pt-br": "GPT-3.5", "en": "GPT-3.5" } },
|
|
106
|
+
{ value: "gpt-4", label: { "pt-br": "GPT-4", "en": "GPT-4" } },
|
|
107
|
+
{ value: "gpt-4o", label: { "pt-br": "GPT-4o", "en": "GPT-4o" } },
|
|
108
|
+
{ value: "gpt-4.1", label: { "pt-br": "GPT-4.1", "en": "GPT-4.1" } },
|
|
109
|
+
{ value: "gpt-5", label: { "pt-br": "GPT-5", "en": "GPT-5" } },
|
|
110
|
+
{ value: "gtp-4 mini", label: { "pt-br": "GPT-4 mini", "en": "GPT-4 mini" } },
|
|
111
|
+
{ value: "gtp-4o mini", label: { "pt-br": "GPT-4o mini", "en": "GPT-4o mini" } },
|
|
112
|
+
{ value: "gpt-4.1 mini", label: { "pt-br": "GPT-4.1 mini", "en": "GPT-4.1 mini" } },
|
|
113
|
+
{ value: "gpt-5 mini", label: { "pt-br": "GPT-5 mini", "en": "GPT-5 mini" } },
|
|
114
|
+
{ value: "gemini-2.0 flash", label: { "pt-br": "Gemini 2.0 Flash", "en": "Gemini 2.0 Flash" } },
|
|
115
|
+
{ value: "gemnini-2.5 pro", label: { "pt-br": "Gemini 2.5 Pro", "en": "Gemini 2.5 Pro" } },
|
|
116
|
+
{ value: "claude-3.7 sonnet", label: { "pt-br": "Claude 3.7 Sonnet", "en": "Claude 3.7 Sonnet" } },
|
|
117
|
+
{ value: "claude-4.0 sonnet", label: { "pt-br": "Claude 4.0 Sonnet", "en": "Claude 4.0 Sonnet" } },
|
|
118
|
+
{ value: "deepseek-v3", label: { "pt-br": "DeepSeek V3", "en": "DeepSeek V3" } },
|
|
119
|
+
{ value: "deepseek-r1", label: { "pt-br": "DeepSeek R1", "en": "DeepSeek R1" } },
|
|
120
|
+
],
|
|
107
121
|
interface: {
|
|
108
122
|
component: "select",
|
|
109
123
|
label: {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { llmModels } from "../../llm/models.js";
|
|
2
|
-
|
|
3
1
|
export const properties = {
|
|
4
2
|
id: {
|
|
5
3
|
type: "number",
|
|
@@ -134,7 +132,23 @@ export const properties = {
|
|
|
134
132
|
type: "string",
|
|
135
133
|
filterable: true,
|
|
136
134
|
default: "gpt-3.5",
|
|
137
|
-
options:
|
|
135
|
+
options: [
|
|
136
|
+
{ value: "gpt-3.5", label: { "pt-br": "GPT-3.5", "en": "GPT-3.5" } },
|
|
137
|
+
{ value: "gpt-4", label: { "pt-br": "GPT-4", "en": "GPT-4" } },
|
|
138
|
+
{ value: "gpt-4o", label: { "pt-br": "GPT-4o", "en": "GPT-4o" } },
|
|
139
|
+
{ value: "gpt-4.1", label: { "pt-br": "GPT-4.1", "en": "GPT-4.1" } },
|
|
140
|
+
{ value: "gpt-5", label: { "pt-br": "GPT-5", "en": "GPT-5" } },
|
|
141
|
+
{ value: "gtp-4 mini", label: { "pt-br": "GPT-4 mini", "en": "GPT-4 mini" } },
|
|
142
|
+
{ value: "gtp-4o mini", label: { "pt-br": "GPT-4o mini", "en": "GPT-4o mini" } },
|
|
143
|
+
{ value: "gpt-4.1 mini", label: { "pt-br": "GPT-4.1 mini", "en": "GPT-4.1 mini" } },
|
|
144
|
+
{ value: "gpt-5 mini", label: { "pt-br": "GPT-5 mini", "en": "GPT-5 mini" } },
|
|
145
|
+
{ value: "gemini-2.0 flash", label: { "pt-br": "Gemini 2.0 Flash", "en": "Gemini 2.0 Flash" } },
|
|
146
|
+
{ value: "gemnini-2.5 pro", label: { "pt-br": "Gemini 2.5 Pro", "en": "Gemini 2.5 Pro" } },
|
|
147
|
+
{ value: "claude-3.7 sonnet", label: { "pt-br": "Claude 3.7 Sonnet", "en": "Claude 3.7 Sonnet" } },
|
|
148
|
+
{ value: "claude-4.0 sonnet", label: { "pt-br": "Claude 4.0 Sonnet", "en": "Claude 4.0 Sonnet" } },
|
|
149
|
+
{ value: "deepseek-v3", label: { "pt-br": "DeepSeek V3", "en": "DeepSeek V3" } },
|
|
150
|
+
{ value: "deepseek-r1", label: { "pt-br": "DeepSeek R1", "en": "DeepSeek R1" } },
|
|
151
|
+
],
|
|
138
152
|
interface: {
|
|
139
153
|
component: "select",
|
|
140
154
|
label: {
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
export const properties = {
|
|
2
|
+
id: {
|
|
3
|
+
type: "number",
|
|
4
|
+
filterable: true,
|
|
5
|
+
unique: true,
|
|
6
|
+
autoIncrement: true,
|
|
7
|
+
index: true
|
|
8
|
+
},
|
|
9
|
+
deleted: {
|
|
10
|
+
type: "boolean",
|
|
11
|
+
default: false,
|
|
12
|
+
filterable: true
|
|
13
|
+
},
|
|
14
|
+
datetime_add: {
|
|
15
|
+
type: "date",
|
|
16
|
+
filterable: true,
|
|
17
|
+
updatable: false
|
|
18
|
+
},
|
|
19
|
+
datetime_alt: {
|
|
20
|
+
type: "date",
|
|
21
|
+
filterable: true,
|
|
22
|
+
updatable: true
|
|
23
|
+
},
|
|
24
|
+
datetime_del: {
|
|
25
|
+
type: "date",
|
|
26
|
+
filterable: true
|
|
27
|
+
},
|
|
28
|
+
id_account: {
|
|
29
|
+
type: "number",
|
|
30
|
+
required: true,
|
|
31
|
+
updatable: false,
|
|
32
|
+
filterable: true,
|
|
33
|
+
reference: {
|
|
34
|
+
module: "accounts",
|
|
35
|
+
label: "name",
|
|
36
|
+
value: "id",
|
|
37
|
+
disabled: true
|
|
38
|
+
},
|
|
39
|
+
interface: {
|
|
40
|
+
label: {
|
|
41
|
+
"pt-br": "Conta",
|
|
42
|
+
"en": "Account"
|
|
43
|
+
},
|
|
44
|
+
component: "select",
|
|
45
|
+
disabled: true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
full_name: {
|
|
49
|
+
type: "string",
|
|
50
|
+
searchable: true,
|
|
51
|
+
validation: {
|
|
52
|
+
maxLength: 255
|
|
53
|
+
},
|
|
54
|
+
interface: {
|
|
55
|
+
label: {
|
|
56
|
+
"pt-br": "Nome completo",
|
|
57
|
+
"en": "Full name"
|
|
58
|
+
},
|
|
59
|
+
component: "string",
|
|
60
|
+
placeholder: {
|
|
61
|
+
"pt-br": "Nome completo do lead",
|
|
62
|
+
"en": "Full name of the lead"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
first_name: {
|
|
67
|
+
type: "string",
|
|
68
|
+
searchable: true,
|
|
69
|
+
validation: {
|
|
70
|
+
maxLength: 255
|
|
71
|
+
},
|
|
72
|
+
interface: {
|
|
73
|
+
label: {
|
|
74
|
+
"pt-br": "Primeiro nome",
|
|
75
|
+
"en": "First name"
|
|
76
|
+
},
|
|
77
|
+
component: "string",
|
|
78
|
+
placeholder: {
|
|
79
|
+
"pt-br": "Primeiro nome do lead",
|
|
80
|
+
"en": "First name of the lead"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
last_name: {
|
|
85
|
+
type: "string",
|
|
86
|
+
searchable: true,
|
|
87
|
+
validation: {
|
|
88
|
+
maxLength: 255
|
|
89
|
+
},
|
|
90
|
+
interface: {
|
|
91
|
+
label: {
|
|
92
|
+
"pt-br": "Último nome",
|
|
93
|
+
"en": "Last name"
|
|
94
|
+
},
|
|
95
|
+
component: "string",
|
|
96
|
+
placeholder: {
|
|
97
|
+
"pt-br": "Último nome do lead",
|
|
98
|
+
"en": "Last name of the lead"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
photo: {
|
|
103
|
+
type: "image",
|
|
104
|
+
file: {
|
|
105
|
+
types: [
|
|
106
|
+
"png",
|
|
107
|
+
"jpg",
|
|
108
|
+
"jpeg",
|
|
109
|
+
"gif",
|
|
110
|
+
"svg",
|
|
111
|
+
"webp"
|
|
112
|
+
],
|
|
113
|
+
storage: "gpages",
|
|
114
|
+
width: 200,
|
|
115
|
+
height: 200
|
|
116
|
+
},
|
|
117
|
+
interface: {
|
|
118
|
+
label: {
|
|
119
|
+
"pt-br": "Foto",
|
|
120
|
+
"en": "Photo"
|
|
121
|
+
},
|
|
122
|
+
component: "image",
|
|
123
|
+
list: true,
|
|
124
|
+
view: true,
|
|
125
|
+
edit: true
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
document: {
|
|
129
|
+
type: "string",
|
|
130
|
+
searchable: true,
|
|
131
|
+
validation: {
|
|
132
|
+
maxLength: 50
|
|
133
|
+
},
|
|
134
|
+
interface: {
|
|
135
|
+
label: {
|
|
136
|
+
"pt-br": "Documento",
|
|
137
|
+
"en": "Document"
|
|
138
|
+
},
|
|
139
|
+
component: "string",
|
|
140
|
+
placeholder: {
|
|
141
|
+
"pt-br": "CPF ou CNPJ do lead",
|
|
142
|
+
"en": "Lead's document"
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
birth_date: {
|
|
147
|
+
type: "date",
|
|
148
|
+
filterable: true,
|
|
149
|
+
interface: {
|
|
150
|
+
label: {
|
|
151
|
+
"pt-br": "Data de nascimento",
|
|
152
|
+
"en": "Birth date"
|
|
153
|
+
},
|
|
154
|
+
component: "date",
|
|
155
|
+
placeholder: {
|
|
156
|
+
"pt-br": "Data de nascimento do lead",
|
|
157
|
+
"en": "Lead's birth date"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
};
|