@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,11 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ product: "greatpages",
5
+ name: "templates_groups",
6
+ cache: { ttlView: 30, ttlList: 0 },
7
+ summary: "Grupos de templates do sistema",
8
+ params: [],
9
+ properties: properties,
10
+ routes: {}
11
+ };
@@ -0,0 +1,42 @@
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_add: {
14
+ type: "date",
15
+ filterable: true,
16
+ updatable: false
17
+ },
18
+ datetime_alt: {
19
+ type: "date",
20
+ filterable: true,
21
+ updatable: true
22
+ },
23
+ datetime_del: {
24
+ type: "date",
25
+ filterable: true
26
+ },
27
+ title: {
28
+ type: "string",
29
+ required: true,
30
+ searchable: true,
31
+ filterable: true,
32
+ minLength: 1,
33
+ maxLength: 255,
34
+ interface: {
35
+ label: {
36
+ "pt-br": "Título",
37
+ "en": "Title"
38
+ },
39
+ component: "input"
40
+ }
41
+ }
42
+ };
@@ -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: "views",
7
+ cache: { ttlView: 30, ttlList: 30 },
8
+ summary: "Armazena dados de visualizações de páginas",
9
+ description: "Este schema define a estrutura para armazenar visualizações de páginas, permitindo rastrear e analisar o tráfego nas páginas.",
10
+ properties: properties,
11
+ routes: routes
12
+ };
@@ -0,0 +1,44 @@
1
+ export const properties = {
2
+ id: {
3
+ type: "number",
4
+ filterable: true,
5
+ unique: true,
6
+ autoIncrement: true,
7
+ index: true
8
+ },
9
+ ip: {
10
+ required: true,
11
+ type: "string",
12
+ filterable: true
13
+ },
14
+ id_page: {
15
+ type: "number",
16
+ required: true,
17
+ filterable: true,
18
+ default: 0,
19
+ example: "123"
20
+ },
21
+ datetime_view: {
22
+ type: "date",
23
+ required: true,
24
+ filterable: true
25
+ },
26
+ deleted: {
27
+ type: "boolean",
28
+ default: false
29
+ },
30
+ datetime_alt: {
31
+ type: "date",
32
+ filterable: true,
33
+ updatable: true
34
+ },
35
+ datetime_del: {
36
+ type: "date",
37
+ filterable: true
38
+ },
39
+ datetime_add: {
40
+ type: "date",
41
+ filterable: true,
42
+ updatable: false
43
+ }
44
+ };
@@ -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,56 @@
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
+ "/views/analyticsByPage/:id_page": {
8
+ parameters: {
9
+ id_page: properties.id_page
10
+ },
11
+ get: {
12
+ summary: "Obter análises de visualizações por página",
13
+ description: "Retorna análises de visualizaçõ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
+ "/views/lastDaysByPage/:id_page": {
25
+ parameters: {
26
+ id_page: properties.id_page
27
+ },
28
+ get: {
29
+ summary: "Obter visualizações dos últimos dias por página",
30
+ description: "Retorna as visualizaçõ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
+ "/views/deleteByPage/:id_page": {
41
+ parameters: {
42
+ id_page: properties.id_page
43
+ },
44
+ get: null,
45
+ post: null,
46
+ put: null,
47
+ delete: {
48
+ summary: "Excluir visualizações por página",
49
+ description: "Exclui todas as visualizações de uma página específica",
50
+ responses: {
51
+ "200": responses.successDeleted
52
+ }
53
+ }
54
+ }
55
+
56
+ };
@@ -0,0 +1,10 @@
1
+ import { properties } from "./properties.js";
2
+
3
+ export default {
4
+ product: "greatpages",
5
+ name: "views_resume",
6
+ cache: { ttlView: 30, ttlList: 30 },
7
+ summary: "Armazena resumos diários de visualizações por página",
8
+ description: "Este schema define a estrutura para armazenar resumos diários de visualizaçõ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
+ required: true,
12
+ filterable: true,
13
+ example: "123"
14
+ },
15
+ impressions: {
16
+ type: "number",
17
+ default: 0
18
+ },
19
+ views: {
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
+ };
package/src/product.js ADDED
@@ -0,0 +1,87 @@
1
+ /* Modules */
2
+
3
+ import conversions_resume from './modules/conversions_resume/index.js';
4
+ import conversions from './modules/conversions/index.js';
5
+ import views_resume from './modules/views_resume/index.js';
6
+ import views from './modules/views/index.js';
7
+ import base_domains from './modules/base_domains/index.js';
8
+ import domains from './modules/domains/index.js';
9
+ import domains_redirects from './modules/domains_redirects/index.js';
10
+ import experiments from './modules/experiments/index.js';
11
+ import experiments_variations from './modules/experiments_variations/index.js';
12
+ import integrations_accounts from './modules/integrations_accounts/index.js';
13
+ import integrations_pages_elements from './modules/integrations_pages_elements/index.js';
14
+ import pages from './modules/pages/index.js';
15
+ import pages_blocks_folders from './modules/pages_blocks_folders/index.js';
16
+ import pages_blocks_models from './modules/pages_blocks_models/index.js';
17
+ import pages_editor_photos from './modules/pages_editor_photos/index.js';
18
+ import pages_editor_photos_folders from './modules/pages_editor_photos_folders/index.js';
19
+ import projects from './modules/projects/index.js';
20
+ import projects_domains from './modules/projects_domains/index.js';
21
+ import projects_users from './modules/projects_users/index.js';
22
+ import templates from './modules/templates/index.js';
23
+ import templates_blocks from './modules/templates_blocks/index.js';
24
+ import templates_blocks_folders from './modules/templates_blocks_folders/index.js';
25
+ import templates_categories from './modules/templates_categories/index.js';
26
+ import templates_categories_links from './modules/templates_categories_links/index.js';
27
+ import templates_groups from './modules/templates_groups/index.js';
28
+
29
+ /* Shared */
30
+
31
+ import { parameters } from "./shared/parameters.js";
32
+ import { responses } from "./shared/responses.js";
33
+
34
+ /* Product */
35
+
36
+ export default {
37
+ id: "gagents",
38
+ name: "greatagents",
39
+ brand: "GreatAgents",
40
+ domain: "greatagents.com.br",
41
+ summary: "Seu agente AI em alta performance",
42
+ description: "O criador de agentes AI mais poderoso do mercado",
43
+ routes: {
44
+ baseUrl: "/v1/:language/:id_wl/account/:id_account",
45
+ parameters: {
46
+ language: parameters.language,
47
+ id_wl: parameters.id_wl,
48
+ id_account: parameters.id_account
49
+ },
50
+ },
51
+ modules: {
52
+ conversions_resume,
53
+ conversions,
54
+ views_resume,
55
+ views,
56
+ base_domains,
57
+ domains,
58
+ domains_redirects,
59
+ experiments,
60
+ experiments_variations,
61
+ integrations_accounts,
62
+ integrations_pages_elements,
63
+ pages,
64
+ pages_blocks_folders,
65
+ pages_blocks_models,
66
+ pages_editor_photos,
67
+ pages_editor_photos_folders,
68
+ projects,
69
+ projects_domains,
70
+ projects_users,
71
+ templates,
72
+ templates_blocks,
73
+ templates_blocks_folders,
74
+ templates_categories,
75
+ templates_categories_links,
76
+ templates_groups
77
+ },
78
+ documentation: {
79
+ title: "GreatAgents API",
80
+ description: "API para o produto GreatAgents",
81
+ contact: {
82
+ name: "Suporte GreatAgents",
83
+ email: "suporte@greatsoftwares.com.br"
84
+ }
85
+ },
86
+ responses: responses
87
+ };
@@ -0,0 +1,19 @@
1
+ export const parameters = {
2
+
3
+ language: {
4
+ type: "string",
5
+ example: "pt-br",
6
+ description: "Idioma da rota"
7
+ },
8
+ id_wl: {
9
+ type: "string",
10
+ example: "1",
11
+ description: "ID do whitelabel"
12
+ },
13
+ id_account: {
14
+ type: "string",
15
+ example: "1",
16
+ description: "ID da conta"
17
+ },
18
+
19
+ };
@@ -0,0 +1,32 @@
1
+ export const query = {
2
+
3
+ date_start: {
4
+ type: "string",
5
+ example: "2024-07-01",
6
+ description: "Data inicial (formato YYYY-MM-DD)"
7
+ },
8
+ date_end: {
9
+ type: "string",
10
+ example: "2024-07-25",
11
+ description: "Data final (formato YYYY-MM-DD)"
12
+ },
13
+ sort: {
14
+ type: "string",
15
+ example: "datetime_resume:desc",
16
+ description: "Campo e direção de ordenação",
17
+ default: "datetime_conversion:desc"
18
+ },
19
+ page: {
20
+ type: "number",
21
+ example: 1,
22
+ description: "Número da página",
23
+ default: 1
24
+ },
25
+ limit: {
26
+ type: "number",
27
+ example: 100,
28
+ description: "Número máximo de registros",
29
+ default: 20
30
+ }
31
+
32
+ };
@@ -0,0 +1,124 @@
1
+ export const responses = {
2
+
3
+ "400": {
4
+ description: "Requisição inválida",
5
+ content: {
6
+ "application/json": {
7
+ type: "object",
8
+ properties: {
9
+ status: {
10
+ type: "number",
11
+ options: [ 0, 1 ],
12
+ value: 0
13
+ },
14
+ data: {
15
+ type: "array",
16
+ value: []
17
+ },
18
+ message: {
19
+ type: "string",
20
+ value: "Requisição inválida"
21
+ }
22
+ },
23
+ required: ["status", "data"]
24
+ }
25
+ }
26
+ },
27
+ "401": {
28
+ description: "Não autorizado",
29
+ content: {
30
+ "application/json": {
31
+ type: "object",
32
+ properties: {
33
+ status: {
34
+ type: "number",
35
+ options: [ 0, 1 ],
36
+ value: 0
37
+ },
38
+ data: {
39
+ type: "array",
40
+ value: []
41
+ },
42
+ message: {
43
+ type: "string",
44
+ value: "Não autorizado"
45
+ }
46
+ },
47
+ required: ["status", "data"]
48
+ }
49
+ }
50
+ },
51
+ "403": {
52
+ description: "Acesso proibido",
53
+ content: {
54
+ "application/json": {
55
+ type: "object",
56
+ properties: {
57
+ status: {
58
+ type: "number",
59
+ options: [ 0, 1 ],
60
+ value: 0
61
+ },
62
+ data: {
63
+ type: "array",
64
+ value: []
65
+ },
66
+ message: {
67
+ type: "string",
68
+ value: "Acesso proibido"
69
+ }
70
+ },
71
+ required: ["status", "data"]
72
+ }
73
+ }
74
+ },
75
+ "404": {
76
+ description: "Rota não encontrada",
77
+ content: {
78
+ "application/json": {
79
+ type: "object",
80
+ properties: {
81
+ status: {
82
+ type: "number",
83
+ options: [ 0, 1 ],
84
+ value: 0
85
+ },
86
+ data: {
87
+ type: "array",
88
+ value: []
89
+ },
90
+ message: {
91
+ type: "string",
92
+ value: "Rota não encontrada"
93
+ }
94
+ },
95
+ required: ["status", "data"]
96
+ }
97
+ }
98
+ },
99
+ "500": {
100
+ description: "Erro interno do servidor",
101
+ content: {
102
+ "application/json": {
103
+ type: "object",
104
+ properties: {
105
+ status: {
106
+ type: "number",
107
+ options: [ 0, 1 ],
108
+ value: 0
109
+ },
110
+ data: {
111
+ type: "array",
112
+ value: []
113
+ },
114
+ message: {
115
+ type: "string",
116
+ value: "Erro interno do servidor"
117
+ }
118
+ },
119
+ required: ["status", "data"]
120
+ }
121
+ }
122
+ }
123
+
124
+ };