ixc-orm 1.10.5 → 2.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.
- package/CHANGELOG.md +7 -0
- package/README.md +13 -19
- package/dist/index.d.ts +2 -9
- package/dist/index.js +3 -43
- package/dist/recursos/cliente_contrato_ativar_cliente.js +3 -0
- package/dist/recursos/cliente_contrato_btn_lib_temp_24722.d.ts +3 -3
- package/dist/recursos/cliente_contrato_btn_lib_temp_24722.js +10 -8
- package/dist/recursos/desbloqueio_confianca.d.ts +2 -2
- package/dist/recursos/desbloqueio_confianca.js +8 -6
- package/dist/recursos/get_boleto.js +3 -0
- package/dist/recursos/index.d.ts +7 -26
- package/dist/recursos/index.js +1 -36
- package/dist/recursos/radusuarios_25452.js +3 -0
- package/dist/utils/FileUtils.d.ts +0 -1
- package/dist/utils/FileUtils.js +2 -5
- package/package.json +1 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/IXCClient.d.ts +0 -67
- package/dist/IXCClient.js +0 -238
- package/dist/recursos/recurso.d.ts +0 -7
- package/dist/recursos/recurso.js +0 -48
- package/dist/request.d.ts +0 -20
- package/dist/request.js +0 -73
- package/dist/response.d.ts +0 -4
- package/dist/response.js +0 -14
- package/dist/types.d.ts +0 -56
- package/dist/types.js +0 -27
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
# 🔄 CHANGELOG
|
|
2
|
+
- [v2.0.0 - 24 de dezembro de 2025](#v200)
|
|
3
|
+
- [v1.10.6 - 23 de dezembro de 2025](#v1106)
|
|
2
4
|
- [v1.10.5 - 20 de dezembro de 2025](#v1105)
|
|
3
5
|
- [v1.10.4 - 20 de novembro de 2025](#v1104)
|
|
4
6
|
- [v1.9.0 - 09 de outubro de 2025](#v190)
|
|
@@ -14,6 +16,11 @@
|
|
|
14
16
|
|
|
15
17
|
## 🚀 Novidades
|
|
16
18
|
|
|
19
|
+
### v2.0.0
|
|
20
|
+
* **Melhoria:** Adicionada verificação de erros nas respostas dos recursos. Todas as requisiões passaram a ser realizadas pela classe <a href="https://github.com/SousaFelipe/ixcorm/blob/builders/src/api/RequestEmitter.ts">RequestEmitter</a>, que utiliza a FetchAPI, por este motivo a dependência da biblioteca Axios foi removida completamente do projeto.
|
|
21
|
+
|
|
22
|
+
### v1.10.6
|
|
23
|
+
* **Correção:** Removido o bug que ocorria ao tentar utilizar o recurso `liberacaoTemporaria({ id_contrato })` sem que as antigas variáveis de ambiente estivessem definidas.
|
|
17
24
|
|
|
18
25
|
### v1.10.5
|
|
19
26
|
* **Correção:** Removida a utilização da biblioteca nativa DOMParser, que quebrava ao tentar extrair a mensagem de erro de uma resposta do IXC Provedor.
|
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
# IXC-ORM
|
|
4
4
|
|
|
5
5
|

|
|
@@ -30,13 +30,10 @@ yarn add ixc-orm
|
|
|
30
30
|
|
|
31
31
|
## Como utilizar
|
|
32
32
|
|
|
33
|
-
Para configurar a comunicação da biblioteca com seu
|
|
34
|
-
|
|
35
|
-
> [!NOTE]\
|
|
36
|
-
> Versão 1.10.5 `stable`
|
|
33
|
+
Para configurar a comunicação da biblioteca com o seu IXC Provedor, será necessário adicionar as seguintes variáveis de ambiente a um arquivo `.env`, que esteja localizado no diretório raiz do seu projeto.
|
|
37
34
|
|
|
38
35
|
- **IXC_ACCESS_TOKEN** Um token de API gerado dentro do IXC Provedor.
|
|
39
|
-
- **IXC_SERVER_DOMAIN** O domínio do seu
|
|
36
|
+
- **IXC_SERVER_DOMAIN** O domínio do seu IXC Provedor.
|
|
40
37
|
|
|
41
38
|
```ini
|
|
42
39
|
IXC_ACCESS_TOKEN=conteúdo-do-token-gerado-dentro-do-ixc
|
|
@@ -48,8 +45,10 @@ Você também poderá configurar para que o Docker carregue as variáveis, ao in
|
|
|
48
45
|
```yaml
|
|
49
46
|
services:
|
|
50
47
|
sua-aplicacao:
|
|
51
|
-
build:
|
|
52
|
-
|
|
48
|
+
build:
|
|
49
|
+
context: .
|
|
50
|
+
dockerfile: Dockerfile
|
|
51
|
+
image: sua-imagem-docker:0.0.0
|
|
53
52
|
environment:
|
|
54
53
|
- IXC_ACCESS_TOKEN=${IXC_ACCESS_TOKEN}
|
|
55
54
|
- IXC_SERVER_DOMAIN=${IXC_SERVER_DOMAIN}
|
|
@@ -57,10 +56,7 @@ services:
|
|
|
57
56
|
```
|
|
58
57
|
|
|
59
58
|
|
|
60
|
-
As classes que representarão os diferentes tipos de registros no seu **IXC Provedor**, deverão herdar da classe `IxcOrm
|
|
61
|
-
|
|
62
|
-
> [!NOTE]\
|
|
63
|
-
> Versão 1.10.5 `stable`
|
|
59
|
+
As classes que representarão os diferentes tipos de registros no seu **IXC Provedor**, deverão herdar da classe `IxcOrm`, como no exemplo a seguir:
|
|
64
60
|
|
|
65
61
|
```typescript
|
|
66
62
|
import { IxcOrm } from 'ixc-orm';
|
|
@@ -73,10 +69,7 @@ class Contrato extends IxcOrm {
|
|
|
73
69
|
```
|
|
74
70
|
|
|
75
71
|
|
|
76
|
-
Após instanciar um objeto com o tipo
|
|
77
|
-
|
|
78
|
-
> [!NOTE]\
|
|
79
|
-
> Versão 1.10.5 `stable`
|
|
72
|
+
Após instanciar um objeto com o tipo criado (**Contrato**, como no exemplo a cima), você poderá acessar os métodos de construção da query de busca, da seguinte forma:
|
|
80
73
|
|
|
81
74
|
```typescript
|
|
82
75
|
import { IxcResponse, Sort } from 'ixc-orm';
|
|
@@ -95,7 +88,7 @@ const contratos = response.registros();
|
|
|
95
88
|
|
|
96
89
|
## Recursos da API do IXC Provedor
|
|
97
90
|
|
|
98
|
-
Existem alguns `endpoints` que a API do IXC Provedor disponibiliza, a fim de "encurtar o caminho" para chegar até algumas informações. Como por exemplo, obter o arquivo PDF de uma fatura
|
|
91
|
+
Existem alguns `endpoints` que a API do IXC Provedor disponibiliza, a fim de "encurtar o caminho" para chegar até algumas informações ou executar determinadas ações. Como por exemplo, obter o arquivo PDF de uma fatura! Para isso, você não precisará se preocupar em criar uma classe `Boleto` que herde da classe `IxcOrm`, por exemplo, nem encadear chamadas de filtros. Basta fazer como no exemplo a seguir:
|
|
99
92
|
|
|
100
93
|
```typescript
|
|
101
94
|
import { Recurso } from 'ixc-orm';
|
|
@@ -107,7 +100,7 @@ const response = await Recurso.desbloqueioDeConfianca({ id_contrato });
|
|
|
107
100
|
|
|
108
101
|
### Recursos disponíveis:
|
|
109
102
|
|
|
110
|
-
|
|
|
103
|
+
| Método da biblioteca | Recurso IXC | Descrição
|
|
111
104
|
| :---------- | :--------- | :---------- |
|
|
112
105
|
| ativaContrato({ id_contrato }) | cliente_contrato_ativar_cliente | Ativa um contrato que esteja com o status de `pré-contrato` |
|
|
113
106
|
| desbloqueioDeConfianca({ id_contrato }) | desbloqueio_confianca | Solicita liberação de um cliente que já tenha sido desbloqueado |
|
|
@@ -119,7 +112,8 @@ const response = await Recurso.desbloqueioDeConfianca({ id_contrato });
|
|
|
119
112
|
# Contribuições
|
|
120
113
|
|
|
121
114
|
Contribuições são sempre bem-vindas!\
|
|
122
|
-
Se você conhece uma maneira melhor de fazer algo, por favor, me avise
|
|
115
|
+
Se você conhece uma maneira melhor de fazer algo, por favor, me avise!\
|
|
116
|
+
Ou sinta-se a vontade para criar um novo PR!
|
|
123
117
|
|
|
124
118
|
At.te,\
|
|
125
119
|
<b>Felipe S. Carmo</b>.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
import IXCClient from './IXCClient';
|
|
2
|
-
import RecursoIXC, { Recurso } from './recursos';
|
|
3
1
|
import Environment from './api/Environment';
|
|
4
2
|
import IxcOrm from './IxcOrm';
|
|
5
3
|
import IxcResponse from './IxcResponse';
|
|
6
4
|
import Operators from './api/Operators';
|
|
7
5
|
import Ordering from './api/Ordering';
|
|
6
|
+
import Recurso from './recursos';
|
|
8
7
|
import Utils from './utils';
|
|
9
|
-
|
|
10
|
-
export { IXCClient, IXCOperator, IXCOptions, IXCQuery, IXCRequest, IXCRequestMethods, IXCResponse, IXCSortOrder, Recurso, Environment, IxcOrm, IxcResponse, Operators, Ordering, Utils,
|
|
11
|
-
/**
|
|
12
|
-
* @property RecursoIXC
|
|
13
|
-
* @deprecated Acesse os recursos através da constante {@link Recurso}
|
|
14
|
-
*/
|
|
15
|
-
RecursoIXC, };
|
|
8
|
+
export { Environment, IxcOrm, IxcResponse, Operators, Ordering, Recurso, Utils };
|
package/dist/index.js
CHANGED
|
@@ -1,47 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
4
|
};
|
|
38
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
40
|
-
const IXCClient_1 = __importDefault(require("./IXCClient"));
|
|
41
|
-
exports.IXCClient = IXCClient_1.default;
|
|
42
|
-
const recursos_1 = __importStar(require("./recursos"));
|
|
43
|
-
exports.RecursoIXC = recursos_1.default;
|
|
44
|
-
Object.defineProperty(exports, "Recurso", { enumerable: true, get: function () { return recursos_1.Recurso; } });
|
|
6
|
+
exports.Utils = exports.Recurso = exports.Ordering = exports.Operators = exports.IxcResponse = exports.IxcOrm = exports.Environment = void 0;
|
|
45
7
|
const Environment_1 = __importDefault(require("./api/Environment"));
|
|
46
8
|
exports.Environment = Environment_1.default;
|
|
47
9
|
const IxcOrm_1 = __importDefault(require("./IxcOrm"));
|
|
@@ -52,10 +14,8 @@ const Operators_1 = __importDefault(require("./api/Operators"));
|
|
|
52
14
|
exports.Operators = Operators_1.default;
|
|
53
15
|
const Ordering_1 = __importDefault(require("./api/Ordering"));
|
|
54
16
|
exports.Ordering = Ordering_1.default;
|
|
17
|
+
const recursos_1 = __importDefault(require("./recursos"));
|
|
18
|
+
exports.Recurso = recursos_1.default;
|
|
55
19
|
const utils_1 = __importDefault(require("./utils"));
|
|
56
20
|
exports.Utils = utils_1.default;
|
|
57
|
-
const types_1 = require("./types");
|
|
58
|
-
Object.defineProperty(exports, "IXCOperator", { enumerable: true, get: function () { return types_1.IXCOperator; } });
|
|
59
|
-
Object.defineProperty(exports, "IXCRequestMethods", { enumerable: true, get: function () { return types_1.IXCRequestMethods; } });
|
|
60
|
-
Object.defineProperty(exports, "IXCSortOrder", { enumerable: true, get: function () { return types_1.IXCSortOrder; } });
|
|
61
21
|
Environment_1.default.loadInstance();
|
|
@@ -18,6 +18,9 @@ const src = 'cliente_contrato_ativar_cliente';
|
|
|
18
18
|
function cliente_contrato_ativar_cliente(args) {
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
const { id_contrato } = args;
|
|
21
|
+
if (!id_contrato || id_contrato === '0') {
|
|
22
|
+
throw new Error('O parâmetro "id_contrato" não pode ser null, undefined ou 0.');
|
|
23
|
+
}
|
|
21
24
|
const requestEmitter = new RequestEmitter_1.default(src);
|
|
22
25
|
requestEmitter.setupQuery({
|
|
23
26
|
qtype: 'cliente_contrato_ativar_cliente.id',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
export default function
|
|
1
|
+
import IxcResponse from '../IxcResponse';
|
|
2
|
+
export default function cliente_contrato_btn_lib_temp_24722(args: {
|
|
3
3
|
id_contrato?: string | number;
|
|
4
|
-
}): Promise<
|
|
4
|
+
}): Promise<IxcResponse>;
|
|
@@ -12,17 +12,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.default =
|
|
16
|
-
const
|
|
15
|
+
exports.default = cliente_contrato_btn_lib_temp_24722;
|
|
16
|
+
const RequestEmitter_1 = __importDefault(require("../api/RequestEmitter"));
|
|
17
17
|
const src = 'cliente_contrato_btn_lib_temp_24722';
|
|
18
|
-
function
|
|
18
|
+
function cliente_contrato_btn_lib_temp_24722(args) {
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
const { id_contrato } = args;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
if (!id_contrato || id_contrato === '0') {
|
|
22
|
+
throw new Error('O parâmetro "id_contrato" não pode ser null, undefined ou 0.');
|
|
23
|
+
}
|
|
24
|
+
const requestEmitter = new RequestEmitter_1.default(src);
|
|
25
|
+
requestEmitter.setupQuery({
|
|
26
|
+
id: id_contrato
|
|
26
27
|
});
|
|
28
|
+
return yield requestEmitter.sendRequestToResource();
|
|
27
29
|
});
|
|
28
30
|
}
|
|
@@ -13,16 +13,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.default = desbloqueio_confianca;
|
|
16
|
-
const
|
|
16
|
+
const RequestEmitter_1 = __importDefault(require("../api/RequestEmitter"));
|
|
17
17
|
const src = 'desbloqueio_confianca';
|
|
18
18
|
function desbloqueio_confianca(args) {
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
const { id_contrato } = args;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
if (!id_contrato || id_contrato === '0') {
|
|
22
|
+
throw new Error('O parâmetro "id_contrato" não pode ser null, undefined ou 0.');
|
|
23
|
+
}
|
|
24
|
+
const requestEmitter = new RequestEmitter_1.default(src);
|
|
25
|
+
requestEmitter.setupQuery({
|
|
26
|
+
id: id_contrato
|
|
26
27
|
});
|
|
28
|
+
return yield requestEmitter.sendRequestToResource();
|
|
27
29
|
});
|
|
28
30
|
}
|
|
@@ -18,6 +18,9 @@ const src = 'get_boleto';
|
|
|
18
18
|
function get_boleto(args) {
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
const { id_fatura } = args;
|
|
21
|
+
if (!id_fatura || id_fatura === '0') {
|
|
22
|
+
throw new Error('O parâmetro "id_fatura" não pode ser null, undefined ou 0.');
|
|
23
|
+
}
|
|
21
24
|
const requestEmitter = new RequestEmitter_1.default(src);
|
|
22
25
|
requestEmitter.setupQuery({
|
|
23
26
|
boletos: id_fatura,
|
package/dist/recursos/index.d.ts
CHANGED
|
@@ -3,20 +3,7 @@ import cliente_contrato_btn_lib_temp_24722 from './cliente_contrato_btn_lib_temp
|
|
|
3
3
|
import desbloqueio_confianca from './desbloqueio_confianca';
|
|
4
4
|
import get_boleto from './get_boleto';
|
|
5
5
|
import radusuarios_25452 from './radusuarios_25452';
|
|
6
|
-
|
|
7
|
-
* @deprecated Acesse os recursos através da constante {@link Recurso}
|
|
8
|
-
*/
|
|
9
|
-
declare const recursos: {
|
|
10
|
-
cliente_contrato: typeof cliente_contrato_btn_lib_temp_24722;
|
|
11
|
-
desbloqueio_confianca: typeof desbloqueio_confianca;
|
|
12
|
-
get_boleto: typeof get_boleto;
|
|
13
|
-
};
|
|
14
|
-
type Recursos = typeof recursos;
|
|
15
|
-
/**
|
|
16
|
-
* Disponibiliza, de forma simples e direta, o acesso a todos os recursos da API do IXC\
|
|
17
|
-
* **ATENÇÃO** --- Nem todos os recursos da API do IXC foram implementados por esta biblioteca
|
|
18
|
-
*/
|
|
19
|
-
export declare const Recurso: {
|
|
6
|
+
declare const _default: {
|
|
20
7
|
/**
|
|
21
8
|
* Ativa o contrato de um cliente que esteja com o status de "pré-contrato". Este recurso não
|
|
22
9
|
* é capaz de ativar contratos que tenha sido desativados, ou estejam bloqueados.
|
|
@@ -26,7 +13,7 @@ export declare const Recurso: {
|
|
|
26
13
|
* @param id_contrato O ID do contrato que se deseja ativar
|
|
27
14
|
* @returns Um objeto **IxcResponse** contendo a resposta enviada pelo IXC
|
|
28
15
|
*/
|
|
29
|
-
ativaContrato: typeof cliente_contrato_ativar_cliente;
|
|
16
|
+
readonly ativaContrato: typeof cliente_contrato_ativar_cliente;
|
|
30
17
|
/**
|
|
31
18
|
* Solicita ao IXC que desbloqueie o contrato de um cliente bloqueado, que já solicitou
|
|
32
19
|
* a liberação temporária dentro de um período de 30 dias. Este recurso só funciona, caso
|
|
@@ -37,7 +24,7 @@ export declare const Recurso: {
|
|
|
37
24
|
* @param id_contrato O ID do contrato do cliente que deverá ser desbloqueado
|
|
38
25
|
* @returns Um objeto **IXCResponse** contendo a resposta enviada pelo IXC
|
|
39
26
|
*/
|
|
40
|
-
desbloqueioDeConfianca: typeof desbloqueio_confianca;
|
|
27
|
+
readonly desbloqueioDeConfianca: typeof desbloqueio_confianca;
|
|
41
28
|
/**
|
|
42
29
|
* Obtém um arquivo PDF codificado em base64 do boleto de uma determinada fatura.
|
|
43
30
|
*
|
|
@@ -47,14 +34,14 @@ export declare const Recurso: {
|
|
|
47
34
|
* @returns Um **IxcResponse**, caso a requisição falhe, ou um **IXCRecursoResponse**
|
|
48
35
|
* contendo o conteúdo do boleto, caso a requisição seja bem-sucedida
|
|
49
36
|
*/
|
|
50
|
-
getArquivoBoleto: typeof get_boleto;
|
|
37
|
+
readonly getArquivoBoleto: typeof get_boleto;
|
|
51
38
|
/**
|
|
52
39
|
* Envia uma requisição à API do IXC Provedor, para que o endereço de MAC seja removido do cadastro de um determinado PPPoE.
|
|
53
40
|
*
|
|
54
41
|
* @param id_login O ID do PPPoE que se deseja remover o endereço de MAC.
|
|
55
42
|
* @returns A instância de um **IxcResponse**.
|
|
56
43
|
*/
|
|
57
|
-
limparMAC: typeof radusuarios_25452;
|
|
44
|
+
readonly limparMAC: typeof radusuarios_25452;
|
|
58
45
|
/**
|
|
59
46
|
* Solicita ao IXC que libere, por 72 horas, o contrato de um cliente bloqueado, que não tenha
|
|
60
47
|
* solicitado outra liberação temporária dentro de um período de 30 dias
|
|
@@ -64,12 +51,6 @@ export declare const Recurso: {
|
|
|
64
51
|
* @param id_contrato O ID do contrato do cliente que deverá ser liberado
|
|
65
52
|
* @returns Um objeto **IXCResponse** contendo a resposta enviada pelo IXC
|
|
66
53
|
*/
|
|
67
|
-
liberacaoTemporaria: typeof cliente_contrato_btn_lib_temp_24722;
|
|
54
|
+
readonly liberacaoTemporaria: typeof cliente_contrato_btn_lib_temp_24722;
|
|
68
55
|
};
|
|
69
|
-
|
|
70
|
-
* *ATENÇÃO:* Esta função desá descontinuada
|
|
71
|
-
*
|
|
72
|
-
* @deprecated Acesse os recursos através da constante {@link Recurso}
|
|
73
|
-
*/
|
|
74
|
-
export default function RecursoIXC<T extends keyof Recursos>(recurso: T, args: Parameters<Recursos[T]>[0]): Promise<import("..").IXCResponse | import("..").IxcResponse>;
|
|
75
|
-
export {};
|
|
56
|
+
export default _default;
|
package/dist/recursos/index.js
CHANGED
|
@@ -1,37 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
14
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.Recurso = void 0;
|
|
16
|
-
exports.default = RecursoIXC;
|
|
17
6
|
const cliente_contrato_ativar_cliente_1 = __importDefault(require("./cliente_contrato_ativar_cliente"));
|
|
18
7
|
const cliente_contrato_btn_lib_temp_24722_1 = __importDefault(require("./cliente_contrato_btn_lib_temp_24722"));
|
|
19
8
|
const desbloqueio_confianca_1 = __importDefault(require("./desbloqueio_confianca"));
|
|
20
9
|
const get_boleto_1 = __importDefault(require("./get_boleto"));
|
|
21
10
|
const radusuarios_25452_1 = __importDefault(require("./radusuarios_25452"));
|
|
22
|
-
|
|
23
|
-
* @deprecated Acesse os recursos através da constante {@link Recurso}
|
|
24
|
-
*/
|
|
25
|
-
const recursos = {
|
|
26
|
-
cliente_contrato: cliente_contrato_btn_lib_temp_24722_1.default,
|
|
27
|
-
desbloqueio_confianca: desbloqueio_confianca_1.default,
|
|
28
|
-
get_boleto: get_boleto_1.default
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Disponibiliza, de forma simples e direta, o acesso a todos os recursos da API do IXC\
|
|
32
|
-
* **ATENÇÃO** --- Nem todos os recursos da API do IXC foram implementados por esta biblioteca
|
|
33
|
-
*/
|
|
34
|
-
exports.Recurso = {
|
|
11
|
+
exports.default = {
|
|
35
12
|
/**
|
|
36
13
|
* Ativa o contrato de um cliente que esteja com o status de "pré-contrato". Este recurso não
|
|
37
14
|
* é capaz de ativar contratos que tenha sido desativados, ou estejam bloqueados.
|
|
@@ -81,15 +58,3 @@ exports.Recurso = {
|
|
|
81
58
|
*/
|
|
82
59
|
liberacaoTemporaria: cliente_contrato_btn_lib_temp_24722_1.default,
|
|
83
60
|
};
|
|
84
|
-
/**
|
|
85
|
-
* *ATENÇÃO:* Esta função desá descontinuada
|
|
86
|
-
*
|
|
87
|
-
* @deprecated Acesse os recursos através da constante {@link Recurso}
|
|
88
|
-
*/
|
|
89
|
-
function RecursoIXC(recurso, args) {
|
|
90
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
console.warn('Esta função será removida na próxima versão! Acesse os recursos através da constante "Recurso".');
|
|
92
|
-
const handler = recursos[recurso];
|
|
93
|
-
return yield handler(args);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
@@ -18,6 +18,9 @@ const src = 'radusuarios_25452';
|
|
|
18
18
|
function radusuarios_25452(args) {
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
const { id_login } = args;
|
|
21
|
+
if (!id_login || id_login === '0') {
|
|
22
|
+
throw new Error('O parâmetro "id_login" não pode ser null, undefined ou 0.');
|
|
23
|
+
}
|
|
21
24
|
const requestEmitter = new RequestEmitter_1.default(src);
|
|
22
25
|
requestEmitter.setupQuery({ get_id: id_login });
|
|
23
26
|
return yield requestEmitter.sendRequestToResource();
|
package/dist/utils/FileUtils.js
CHANGED
|
@@ -13,15 +13,12 @@ class FileUtils {
|
|
|
13
13
|
return filePath;
|
|
14
14
|
}
|
|
15
15
|
const parentDir = path_1.default.dirname(currentDir);
|
|
16
|
-
if ((parentDir === currentDir) || this.
|
|
17
|
-
throw new Error(`O arquivo '${fileName}' não foi encontrado`);
|
|
16
|
+
if ((parentDir === currentDir) || this.currentLoop >= FileUtils.LOOP_LIMIT) {
|
|
17
|
+
throw new Error(`IXC-ORM::ERR > O arquivo '${fileName}' não foi encontrado`);
|
|
18
18
|
}
|
|
19
19
|
this.currentLoop++;
|
|
20
20
|
return this.findFile(fileName, parentDir);
|
|
21
21
|
}
|
|
22
|
-
reachedLoopLimit() {
|
|
23
|
-
return this.currentLoop >= FileUtils.LOOP_LIMIT;
|
|
24
|
-
}
|
|
25
22
|
}
|
|
26
23
|
exports.FileUtils = FileUtils;
|
|
27
24
|
FileUtils.LOOP_LIMIT = 4;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ixc-orm",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
"url": "https://github.com/SousaFelipe/ixc-orm/issues"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"axios": "^1.13.2",
|
|
34
33
|
"dotenv": "^17.2.3"
|
|
35
34
|
},
|
|
36
35
|
"devDependencies": {
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["./src/
|
|
1
|
+
{"root":["./src/ixcorm.ts","./src/ixcresponse.ts","./src/index.ts","./src/api/environment.ts","./src/api/operators.ts","./src/api/ordering.ts","./src/api/pagination.ts","./src/api/parameter.ts","./src/api/requestemitter.ts","./src/recursos/cliente_contrato_ativar_cliente.ts","./src/recursos/cliente_contrato_btn_lib_temp_24722.ts","./src/recursos/desbloqueio_confianca.ts","./src/recursos/get_boleto.ts","./src/recursos/index.ts","./src/recursos/radusuarios_25452.ts","./src/utils/fileutils.ts","./src/utils/textutils.ts","./src/utils/index.ts"],"version":"5.9.3"}
|
package/dist/IXCClient.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { IXCOptions, IXCQuery, IXCResponse, IXCSortOrder } from './types';
|
|
2
|
-
export default abstract class IXCClient {
|
|
3
|
-
protected table: string;
|
|
4
|
-
protected params: IXCQuery[];
|
|
5
|
-
protected options: IXCOptions;
|
|
6
|
-
/**
|
|
7
|
-
* @param table O nome da tabela correspondente ao banco de dados do seu servidor IXC
|
|
8
|
-
* @see {@link https://wikiapiprovedor.ixcsoft.com.br/index.php}
|
|
9
|
-
*/
|
|
10
|
-
constructor(table: string);
|
|
11
|
-
/**
|
|
12
|
-
* Incrementa o array de parâmetros que serão trasformados no corpo de uma requisição
|
|
13
|
-
* e passados como filtro grid da API do IXC
|
|
14
|
-
*
|
|
15
|
-
* @param whereClauses Um array de strings, no formato [coluna, operador, valor]\
|
|
16
|
-
* `Obs`: se você passar um array no formato [coluna, valor] o operador será considerado como '='\
|
|
17
|
-
* Os operadores válidos são: =, !=, >, <, >=, <=, LIKE
|
|
18
|
-
* @returns A própria instância
|
|
19
|
-
*/
|
|
20
|
-
where(whereClauses: string[]): IXCClient;
|
|
21
|
-
/**
|
|
22
|
-
* Define como a API do IXC ordenará os dados retornados
|
|
23
|
-
*
|
|
24
|
-
* @param column A coluna que será usada para ordenar a busca
|
|
25
|
-
* @param order A ordem da busca ('asc'ou 'desc')
|
|
26
|
-
* @returns A própria instância
|
|
27
|
-
*/
|
|
28
|
-
orderBy(column: string, order: keyof typeof IXCSortOrder): IXCClient;
|
|
29
|
-
/**
|
|
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`
|
|
40
|
-
* Preenche o corpo da requisição com os dados passados pela função `where` no formado JSON
|
|
41
|
-
*
|
|
42
|
-
* @param pg O número da página que será solicitada ao IXC `padão = 1`
|
|
43
|
-
* @param rows A quantidade de linhas (registros) por página `padrão = 20`
|
|
44
|
-
* @returns Promise<IXCResponse>
|
|
45
|
-
*/
|
|
46
|
-
get(pg?: number, rows?: number): Promise<IXCResponse>;
|
|
47
|
-
/**
|
|
48
|
-
* Envia uma requisição do tipo `POST` para a API do IXC, com o header `ixcsoft` vazio
|
|
49
|
-
*
|
|
50
|
-
* @param body Um objeto no formado "chave: valor" contendo as informações do novo registro
|
|
51
|
-
* a ser inserido no banco de dados do seu servidor IXC
|
|
52
|
-
* @returns Promise<IXCResponse>
|
|
53
|
-
*/
|
|
54
|
-
post(body?: {
|
|
55
|
-
[key: string]: any;
|
|
56
|
-
}): Promise<IXCResponse>;
|
|
57
|
-
/**
|
|
58
|
-
* Envia uma requisição do tipo `PUT` para a API do IXC, com o header `ixcsoft` vazio
|
|
59
|
-
*
|
|
60
|
-
* @param id O id do registro que será alterado
|
|
61
|
-
* @param body Um objeto no formado "chave : valor" contendo as colunas que serão alteradas
|
|
62
|
-
* @returns Promise<IXCResponse>
|
|
63
|
-
*/
|
|
64
|
-
put(id: number, body?: {
|
|
65
|
-
[key: string]: any;
|
|
66
|
-
}): Promise<IXCResponse>;
|
|
67
|
-
}
|
package/dist/IXCClient.js
DELETED
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
-
var t = {};
|
|
13
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
-
t[p] = s[p];
|
|
15
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
-
t[p[i]] = s[p[i]];
|
|
19
|
-
}
|
|
20
|
-
return t;
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
const request_1 = require("./request");
|
|
24
|
-
const types_1 = require("./types");
|
|
25
|
-
const response_1 = require("./response");
|
|
26
|
-
class IXCClient {
|
|
27
|
-
/**
|
|
28
|
-
* @param table O nome da tabela correspondente ao banco de dados do seu servidor IXC
|
|
29
|
-
* @see {@link https://wikiapiprovedor.ixcsoft.com.br/index.php}
|
|
30
|
-
*/
|
|
31
|
-
constructor(table) {
|
|
32
|
-
this.table = table;
|
|
33
|
-
this.params = [];
|
|
34
|
-
this.options = {
|
|
35
|
-
page: 1,
|
|
36
|
-
rowsPerPage: 20,
|
|
37
|
-
sortName: 'id',
|
|
38
|
-
sortOrder: 'asc'
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Incrementa o array de parâmetros que serão trasformados no corpo de uma requisição
|
|
43
|
-
* e passados como filtro grid da API do IXC
|
|
44
|
-
*
|
|
45
|
-
* @param whereClauses Um array de strings, no formato [coluna, operador, valor]\
|
|
46
|
-
* `Obs`: se você passar um array no formato [coluna, valor] o operador será considerado como '='\
|
|
47
|
-
* Os operadores válidos são: =, !=, >, <, >=, <=, LIKE
|
|
48
|
-
* @returns A própria instância
|
|
49
|
-
*/
|
|
50
|
-
where(whereClauses) {
|
|
51
|
-
if (whereClauses.length > 3) {
|
|
52
|
-
throw new Error(`> As cláusulas não podem conter mais de 3 elementos.`);
|
|
53
|
-
}
|
|
54
|
-
const [alwaysColumn, operatorOrValue, valueOrUndefined] = whereClauses;
|
|
55
|
-
const availableOperators = Object.keys(types_1.IXCOperator);
|
|
56
|
-
if (whereClauses.length > 2 && !availableOperators.includes(operatorOrValue)) {
|
|
57
|
-
throw new Error(`> O operador ${operatorOrValue}, não faz parte dos operadores válidos: ${availableOperators}.`);
|
|
58
|
-
}
|
|
59
|
-
this.params.push({
|
|
60
|
-
TB: alwaysColumn,
|
|
61
|
-
OP: valueOrUndefined ? operatorOrValue : '=',
|
|
62
|
-
P: valueOrUndefined ? valueOrUndefined : operatorOrValue
|
|
63
|
-
});
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Define como a API do IXC ordenará os dados retornados
|
|
68
|
-
*
|
|
69
|
-
* @param column A coluna que será usada para ordenar a busca
|
|
70
|
-
* @param order A ordem da busca ('asc'ou 'desc')
|
|
71
|
-
* @returns A própria instância
|
|
72
|
-
*/
|
|
73
|
-
orderBy(column, order) {
|
|
74
|
-
this.options.sortName = column;
|
|
75
|
-
this.options.sortOrder = order;
|
|
76
|
-
return this;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
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`
|
|
130
|
-
* Preenche o corpo da requisição com os dados passados pela função `where` no formado JSON
|
|
131
|
-
*
|
|
132
|
-
* @param pg O número da página que será solicitada ao IXC `padão = 1`
|
|
133
|
-
* @param rows A quantidade de linhas (registros) por página `padrão = 20`
|
|
134
|
-
* @returns Promise<IXCResponse>
|
|
135
|
-
*/
|
|
136
|
-
get(pg, rows) {
|
|
137
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
-
var _a, _b;
|
|
139
|
-
const _c = this.options, { page, rowsPerPage } = _c, rest = __rest(_c, ["page", "rowsPerPage"]);
|
|
140
|
-
const opts = Object.assign({ page: pg !== null && pg !== void 0 ? pg : page, rowsPerPage: rows !== null && rows !== void 0 ? rows : rowsPerPage }, rest);
|
|
141
|
-
const axios = (0, request_1.createAxiosInstance)('GET');
|
|
142
|
-
const data = (0, request_1.createRequestPayload)(this.table, this.params, opts);
|
|
143
|
-
try {
|
|
144
|
-
const response = yield axios.get(this.table, { data });
|
|
145
|
-
if (response.status === 200) {
|
|
146
|
-
return response.data;
|
|
147
|
-
}
|
|
148
|
-
return (0, response_1.createResponse)({
|
|
149
|
-
error: true,
|
|
150
|
-
message: (_a = response.data) === null || _a === void 0 ? void 0 : _a.message
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
console.error(error);
|
|
155
|
-
return (0, response_1.createResponse)({
|
|
156
|
-
error: true,
|
|
157
|
-
message: ((_b = error.response) === null || _b === void 0 ? void 0 : _b.statusText) || error.message || 'Erro desconhecido'
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
finally {
|
|
161
|
-
this.params = [];
|
|
162
|
-
this.options = {
|
|
163
|
-
page: 1,
|
|
164
|
-
rowsPerPage: 20,
|
|
165
|
-
sortName: 'id',
|
|
166
|
-
sortOrder: 'asc'
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Envia uma requisição do tipo `POST` para a API do IXC, com o header `ixcsoft` vazio
|
|
173
|
-
*
|
|
174
|
-
* @param body Um objeto no formado "chave: valor" contendo as informações do novo registro
|
|
175
|
-
* a ser inserido no banco de dados do seu servidor IXC
|
|
176
|
-
* @returns Promise<IXCResponse>
|
|
177
|
-
*/
|
|
178
|
-
post(body) {
|
|
179
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
180
|
-
var _a, _b;
|
|
181
|
-
const axios = (0, request_1.createAxiosInstance)('POST');
|
|
182
|
-
try {
|
|
183
|
-
const response = yield axios.post(this.table, { data: body });
|
|
184
|
-
if (response.status === 200) {
|
|
185
|
-
return response.data;
|
|
186
|
-
}
|
|
187
|
-
return (0, response_1.createResponse)({
|
|
188
|
-
error: true,
|
|
189
|
-
message: (_a = response.data) === null || _a === void 0 ? void 0 : _a.message
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
catch (error) {
|
|
193
|
-
console.error(error);
|
|
194
|
-
return (0, response_1.createResponse)({
|
|
195
|
-
error: true,
|
|
196
|
-
message: ((_b = error.response) === null || _b === void 0 ? void 0 : _b.statusText) || error.message || 'Erro desconhecido'
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
finally {
|
|
200
|
-
this.params = [];
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Envia uma requisição do tipo `PUT` para a API do IXC, com o header `ixcsoft` vazio
|
|
206
|
-
*
|
|
207
|
-
* @param id O id do registro que será alterado
|
|
208
|
-
* @param body Um objeto no formado "chave : valor" contendo as colunas que serão alteradas
|
|
209
|
-
* @returns Promise<IXCResponse>
|
|
210
|
-
*/
|
|
211
|
-
put(id, body) {
|
|
212
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
213
|
-
var _a, _b;
|
|
214
|
-
const axios = (0, request_1.createAxiosInstance)('PUT');
|
|
215
|
-
try {
|
|
216
|
-
const response = yield axios.put(`${this.table}/${id}`, { data: body });
|
|
217
|
-
if (response.status === 200) {
|
|
218
|
-
return response.data;
|
|
219
|
-
}
|
|
220
|
-
return (0, response_1.createResponse)({
|
|
221
|
-
error: true,
|
|
222
|
-
message: (_a = response.data) === null || _a === void 0 ? void 0 : _a.message
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
catch (error) {
|
|
226
|
-
console.error(error);
|
|
227
|
-
return (0, response_1.createResponse)({
|
|
228
|
-
error: true,
|
|
229
|
-
message: ((_b = error.response) === null || _b === void 0 ? void 0 : _b.statusText) || error.message || 'Erro desconhecido'
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
finally {
|
|
233
|
-
this.params = [];
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
exports.default = IXCClient;
|
package/dist/recursos/recurso.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
12
|
-
var t = {};
|
|
13
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
14
|
-
t[p] = s[p];
|
|
15
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
16
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
18
|
-
t[p[i]] = s[p[i]];
|
|
19
|
-
}
|
|
20
|
-
return t;
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.default = recurso;
|
|
24
|
-
const request_1 = require("../request");
|
|
25
|
-
const response_1 = require("../response");
|
|
26
|
-
function recurso(_a) {
|
|
27
|
-
return __awaiter(this, arguments, void 0, function* ({ src, data }) {
|
|
28
|
-
const axios = (0, request_1.createAxiosInstance)('PUT');
|
|
29
|
-
try {
|
|
30
|
-
const response = yield axios.get(src, { data });
|
|
31
|
-
if (response.status === 200) {
|
|
32
|
-
const { data } = response;
|
|
33
|
-
const { message, mensagem } = data, rest = __rest(data, ["message", "mensagem"]);
|
|
34
|
-
if (rest.type === 'success' || rest.tipo === 'sucesso') {
|
|
35
|
-
return (0, response_1.createResponse)(Object.assign(Object.assign({}, rest), { message: message || mensagem }));
|
|
36
|
-
}
|
|
37
|
-
return (0, response_1.createResponse)({
|
|
38
|
-
error: true,
|
|
39
|
-
message: message || mensagem
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
console.error(`Erro ao executar recurso: ${src}\n`, error);
|
|
45
|
-
}
|
|
46
|
-
return (0, response_1.createResponse)({ error: true });
|
|
47
|
-
});
|
|
48
|
-
}
|
package/dist/request.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { AxiosInstance } from 'axios';
|
|
2
|
-
import { IXCOptions, IXCQuery, IXCRequest, IXCRequestMethods } from './types';
|
|
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
|
|
6
|
-
*
|
|
7
|
-
* @param method GET | POST | PUT | DELETE
|
|
8
|
-
* @returns AxiosInstance
|
|
9
|
-
*/
|
|
10
|
-
export declare function createAxiosInstance(method?: keyof typeof IXCRequestMethods): AxiosInstance;
|
|
11
|
-
/**
|
|
12
|
-
* Cria um objeto `IXCRequest` configurado para ser utilizado como payload de uma requisição
|
|
13
|
-
* para a API do IXC
|
|
14
|
-
*
|
|
15
|
-
* @param table Nome da tabela do IXC onde será feita a busca, atualização, inserção ou remoção
|
|
16
|
-
* @param params Parâmetros da busca (desconsiderados quando a ação for a de inserir novos registros)
|
|
17
|
-
* @param options Parâmetros de formatação dos dados da responsta (página, ítens por página e ordenação)
|
|
18
|
-
* @returns IXCRequest
|
|
19
|
-
*/
|
|
20
|
-
export declare function createRequestPayload(table: string, params: IXCQuery | IXCQuery[], options?: IXCOptions): IXCRequest;
|
package/dist/request.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createAxiosInstance = createAxiosInstance;
|
|
7
|
-
exports.createRequestPayload = createRequestPayload;
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
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
|
|
12
|
-
*
|
|
13
|
-
* @param method GET | POST | PUT | DELETE
|
|
14
|
-
* @returns AxiosInstance
|
|
15
|
-
*/
|
|
16
|
-
function createAxiosInstance(method = 'GET') {
|
|
17
|
-
const host = process.env.IXC_HOST;
|
|
18
|
-
const token = process.env.IXC_TOKEN;
|
|
19
|
-
return axios_1.default.create({
|
|
20
|
-
method: method,
|
|
21
|
-
baseURL: host !== null && host !== void 0 ? host : 'http://127.0.0.1/webservice/v1',
|
|
22
|
-
headers: {
|
|
23
|
-
'ixcsoft': (method === 'GET') ? 'listar' : '',
|
|
24
|
-
'Content-Type': 'application/json',
|
|
25
|
-
'Authorization': `Basic ${Buffer.from(token !== null && token !== void 0 ? token : '').toString('base64')}`
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Cria um objeto `IXCRequest` configurado para ser utilizado como payload de uma requisição
|
|
31
|
-
* para a API do IXC
|
|
32
|
-
*
|
|
33
|
-
* @param table Nome da tabela do IXC onde será feita a busca, atualização, inserção ou remoção
|
|
34
|
-
* @param params Parâmetros da busca (desconsiderados quando a ação for a de inserir novos registros)
|
|
35
|
-
* @param options Parâmetros de formatação dos dados da responsta (página, ítens por página e ordenação)
|
|
36
|
-
* @returns IXCRequest
|
|
37
|
-
*/
|
|
38
|
-
function createRequestPayload(table, params, options) {
|
|
39
|
-
var _a, _b, _c, _d;
|
|
40
|
-
const page = (_a = options === null || options === void 0 ? void 0 : options.page) !== null && _a !== void 0 ? _a : 1;
|
|
41
|
-
const rowsPerPage = (_b = options === null || options === void 0 ? void 0 : options.rowsPerPage) !== null && _b !== void 0 ? _b : 20;
|
|
42
|
-
const sortName = (_c = options === null || options === void 0 ? void 0 : options.sortName) !== null && _c !== void 0 ? _c : 'id';
|
|
43
|
-
const sortOrder = (_d = options === null || options === void 0 ? void 0 : options.sortOrder) !== null && _d !== void 0 ? _d : 'asc';
|
|
44
|
-
if (Array.isArray(params)) {
|
|
45
|
-
let grid_param = [];
|
|
46
|
-
params.forEach(p => {
|
|
47
|
-
grid_param.push({
|
|
48
|
-
TB: `${table}.${p.TB}`,
|
|
49
|
-
OP: p.OP || '=',
|
|
50
|
-
P: p.P
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
return {
|
|
54
|
-
qtype: table,
|
|
55
|
-
query: '',
|
|
56
|
-
oper: '',
|
|
57
|
-
page: page,
|
|
58
|
-
rp: rowsPerPage,
|
|
59
|
-
sortname: `${table}.${sortName}`,
|
|
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
|
-
};
|
|
73
|
-
}
|
package/dist/response.d.ts
DELETED
package/dist/response.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createResponse = createResponse;
|
|
4
|
-
function createResponse(data) {
|
|
5
|
-
var _a, _b, _c, _d;
|
|
6
|
-
return {
|
|
7
|
-
error: data.error || false,
|
|
8
|
-
message: data.message || '',
|
|
9
|
-
id: (_a = data.id) !== null && _a !== void 0 ? _a : 0,
|
|
10
|
-
page: (_b = data.page) !== null && _b !== void 0 ? _b : 0,
|
|
11
|
-
total: (_c = data.total) !== null && _c !== void 0 ? _c : 0,
|
|
12
|
-
registros: (_d = data.registros) !== null && _d !== void 0 ? _d : []
|
|
13
|
-
};
|
|
14
|
-
}
|
package/dist/types.d.ts
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export declare const IXCOperator: {
|
|
2
|
-
'=': string;
|
|
3
|
-
'>': string;
|
|
4
|
-
'<': string;
|
|
5
|
-
'>=': string;
|
|
6
|
-
'<=': string;
|
|
7
|
-
'!=': string;
|
|
8
|
-
LIKE: string;
|
|
9
|
-
};
|
|
10
|
-
export declare const IXCSortOrder: {
|
|
11
|
-
asc: string;
|
|
12
|
-
desc: string;
|
|
13
|
-
};
|
|
14
|
-
export declare const IXCRequestMethods: {
|
|
15
|
-
GET: string;
|
|
16
|
-
POST: string;
|
|
17
|
-
PUT: string;
|
|
18
|
-
DELETE: string;
|
|
19
|
-
};
|
|
20
|
-
export interface IXCOptions {
|
|
21
|
-
page: number;
|
|
22
|
-
rowsPerPage?: number;
|
|
23
|
-
sortName?: string;
|
|
24
|
-
sortOrder?: keyof typeof IXCSortOrder;
|
|
25
|
-
}
|
|
26
|
-
export interface IXCQuery {
|
|
27
|
-
TB: string;
|
|
28
|
-
OP?: string;
|
|
29
|
-
P: string;
|
|
30
|
-
}
|
|
31
|
-
export interface IXCRequest {
|
|
32
|
-
qtype: string;
|
|
33
|
-
query: string;
|
|
34
|
-
oper: string;
|
|
35
|
-
page: number;
|
|
36
|
-
rp: number;
|
|
37
|
-
sortname: string;
|
|
38
|
-
sortorder: string;
|
|
39
|
-
grid_param?: string;
|
|
40
|
-
}
|
|
41
|
-
export interface IXCResponse {
|
|
42
|
-
error?: boolean | object;
|
|
43
|
-
type?: string;
|
|
44
|
-
message?: string;
|
|
45
|
-
id?: string | number;
|
|
46
|
-
page: number | string;
|
|
47
|
-
total: number;
|
|
48
|
-
registros: Array<{
|
|
49
|
-
[key: string]: any;
|
|
50
|
-
}>;
|
|
51
|
-
}
|
|
52
|
-
export interface IXCRecursoResponse {
|
|
53
|
-
data: any;
|
|
54
|
-
error?: boolean | object;
|
|
55
|
-
message?: string;
|
|
56
|
-
}
|
package/dist/types.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IXCRequestMethods = exports.IXCSortOrder = exports.IXCOperator = void 0;
|
|
4
|
-
exports.IXCOperator = {
|
|
5
|
-
'=': '=',
|
|
6
|
-
'>': '>',
|
|
7
|
-
'<': '<',
|
|
8
|
-
'>=': '>=',
|
|
9
|
-
'<=': '<=',
|
|
10
|
-
'!=': '!=',
|
|
11
|
-
'LIKE': 'L'
|
|
12
|
-
};
|
|
13
|
-
exports.IXCSortOrder = {
|
|
14
|
-
asc: 'asc',
|
|
15
|
-
desc: 'desc'
|
|
16
|
-
};
|
|
17
|
-
exports.IXCRequestMethods = {
|
|
18
|
-
GET: 'GET',
|
|
19
|
-
POST: 'POST',
|
|
20
|
-
PUT: 'PUT',
|
|
21
|
-
DELETE: 'DELETE'
|
|
22
|
-
};
|
|
23
|
-
;
|
|
24
|
-
;
|
|
25
|
-
;
|
|
26
|
-
;
|
|
27
|
-
;
|