ixc-orm 1.4.3 → 1.4.4
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/README.md +6 -1
- package/dist/IXCClient.d.ts +10 -1
- package/dist/IXCClient.js +53 -3
- package/dist/request.d.ts +8 -4
- package/dist/request.js +23 -19
- package/dist/types.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,8 +6,13 @@ Esta biblioteca não faz parte das bibliotecas oficiais da IXCsoft e foi desenvo
|
|
|
6
6
|
|
|
7
7
|
## 🚀 Novidades
|
|
8
8
|
|
|
9
|
-
### v1.4.
|
|
9
|
+
### v1.4.4 - 15 de agosto de 2025
|
|
10
|
+
* **Melhorado:** Foi adicionado um método `find()` a classe `IXCClient`, para encontrar um registro pelo seu `id` de uma forma mais simples.
|
|
11
|
+
|
|
12
|
+
### v1.4.3 - 15 de agosto de 2025
|
|
13
|
+
* **Melhorado:** Os métodos `get()`, `post()` e `put()` da classe `IXCClient`, a partir de agora sempre retornarão um objeto `IXCResponse`, indepedente da requisição falhar ou não.
|
|
10
14
|
|
|
15
|
+
### v1.4.1 - 14 de agosto de 2025
|
|
11
16
|
* **Corrigido:** Resolvido o bug de leitura das variáveis de ambiente no arquivo .env na pasta raiz.
|
|
12
17
|
* **Novo:** Foram adicionados 3 dos 44 recursos da API do IXC: `get_boleto`, `liberacao_temporaria` e `desbloqueio_confianca`. (Futuramente novos recursos serão adicionados)
|
|
13
18
|
|
package/dist/IXCClient.d.ts
CHANGED
|
@@ -27,7 +27,16 @@ export default abstract class IXCClient {
|
|
|
27
27
|
*/
|
|
28
28
|
orderBy(column: string, order: keyof typeof IXCSortOrder): IXCClient;
|
|
29
29
|
/**
|
|
30
|
-
* Envia uma
|
|
30
|
+
* Envia uma requisição GET para a API do IXC, com o header `ixcsoft` definico como `listar`\
|
|
31
|
+
* A `query` dessa requisição não será enviada para o IXC com o parâmetro `grid_param`\
|
|
32
|
+
* Ou seja, esta requisição executa uma busca simples, em vez do filtro de grid
|
|
33
|
+
*
|
|
34
|
+
* @param id O identificador numérico do registro que será buscado no IXC
|
|
35
|
+
* @returns Promise<IXCResponse>
|
|
36
|
+
*/
|
|
37
|
+
find(id: any): Promise<IXCResponse>;
|
|
38
|
+
/**
|
|
39
|
+
* Envia uma requisição GET para a API do IXC, com o header `ixcsoft` definico como `listar`
|
|
31
40
|
* Preenche o corpo da requisição com os dados passados pela função `where` no formado JSON
|
|
32
41
|
*
|
|
33
42
|
* @param pg O número da página que será solicitada ao IXC `padão = 1`
|
package/dist/IXCClient.js
CHANGED
|
@@ -76,7 +76,57 @@ class IXCClient {
|
|
|
76
76
|
return this;
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
* Envia uma
|
|
79
|
+
* Envia uma requisição GET para a API do IXC, com o header `ixcsoft` definico como `listar`\
|
|
80
|
+
* A `query` dessa requisição não será enviada para o IXC com o parâmetro `grid_param`\
|
|
81
|
+
* Ou seja, esta requisição executa uma busca simples, em vez do filtro de grid
|
|
82
|
+
*
|
|
83
|
+
* @param id O identificador numérico do registro que será buscado no IXC
|
|
84
|
+
* @returns Promise<IXCResponse>
|
|
85
|
+
*/
|
|
86
|
+
find(id) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
var _a, _b;
|
|
89
|
+
const params = {
|
|
90
|
+
TB: 'id',
|
|
91
|
+
OP: '=',
|
|
92
|
+
P: id
|
|
93
|
+
};
|
|
94
|
+
const opts = {
|
|
95
|
+
page: 1,
|
|
96
|
+
rowsPerPage: 1,
|
|
97
|
+
};
|
|
98
|
+
const axios = (0, request_1.createAxiosInstance)('GET');
|
|
99
|
+
const data = (0, request_1.createRequestPayload)(this.table, params, opts);
|
|
100
|
+
try {
|
|
101
|
+
const response = yield axios.get(this.table, { data });
|
|
102
|
+
if (response.status === 200) {
|
|
103
|
+
return response.data;
|
|
104
|
+
}
|
|
105
|
+
return (0, response_1.createResponse)({
|
|
106
|
+
error: true,
|
|
107
|
+
message: (_a = response.data) === null || _a === void 0 ? void 0 : _a.message
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error(error);
|
|
112
|
+
return (0, response_1.createResponse)({
|
|
113
|
+
error: true,
|
|
114
|
+
message: ((_b = error.response) === null || _b === void 0 ? void 0 : _b.statusText) || error.message || 'Erro desconhecido'
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
this.params = [];
|
|
119
|
+
this.options = {
|
|
120
|
+
page: 1,
|
|
121
|
+
rowsPerPage: 20,
|
|
122
|
+
sortName: 'id',
|
|
123
|
+
sortOrder: 'asc'
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Envia uma requisição GET para a API do IXC, com o header `ixcsoft` definico como `listar`
|
|
80
130
|
* Preenche o corpo da requisição com os dados passados pela função `where` no formado JSON
|
|
81
131
|
*
|
|
82
132
|
* @param pg O número da página que será solicitada ao IXC `padão = 1`
|
|
@@ -89,9 +139,9 @@ class IXCClient {
|
|
|
89
139
|
const _c = this.options, { page, rowsPerPage } = _c, rest = __rest(_c, ["page", "rowsPerPage"]);
|
|
90
140
|
const opts = Object.assign({ page: pg !== null && pg !== void 0 ? pg : page, rowsPerPage: rows !== null && rows !== void 0 ? rows : rowsPerPage }, rest);
|
|
91
141
|
const axios = (0, request_1.createAxiosInstance)('GET');
|
|
92
|
-
const
|
|
142
|
+
const data = (0, request_1.createRequestPayload)(this.table, this.params, opts);
|
|
93
143
|
try {
|
|
94
|
-
const response = yield axios.get(this.table,
|
|
144
|
+
const response = yield axios.get(this.table, { data });
|
|
95
145
|
if (response.status === 200) {
|
|
96
146
|
return response.data;
|
|
97
147
|
}
|
package/dist/request.d.ts
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { AxiosInstance
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
2
|
import { IXCOptions, IXCQuery, IXCRequest, IXCRequestMethods } from './types';
|
|
3
3
|
/**
|
|
4
|
+
* Cria uma instância de um objeto AxiosInstance, pré-configurado com os cabeçalhos necessários
|
|
5
|
+
* para executar uma requisição para a API do IXC
|
|
4
6
|
*
|
|
5
7
|
* @param method GET | POST | PUT | DELETE
|
|
6
|
-
* @returns
|
|
8
|
+
* @returns AxiosInstance
|
|
7
9
|
*/
|
|
8
10
|
export declare function createAxiosInstance(method?: keyof typeof IXCRequestMethods): AxiosInstance;
|
|
9
11
|
/**
|
|
12
|
+
* Cria um objeto `IXCRequest` configurado para ser utilizado como payload de uma requisição
|
|
13
|
+
* para a API do IXC
|
|
10
14
|
*
|
|
11
15
|
* @param table Nome da tabela do IXC onde será feita a busca, atualização, inserção ou remoção
|
|
12
16
|
* @param params Parâmetros da busca (desconsiderados quando a ação for a de inserir novos registros)
|
|
13
17
|
* @param options Parâmetros de formatação dos dados da responsta (página, ítens por página e ordenação)
|
|
14
|
-
* @returns
|
|
18
|
+
* @returns IXCRequest
|
|
15
19
|
*/
|
|
16
|
-
export declare function createRequestPayload(table: string, params: IXCQuery | IXCQuery[], options?: IXCOptions):
|
|
20
|
+
export declare function createRequestPayload(table: string, params: IXCQuery | IXCQuery[], options?: IXCOptions): IXCRequest;
|
package/dist/request.js
CHANGED
|
@@ -7,9 +7,11 @@ exports.createAxiosInstance = createAxiosInstance;
|
|
|
7
7
|
exports.createRequestPayload = createRequestPayload;
|
|
8
8
|
const axios_1 = __importDefault(require("axios"));
|
|
9
9
|
/**
|
|
10
|
+
* Cria uma instância de um objeto AxiosInstance, pré-configurado com os cabeçalhos necessários
|
|
11
|
+
* para executar uma requisição para a API do IXC
|
|
10
12
|
*
|
|
11
13
|
* @param method GET | POST | PUT | DELETE
|
|
12
|
-
* @returns
|
|
14
|
+
* @returns AxiosInstance
|
|
13
15
|
*/
|
|
14
16
|
function createAxiosInstance(method = 'GET') {
|
|
15
17
|
const host = process.env.IXC_HOST;
|
|
@@ -25,11 +27,13 @@ function createAxiosInstance(method = 'GET') {
|
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
30
|
+
* Cria um objeto `IXCRequest` configurado para ser utilizado como payload de uma requisição
|
|
31
|
+
* para a API do IXC
|
|
28
32
|
*
|
|
29
33
|
* @param table Nome da tabela do IXC onde será feita a busca, atualização, inserção ou remoção
|
|
30
34
|
* @param params Parâmetros da busca (desconsiderados quando a ação for a de inserir novos registros)
|
|
31
35
|
* @param options Parâmetros de formatação dos dados da responsta (página, ítens por página e ordenação)
|
|
32
|
-
* @returns
|
|
36
|
+
* @returns IXCRequest
|
|
33
37
|
*/
|
|
34
38
|
function createRequestPayload(table, params, options) {
|
|
35
39
|
var _a, _b, _c, _d;
|
|
@@ -46,24 +50,24 @@ function createRequestPayload(table, params, options) {
|
|
|
46
50
|
P: p.P
|
|
47
51
|
});
|
|
48
52
|
});
|
|
49
|
-
return {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
page: page,
|
|
54
|
-
rp: rowsPerPage,
|
|
55
|
-
sortname: `${table}.${sortName}`,
|
|
56
|
-
sortorder: sortOrder,
|
|
57
|
-
grid_param: JSON.stringify(grid_param)
|
|
58
|
-
} };
|
|
59
|
-
}
|
|
60
|
-
return { data: {
|
|
61
|
-
qtype: `${table}.${params.TB}`,
|
|
62
|
-
query: params.P,
|
|
63
|
-
oper: params.OP || '=',
|
|
53
|
+
return {
|
|
54
|
+
qtype: table,
|
|
55
|
+
query: '',
|
|
56
|
+
oper: '',
|
|
64
57
|
page: page,
|
|
65
58
|
rp: rowsPerPage,
|
|
66
59
|
sortname: `${table}.${sortName}`,
|
|
67
|
-
sortorder: sortOrder
|
|
68
|
-
|
|
60
|
+
sortorder: sortOrder,
|
|
61
|
+
grid_param: JSON.stringify(grid_param)
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
qtype: `${table}.${params.TB}`,
|
|
66
|
+
query: params.P,
|
|
67
|
+
oper: params.OP || '=',
|
|
68
|
+
page: page,
|
|
69
|
+
rp: rowsPerPage,
|
|
70
|
+
sortname: `${table}.${sortName}`,
|
|
71
|
+
sortorder: sortOrder
|
|
72
|
+
};
|
|
69
73
|
}
|
package/dist/types.d.ts
CHANGED