@greatapps/greatagents 0.0.1

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 (60) hide show
  1. package/docs/README.md +630 -0
  2. package/package.json +7 -0
  3. package/src/modules/base_domains/index.js +10 -0
  4. package/src/modules/base_domains/properties.js +61 -0
  5. package/src/modules/conversions/index.js +12 -0
  6. package/src/modules/conversions/properties.js +47 -0
  7. package/src/modules/conversions/responses.js +57 -0
  8. package/src/modules/conversions/routes.js +120 -0
  9. package/src/modules/conversions_resume/index.js +10 -0
  10. package/src/modules/conversions_resume/properties.js +46 -0
  11. package/src/modules/domains/index.js +10 -0
  12. package/src/modules/domains/properties.js +75 -0
  13. package/src/modules/domains_redirects/index.js +10 -0
  14. package/src/modules/domains_redirects/properties.js +64 -0
  15. package/src/modules/experiments/index.js +10 -0
  16. package/src/modules/experiments/properties.js +129 -0
  17. package/src/modules/experiments_variations/index.js +10 -0
  18. package/src/modules/experiments_variations/properties.js +193 -0
  19. package/src/modules/integrations_accounts/index.js +11 -0
  20. package/src/modules/integrations_accounts/properties.js +140 -0
  21. package/src/modules/integrations_pages_elements/index.js +12 -0
  22. package/src/modules/integrations_pages_elements/properties.js +283 -0
  23. package/src/modules/pages/index.js +10 -0
  24. package/src/modules/pages/properties.js +170 -0
  25. package/src/modules/pages_blocks_folders/index.js +10 -0
  26. package/src/modules/pages_blocks_folders/properties.js +90 -0
  27. package/src/modules/pages_blocks_models/index.js +12 -0
  28. package/src/modules/pages_blocks_models/properties.js +91 -0
  29. package/src/modules/pages_editor_photos/index.js +10 -0
  30. package/src/modules/pages_editor_photos/properties.js +138 -0
  31. package/src/modules/pages_editor_photos_folders/index.js +10 -0
  32. package/src/modules/pages_editor_photos_folders/properties.js +92 -0
  33. package/src/modules/projects/index.js +10 -0
  34. package/src/modules/projects/properties.js +120 -0
  35. package/src/modules/projects_domains/index.js +10 -0
  36. package/src/modules/projects_domains/properties.js +65 -0
  37. package/src/modules/projects_users/index.js +10 -0
  38. package/src/modules/projects_users/properties.js +66 -0
  39. package/src/modules/templates/index.js +10 -0
  40. package/src/modules/templates/properties.js +86 -0
  41. package/src/modules/templates_blocks/index.js +10 -0
  42. package/src/modules/templates_blocks/properties.js +76 -0
  43. package/src/modules/templates_blocks_folders/index.js +11 -0
  44. package/src/modules/templates_blocks_folders/properties.js +54 -0
  45. package/src/modules/templates_categories/index.js +12 -0
  46. package/src/modules/templates_categories/properties.js +100 -0
  47. package/src/modules/templates_categories_links/index.js +12 -0
  48. package/src/modules/templates_categories_links/properties.js +63 -0
  49. package/src/modules/templates_groups/index.js +11 -0
  50. package/src/modules/templates_groups/properties.js +42 -0
  51. package/src/modules/views/index.js +12 -0
  52. package/src/modules/views/properties.js +44 -0
  53. package/src/modules/views/responses.js +57 -0
  54. package/src/modules/views/routes.js +56 -0
  55. package/src/modules/views_resume/index.js +10 -0
  56. package/src/modules/views_resume/properties.js +46 -0
  57. package/src/product.js +87 -0
  58. package/src/shared/parameters.js +19 -0
  59. package/src/shared/query.js +32 -0
  60. package/src/shared/responses.js +124 -0
@@ -0,0 +1,12 @@
1
+ import { properties } from "./properties.js";
2
+ import { routes } from "./routes.js";
3
+
4
+ export default {
5
+ product: "greatpages",
6
+ name: "conversions",
7
+ cache: { ttlView: 30, ttlList: 30 },
8
+ summary: "Armazena dados de conversões de formulários das páginas",
9
+ description: "Este schema define a estrutura para armazenar conversões de formulários, permitindo rastrear e analisar submissões de formulários nas páginas.",
10
+ properties: properties,
11
+ routes: routes
12
+ };
@@ -0,0 +1,47 @@
1
+ export const properties = {
2
+ id: {
3
+ type: "number",
4
+ filterable: true,
5
+ unique: true,
6
+ autoIncrement: true,
7
+ index: true
8
+ },
9
+ id_element: {
10
+ type: "number",
11
+ filterable: true,
12
+ required: true
13
+ },
14
+ id_page: {
15
+ type: "number",
16
+ filterable: true,
17
+ required: true,
18
+ example: "123"
19
+ },
20
+ fields: {
21
+ type: "string",
22
+ required: true
23
+ },
24
+ datetime_conversion: {
25
+ type: "date",
26
+ required: true,
27
+ filterable: true
28
+ },
29
+ deleted: {
30
+ type: "boolean",
31
+ default: false
32
+ },
33
+ datetime_alt: {
34
+ type: "date",
35
+ filterable: true,
36
+ updatable: true
37
+ },
38
+ datetime_del: {
39
+ type: "date",
40
+ filterable: true
41
+ },
42
+ datetime_add: {
43
+ type: "date",
44
+ filterable: true,
45
+ updatable: false
46
+ }
47
+ };
@@ -0,0 +1,57 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export const responses = {
4
+
5
+ success: {
6
+ description: "Sucesso",
7
+ content: {
8
+ "application/json": {
9
+ type: "object",
10
+ properties: {
11
+ status: {
12
+ type: "number",
13
+ options: [ 0, 1 ],
14
+ value: 1
15
+ },
16
+ data: {
17
+ type: "array",
18
+ items: {
19
+ type: "object",
20
+ properties: properties
21
+ }
22
+ },
23
+ message: {
24
+ type: "string",
25
+ value: "Sucesso"
26
+ }
27
+ },
28
+ required: ["status", "data"]
29
+ }
30
+ }
31
+ },
32
+ successDeleted: {
33
+ description: "Deletado com sucesso",
34
+ content: {
35
+ "application/json": {
36
+ type: "object",
37
+ properties: {
38
+ status: {
39
+ type: "number",
40
+ options: [ 0, 1 ],
41
+ value: 1
42
+ },
43
+ data: {
44
+ type: "array",
45
+ value: [],
46
+ },
47
+ message: {
48
+ type: "string",
49
+ value: "Deletado com sucesso"
50
+ }
51
+ },
52
+ required: ["status", "data"]
53
+ }
54
+ }
55
+ }
56
+
57
+ };
@@ -0,0 +1,120 @@
1
+ import { properties } from "./properties.js";
2
+ import { responses } from "./responses.js";
3
+ import { query } from "../../shared/query.js";
4
+
5
+ export const routes = {
6
+
7
+ "/conversions/analyticsByPage/:id_page": {
8
+ parameters: {
9
+ id_page: properties.id_page
10
+ },
11
+ get: {
12
+ summary: "Obter análises de conversões por página",
13
+ description: "Retorna análises de conversões para uma página específica",
14
+ cache: { ttl: 30 },
15
+ query: query,
16
+ responses: {
17
+ "200": responses.success
18
+ }
19
+ },
20
+ post: null,
21
+ put: null,
22
+ delete: null
23
+ },
24
+ "/conversions/lastDaysByPage/:id_page": {
25
+ parameters: {
26
+ id_page: properties.id_page
27
+ },
28
+ get: {
29
+ summary: "Obter conversões dos últimos dias por página",
30
+ description: "Retorna as conversões dos últimos dias para uma página específica",
31
+ cache: { ttl: 30 },
32
+ responses: {
33
+ "200": responses.success
34
+ }
35
+ },
36
+ post: null,
37
+ put: null,
38
+ delete: null
39
+ },
40
+ "/conversions/exportByPage/:id_page": {
41
+ parameters: {
42
+ id_page: properties.id_page
43
+ },
44
+ get: {
45
+ summary: "Exportar conversões por página",
46
+ description: "Exporta as conversões para uma página específica",
47
+ cache: { ttl: 30 },
48
+ query: query,
49
+ responses: {
50
+ "200": responses.success
51
+ }
52
+ },
53
+ post: null,
54
+ put: null,
55
+ delete: null
56
+ },
57
+ "/conversions/listByPage/:id_page": {
58
+ parameters: {
59
+ id_page: properties.id_page
60
+ },
61
+ get: {
62
+ summary: "Listar conversões por página",
63
+ description: "Lista todas as conversões de uma página específica",
64
+ cache: { ttl: 30 },
65
+ query: query,
66
+ responses: {
67
+ "200": responses.success
68
+ }
69
+ },
70
+ post: null,
71
+ put: null,
72
+ delete: null
73
+ },
74
+ "/conversions/readByPage/:id_page": {
75
+ parameters: {
76
+ id_page: properties.id_page
77
+ },
78
+ get: null,
79
+ post: null,
80
+ put: {
81
+ summary: "Marcar conversões como lidas por página",
82
+ description: "Marca todas as conversões de uma página como lidas",
83
+ responses: {
84
+ "200": responses.success
85
+ }
86
+ },
87
+ delete: null
88
+ },
89
+ "/conversions/delete/:id": {
90
+ parameters: {
91
+ id: properties.id
92
+ },
93
+ get: null,
94
+ post: null,
95
+ put: null,
96
+ delete: {
97
+ summary: "Excluir uma conversão",
98
+ description: "Exclui uma conversão específica",
99
+ responses: {
100
+ "200": responses.successDeleted
101
+ }
102
+ }
103
+ },
104
+ "/conversions/deleteByPage/:id_page": {
105
+ parameters: {
106
+ id_page: properties.id_page
107
+ },
108
+ get: null,
109
+ post: null,
110
+ put: null,
111
+ delete: {
112
+ summary: "Excluir conversões por página",
113
+ description: "Exclui todas as conversões de uma página específica",
114
+ responses: {
115
+ "200": responses.successDeleted
116
+ }
117
+ }
118
+ }
119
+
120
+ };
@@ -0,0 +1,10 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ product: "greatpages",
5
+ name: "conversions_resume",
6
+ cache: { ttlView: 30, ttlList: 30 },
7
+ summary: "Armazena resumos diários de conversões por página",
8
+ description: "Este schema define a estrutura para armazenar resumos diários de conversões, permitindo análises estatísticas e relatórios de desempenho.",
9
+ properties: properties
10
+ };
@@ -0,0 +1,46 @@
1
+ export const properties = {
2
+ id: {
3
+ type: "number",
4
+ filterable: true,
5
+ unique: true,
6
+ autoIncrement: true,
7
+ index: true
8
+ },
9
+ id_page: {
10
+ type: "number",
11
+ filterable: true,
12
+ required: true,
13
+ example: "123"
14
+ },
15
+ conversions: {
16
+ type: "number",
17
+ default: 1
18
+ },
19
+ view: {
20
+ type: "number",
21
+ default: 0
22
+ },
23
+ datetime_resume: {
24
+ type: "date",
25
+ required: true,
26
+ filterable: true
27
+ },
28
+ deleted: {
29
+ type: "boolean",
30
+ default: false
31
+ },
32
+ datetime_alt: {
33
+ type: "date",
34
+ filterable: true,
35
+ updatable: true
36
+ },
37
+ datetime_del: {
38
+ type: "date",
39
+ filterable: true
40
+ },
41
+ datetime_add: {
42
+ type: "date",
43
+ filterable: true,
44
+ updatable: false
45
+ }
46
+ };
@@ -0,0 +1,10 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ product: "greatpages",
5
+ name: "domains",
6
+ cache: { ttlView: 30, ttlList: 0 },
7
+ params: ["id_account"],
8
+ properties: properties,
9
+ routes: {}
10
+ };
@@ -0,0 +1,75 @@
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
+ },
13
+ datetime_alt: {
14
+ type: "date",
15
+ filterable: true,
16
+ updatable: true
17
+ },
18
+ datetime_del: {
19
+ type: "date",
20
+ filterable: true
21
+ },
22
+ datetime_add: {
23
+ type: "date",
24
+ filterable: true,
25
+ updatable: false
26
+ },
27
+ "id_account": {
28
+ "type": "number",
29
+ "required": true,
30
+ "updatable": false,
31
+ "filterable": true,
32
+ "reference": {
33
+ "module": "accounts",
34
+ "label": "name",
35
+ "value": "id",
36
+ "disabled": true
37
+ },
38
+ "interface": {
39
+ "label": {
40
+ "pt-br": "Conta",
41
+ "en": "Account"
42
+ },
43
+ "component": "select",
44
+ "disabled": true
45
+ }
46
+ },
47
+ "domain": {
48
+ "type": "string",
49
+ "required": true,
50
+ "filterable": true,
51
+ "unique": true,
52
+ "searchable": true,
53
+ "interface": {
54
+ "label": {
55
+ "pt-br": "Domínio",
56
+ "en": "Domain"
57
+ },
58
+ "component": "input",
59
+ "format": "text"
60
+ }
61
+ },
62
+ "subdomain": {
63
+ "type": "string",
64
+ "filterable": true,
65
+ "searchable": true,
66
+ "interface": {
67
+ "label": {
68
+ "pt-br": "Subdomínio",
69
+ "en": "Subdomain"
70
+ },
71
+ "component": "input",
72
+ "format": "text"
73
+ }
74
+ }
75
+ };
@@ -0,0 +1,10 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ product: "greatpages",
5
+ name: "domains_redirects",
6
+ cache: { ttlView: 30, ttlList: 0 },
7
+ params: ["id_account", "id_domain"],
8
+ properties: properties,
9
+ routes: {}
10
+ };
@@ -0,0 +1,64 @@
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
+ },
13
+ datetime_alt: {
14
+ type: "date",
15
+ filterable: true,
16
+ updatable: true
17
+ },
18
+ datetime_del: {
19
+ type: "date",
20
+ filterable: true
21
+ },
22
+ datetime_add: {
23
+ type: "date",
24
+ filterable: true,
25
+ updatable: false
26
+ },
27
+ id_account: {
28
+ type: "number",
29
+ required: true,
30
+ filterable: true,
31
+ index: true
32
+ },
33
+ id_domain: {
34
+ type: "number",
35
+ required: true,
36
+ filterable: true,
37
+ index: true,
38
+ reference: {
39
+ module: "domains",
40
+ filter: { "id_account": "$id_account" },
41
+ label: "domain",
42
+ value: "id"
43
+ }
44
+ },
45
+ redirect_link: {
46
+ type: "string",
47
+ required: true,
48
+ filterable: true
49
+ },
50
+ page_link: {
51
+ type: "string",
52
+ required: true,
53
+ filterable: true
54
+ },
55
+ code: {
56
+ type: "number",
57
+ filterable: true,
58
+ default: 302,
59
+ options: [
60
+ { value: 301, label: { "pt-br": "Redirect permanente", "en": "Permanent redirect" } },
61
+ { value: 302, label: { "pt-br": "Redirect temporário", "en": "Temporary redirect" } }
62
+ ]
63
+ }
64
+ };
@@ -0,0 +1,10 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ product: "greatpages",
5
+ name: "experiments",
6
+ cache: { ttlView: 30, ttlList: 0 },
7
+ params: ["id_account"],
8
+ properties: properties,
9
+ routes: {}
10
+ };
@@ -0,0 +1,129 @@
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
+ },
13
+ datetime_alt: {
14
+ type: "date",
15
+ filterable: true,
16
+ updatable: true
17
+ },
18
+ datetime_del: {
19
+ type: "date",
20
+ filterable: true
21
+ },
22
+ datetime_add: {
23
+ type: "date",
24
+ filterable: true,
25
+ updatable: false
26
+ },
27
+ id_account: {
28
+ type: "number",
29
+ required: true,
30
+ index: true,
31
+ filterable: true
32
+ },
33
+ id_page: {
34
+ type: "number",
35
+ index: true,
36
+ filterable: true,
37
+ reference: {
38
+ name: "pages",
39
+ filter: { "id_account": "$id_account" },
40
+ label: "title",
41
+ value: "id"
42
+ },
43
+ interface: {
44
+ component: "select",
45
+ label: {
46
+ "pt-br": "Página",
47
+ "en": "Page"
48
+ },
49
+ placeholder: {
50
+ "pt-br": "Selecione uma página",
51
+ "en": "Select a page"
52
+ }
53
+ }
54
+ },
55
+ status: {
56
+ type: "number",
57
+ filterable: true,
58
+ default: 1,
59
+ options: [
60
+ { value: 0, label: { "pt-br": "Inativo", "en": "Inactive" } },
61
+ { value: 1, label: { "pt-br": "Em progresso", "en": "In Progress" } },
62
+ { value: 2, label: { "pt-br": "Finalizado", "en": "Completed" } }
63
+ ],
64
+ interface: {
65
+ component: "select",
66
+ label: {
67
+ "pt-br": "Situação",
68
+ "en": "Status"
69
+ }
70
+ }
71
+ },
72
+ title: {
73
+ type: "string",
74
+ required: true,
75
+ searchable: true,
76
+ filterable: true,
77
+ maxLength: 255,
78
+ minLength: 1,
79
+ interface: {
80
+ component: "input",
81
+ label: {
82
+ "pt-br": "Nome do experimento",
83
+ "en": "Experiment name"
84
+ },
85
+ placeholder: {
86
+ "pt-br": "Digite o nome do experimento",
87
+ "en": "Enter the experiment name"
88
+ }
89
+ }
90
+ },
91
+ description: {
92
+ type: "string",
93
+ searchable: true,
94
+ interface: {
95
+ component: "textarea",
96
+ label: {
97
+ "pt-br": "Descrição do experimento",
98
+ "en": "Description of the experiment"
99
+ },
100
+ placeholder: {
101
+ "pt-br": "Digite a descrição do experimento",
102
+ "en": "Enter the experiment description"
103
+ },
104
+ rows: 4
105
+ }
106
+ },
107
+ datetime_end: {
108
+ type: "date",
109
+ filterable: true,
110
+ interface: {
111
+ component: "datetime",
112
+ label: {
113
+ "pt-br": "Data/Hora de Finalização",
114
+ "en": "End Date/Time"
115
+ }
116
+ }
117
+ },
118
+ datetime_start: {
119
+ type: "date",
120
+ filterable: true,
121
+ interface: {
122
+ component: "datetime",
123
+ label: {
124
+ "pt-br": "Data/Hora de Início",
125
+ "en": "Start Date/Time"
126
+ }
127
+ }
128
+ }
129
+ };
@@ -0,0 +1,10 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ product: "greatpages",
5
+ name: "experiments_variations",
6
+ cache: { ttlView: 30, ttlList: 0 },
7
+ params: ["id_account", "id_experiment"],
8
+ properties: properties,
9
+ routes: {}
10
+ };