ixc-orm 1.4.3 → 1.5.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 ADDED
@@ -0,0 +1,24 @@
1
+ # 🔄 CHANGELOG
2
+ - [v1.5.0 - 16 de agosto de 2025](#v150)
3
+ - [v1.4.4 - 15 de agosto de 2025](#v144)
4
+ - [v1.4.3 - 15 de agosto de 2025](#v143)
5
+ - [v1.4.1 - 14 de agosto de 2025](#v141)
6
+
7
+ ## 🚀 Novidades
8
+
9
+ ### v1.5.0
10
+ * **Melhoria:** A chamada de recursos da API agora pode ser feita de forma mais simplificada, através da função `RecursoIXC`:
11
+ * Basta importar assim: `import { RecursoIXC } from 'ixc-orm'`;
12
+ * E chamar assim: `await RecursoIXC('get_boleto', { id_fatura: 25484 })`.
13
+
14
+ ### v1.4.4
15
+ * **Melhoria:** Foi adicionado um método `find()` a classe `IXCClient`, para encontrar um registro pelo seu `id` de uma forma mais simplificada.
16
+
17
+ ### v1.4.3
18
+ * **Melhoria:** 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.
19
+
20
+ ### v1.4.1
21
+ * **Correção:** Resolvido o bug de leitura das variáveis de ambiente no arquivo .env da pasta raiz do projeto.
22
+ * **Melhoria:** Foram adicionados 3 dos 44 recursos da API do IXC: `get_boleto`, `liberacao_temporaria` e `desbloqueio_confianca`. (Futuramente novos recursos serão adicionados)
23
+
24
+ > Consulte todos os recursos disponíveis: [Doc. API IXCSoft](https://wikiapiprovedor.ixcsoft.com.br/)
package/README.md CHANGED
@@ -1,20 +1,12 @@
1
1
  # IXC-ORM [![npm](https://img.shields.io/npm/dt/ixc-orm.svg)](https://www.npmjs.com/package/ixc-orm)
2
2
 
3
- Este ORM simples visa facilitar o consumo de dados da API oficial do IXCsoft.\
4
- Esta biblioteca não faz parte das bibliotecas oficiais da IXCsoft e foi desenvolvida de forma independente e sem fins lucrativos.
3
+ Este ORM visa facilitar o consumo de dados da API oficial do [IXC Provedor](https://ixcsoft.com/ixc-provedor).\
4
+ Esta biblioteca não faz parte das bibliotecas oficiais da [IXCsoft](https://ixcsoft.com/) e foi desenvolvida de forma independente e sem fins lucrativos.
5
5
 
6
6
 
7
- ## 🚀 Novidades
8
-
9
- ### v1.4.1 - 14 de agosto de 2025
10
-
11
- * **Corrigido:** Resolvido o bug de leitura das variáveis de ambiente no arquivo .env na pasta raiz.
12
- * **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
-
14
- > Consulte todos os recursos disponíveis: [Doc. API IXCSoft](https://wikiapiprovedor.ixcsoft.com.br/)
15
-
16
7
 
17
8
  ## Instalação
9
+
18
10
  ```bash
19
11
  npm install ixc-orm
20
12
  ```
@@ -24,15 +16,15 @@ yarn add ixc-orm
24
16
  ```
25
17
 
26
18
 
19
+
27
20
  ## Usando a biblioteca
28
21
 
29
- > As classes que representarão as tabelas dentro do banco de dados do seu servidor IXC, deverão herdar da classe `IXCClient`.
22
+ > As classes que representarão as tabelas dentro do banco de dados do seu servidor IXC, deverão herdar da classe `IXCClient`, como no exemplo a seguir:
30
23
 
31
24
  ```typescript
32
25
  import { IXCClient } 'ixc-orm';
33
26
 
34
27
  class Contrato extends IXCClient {
35
-
36
28
  constructor() {
37
29
  super('cliente_contrato');
38
30
  }
@@ -48,17 +40,49 @@ const contratos = await contrato
48
40
  .where(['id_cliente', 240])
49
41
  .where(['data_ativacao', '>=', '2024-09-24 00:45:00'])
50
42
  .orderBy('data_ativacao', 'desc')
51
- .get();
43
+ .get()
44
+ ```
45
+
46
+ Ou quando você já possui o ID do registro que procura, a opção mais simples será utilizar o método `find()`. Este método também está implementado na classe `IXCClient`
47
+
48
+ ```typescript
49
+ const contrato = new Contrato();
50
+
51
+ const id_contrato = 4574;
52
+
53
+ const contratos = await contrato.find(id_contrato)
52
54
  ```
53
55
 
54
56
 
57
+
58
+ ## Recursos da API do IXC Provedor
59
+
60
+ Existem alguns `endpoints` que a API do IXC disponibiliza, a fim de "encurtar o caminho" para chegar até algumas informações. Como por exemplo, obter o arquivo PDF de uma fatura.\
61
+ Você não precisará se preocupar em criar uma classe `Boleto` que herde da classe `IXCClient`, por exemplo,\
62
+ nem encadear chamadas `where`. Basta seguir o exemplo abaixo:
63
+
64
+ ```typescript
65
+ import { RecursoIXC } from 'ixc-orm';
66
+
67
+ const id_fatura = 45852;
68
+
69
+ const response = await RecursoIXC('get_boleto', { id_fatura })
70
+ ```
71
+
72
+ > Dos recursos disponibilizados pela API do **IXC Provedor**, esta biblioteca já implementou os seguintes recursos:\
73
+ > `get_boleto`, `desbloqueio_confianca` e `cliente_contrato_btn_lib_temp_24722`.\
74
+ > Obs: Os nomes dos recursos estão de acordo com a API do **IXC Provedor** a fim de facilitar o estudo de sua documentação oficial.
75
+
76
+
77
+
55
78
  ## Variáveis de Ambiente
56
79
 
57
80
  Para configurar a comunicação da biblioteca com seu servidor IXC, é necessário adicionar as seguintes variáveis de ambiente a um arquivo `.env`, que esteja localizado no diretório raiz do seu projeto.
58
81
 
59
- `IXC_HOST`
60
-
61
- `IXC_TOKEN`
82
+ > **IXC_HOST** A url do seu servidor IXC\
83
+ > **IXC_TOKEN** Um token de API gerado dentro do próprio **IXC Provedor**
62
84
 
63
- > **IXC_HOST** A url do seu servidor IXC, no formato: `https://seudominio.com.br/webservice/v1`\
64
- > **IXC_TOKEN** Um token de API gerado dentro do seu sistema IXCsoft.
85
+ ```ini
86
+ IXC_HOST="https://dominiodoservidorixc.com.br/webservice/v1"
87
+ IXC_TOKEN="8:k4n8wk1946j7mimthei869cq1zz2u940f2gqobqg081y2oefl80mzhtq2wud3gqp"
88
+ ```
@@ -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 solicitação GET para a API do IXC, com o header `ixcsoft` definico como `listar`
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 solicitação GET para a API do IXC, com o header `ixcsoft` definico como `listar`
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 payload = (0, request_1.createRequestPayload)(this.table, this.params, opts);
142
+ const data = (0, request_1.createRequestPayload)(this.table, this.params, opts);
93
143
  try {
94
- const response = yield axios.get(this.table, payload);
144
+ const response = yield axios.get(this.table, { data });
95
145
  if (response.status === 200) {
96
146
  return response.data;
97
147
  }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import IXCClient from './IXCClient';
2
- import recursos from './recursos';
2
+ import RecursoIXC from './recursos';
3
3
  import { IXCOperator, IXCOptions, IXCQuery, IXCRequest, IXCRequestMethods, IXCResponse, IXCSortOrder } from './types';
4
- export { IXCClient, IXCOperator, IXCOptions, IXCQuery, IXCRequest, IXCRequestMethods, IXCResponse, IXCSortOrder, recursos };
4
+ export { IXCClient, IXCOperator, IXCOptions, IXCQuery, IXCRequest, IXCRequestMethods, IXCResponse, IXCSortOrder, RecursoIXC };
package/dist/index.js CHANGED
@@ -3,20 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.recursos = exports.IXCSortOrder = exports.IXCRequestMethods = exports.IXCOperator = exports.IXCClient = void 0;
6
+ exports.RecursoIXC = exports.IXCSortOrder = exports.IXCRequestMethods = exports.IXCOperator = exports.IXCClient = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const dotenv_1 = __importDefault(require("dotenv"));
9
9
  const IXCClient_1 = __importDefault(require("./IXCClient"));
10
10
  exports.IXCClient = IXCClient_1.default;
11
11
  const recursos_1 = __importDefault(require("./recursos"));
12
- exports.recursos = recursos_1.default;
12
+ exports.RecursoIXC = recursos_1.default;
13
13
  const types_1 = require("./types");
14
14
  Object.defineProperty(exports, "IXCOperator", { enumerable: true, get: function () { return types_1.IXCOperator; } });
15
15
  Object.defineProperty(exports, "IXCRequestMethods", { enumerable: true, get: function () { return types_1.IXCRequestMethods; } });
16
16
  Object.defineProperty(exports, "IXCSortOrder", { enumerable: true, get: function () { return types_1.IXCSortOrder; } });
17
17
  const root = (__dirname.includes('\\node_modules\\'))
18
- ? path_1.default.join(__dirname, `../../../.env`)
19
- : path_1.default.join(__dirname, `../../.env`);
18
+ ? path_1.default.join(__dirname, '../../../.env')
19
+ : path_1.default.join(__dirname, '../../.env');
20
20
  const env = dotenv_1.default.config({ path: root });
21
21
  if (env.error) {
22
22
  console.error(env.error);
@@ -1,6 +1,4 @@
1
1
  import { IXCResponse } from '../types';
2
- declare function execute(id_contrato: string | number): Promise<IXCResponse>;
3
- declare const _default: {
4
- readonly execute: typeof execute;
5
- };
6
- export default _default;
2
+ export default function cliente_contrato(args: {
3
+ id_contrato?: string | number;
4
+ }): Promise<IXCResponse>;
@@ -12,14 +12,17 @@ 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 = cliente_contrato;
15
16
  const recurso_1 = __importDefault(require("./recurso"));
16
17
  const src = 'cliente_contrato_btn_lib_temp_24722';
17
- function execute(id_contrato) {
18
+ function cliente_contrato(args) {
18
19
  return __awaiter(this, void 0, void 0, function* () {
20
+ const { id_contrato } = args;
19
21
  return yield (0, recurso_1.default)({
20
22
  src,
21
- data: { id_contrato }
23
+ data: {
24
+ id_contrato
25
+ }
22
26
  });
23
27
  });
24
28
  }
25
- exports.default = { execute };
@@ -1,6 +1,4 @@
1
1
  import { IXCResponse } from '../types';
2
- declare function execute(id_contrato: string | number): Promise<IXCResponse>;
3
- declare const _default: {
4
- readonly execute: typeof execute;
5
- };
6
- export default _default;
2
+ export default function desbloqueio_confianca(args: {
3
+ id_contrato?: string | number;
4
+ }): Promise<IXCResponse>;
@@ -12,14 +12,17 @@ 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 = desbloqueio_confianca;
15
16
  const recurso_1 = __importDefault(require("./recurso"));
16
17
  const src = 'desbloqueio_confianca';
17
- function execute(id_contrato) {
18
+ function desbloqueio_confianca(args) {
18
19
  return __awaiter(this, void 0, void 0, function* () {
20
+ const { id_contrato } = args;
19
21
  return yield (0, recurso_1.default)({
20
22
  src,
21
- data: { id_contrato }
23
+ data: {
24
+ id_contrato
25
+ }
22
26
  });
23
27
  });
24
28
  }
25
- exports.default = { execute };
@@ -1,6 +1,4 @@
1
1
  import { IXCRecursoResponse, IXCResponse } from '../types';
2
- declare function execute(id_fatura: string | number): Promise<IXCResponse | IXCRecursoResponse>;
3
- declare const _default: {
4
- readonly execute: typeof execute;
5
- };
6
- export default _default;
2
+ export default function get_boleto(args: {
3
+ id_fatura?: string | number;
4
+ }): Promise<IXCResponse | IXCRecursoResponse>;
@@ -9,13 +9,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.default = get_boleto;
12
13
  const request_1 = require("../request");
13
14
  const response_1 = require("../response");
14
15
  const SRC = 'get_boleto';
15
- function execute(id_fatura) {
16
+ function get_boleto(args) {
16
17
  return __awaiter(this, void 0, void 0, function* () {
17
18
  const axios = (0, request_1.createAxiosInstance)('PUT');
18
19
  try {
20
+ const { id_fatura } = args;
19
21
  const response = yield axios.get(SRC, {
20
22
  data: {
21
23
  boletos: id_fatura,
@@ -38,4 +40,3 @@ function execute(id_fatura) {
38
40
  return (0, response_1.createResponse)({ error: true });
39
41
  });
40
42
  }
41
- exports.default = { execute };
@@ -1,12 +1,19 @@
1
- declare const _default: {
2
- readonly desbloqueio_confianca: {
3
- readonly execute: (id_contrato: string | number) => Promise<import("..").IXCResponse>;
4
- };
5
- readonly get_boleto: {
6
- readonly execute: (id_fatura: string | number) => Promise<import("..").IXCResponse | import("../types").IXCRecursoResponse>;
7
- };
8
- readonly liberacao_temporaria: {
9
- readonly execute: (id_contrato: string | number) => Promise<import("..").IXCResponse>;
10
- };
1
+ import cliente_contrato from './cliente_contrato_btn_lib_temp_24722';
2
+ import desbloqueio_confianca from './desbloqueio_confianca';
3
+ import get_boleto from './get_boleto';
4
+ declare const recursos: {
5
+ cliente_contrato: typeof cliente_contrato;
6
+ desbloqueio_confianca: typeof desbloqueio_confianca;
7
+ get_boleto: typeof get_boleto;
11
8
  };
12
- export default _default;
9
+ type Recursos = typeof recursos;
10
+ /**
11
+ * Uma função que simplifica a execução de recursos específicos da API do IXC\
12
+ * Para encontrar todos os recursos, acesse: {@link https://wikiapiprovedor.ixcsoft.com.br/}
13
+ *
14
+ * @param recurso O nome do recurso a ser executado
15
+ * @param args Os argumentos que devem ser passado para o manipulador do recurso
16
+ * @returns Promise<IXCResponse | IXCRecursoResponse>
17
+ */
18
+ export default function RecursoIXC<T extends keyof Recursos>(recurso: T, args: Parameters<Recursos[T]>[0]): Promise<import("..").IXCResponse | import("../types").IXCRecursoResponse>;
19
+ export {};
@@ -1,13 +1,37 @@
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
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
5
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.default = RecursoIXC;
6
16
  const cliente_contrato_btn_lib_temp_24722_1 = __importDefault(require("./cliente_contrato_btn_lib_temp_24722"));
7
17
  const desbloqueio_confianca_1 = __importDefault(require("./desbloqueio_confianca"));
8
18
  const get_boleto_1 = __importDefault(require("./get_boleto"));
9
- exports.default = {
19
+ const recursos = {
20
+ cliente_contrato: cliente_contrato_btn_lib_temp_24722_1.default,
10
21
  desbloqueio_confianca: desbloqueio_confianca_1.default,
11
- get_boleto: get_boleto_1.default,
12
- liberacao_temporaria: cliente_contrato_btn_lib_temp_24722_1.default,
22
+ get_boleto: get_boleto_1.default
13
23
  };
24
+ /**
25
+ * Uma função que simplifica a execução de recursos específicos da API do IXC\
26
+ * Para encontrar todos os recursos, acesse: {@link https://wikiapiprovedor.ixcsoft.com.br/}
27
+ *
28
+ * @param recurso O nome do recurso a ser executado
29
+ * @param args Os argumentos que devem ser passado para o manipulador do recurso
30
+ * @returns Promise<IXCResponse | IXCRecursoResponse>
31
+ */
32
+ function RecursoIXC(recurso, args) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const handler = recursos[recurso];
35
+ return yield handler(args);
36
+ });
37
+ }
package/dist/request.d.ts CHANGED
@@ -1,16 +1,20 @@
1
- import { AxiosInstance, AxiosRequestConfig } from 'axios';
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 A instância de um objeto do tipo AxiosInstance, pré-configurado com os cabeçalhos necessários
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): AxiosRequestConfig<IXCRequest>;
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 A instância de um objeto do tipo AxiosInstance, pré-configurado com os cabeçalhos necessários
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 { data: {
50
- qtype: table,
51
- query: '',
52
- oper: '',
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
  }
@@ -1 +1 @@
1
- {"root":["../src/ixcclient.ts","../src/index.ts","../src/request.ts","../src/response.ts","../src/types.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/recurso.ts","../src/recursos/types.ts"],"version":"5.6.2"}
1
+ {"root":["../src/ixcclient.ts","../src/index.ts","../src/request.ts","../src/response.ts","../src/types.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/recurso.ts"],"version":"5.9.2"}
package/dist/types.d.ts CHANGED
@@ -40,7 +40,7 @@ export interface IXCRequest {
40
40
  }
41
41
  export interface IXCResponse {
42
42
  error?: boolean | object;
43
- message?: string | null;
43
+ message?: string;
44
44
  id?: string | number;
45
45
  page: number | string;
46
46
  total: number;
@@ -49,6 +49,7 @@ export interface IXCResponse {
49
49
  }>;
50
50
  }
51
51
  export interface IXCRecursoResponse {
52
- error?: boolean | object;
53
52
  data: any;
53
+ error?: boolean | object;
54
+ message?: string;
54
55
  }
package/dist/types.js CHANGED
@@ -20,3 +20,8 @@ exports.IXCRequestMethods = {
20
20
  PUT: 'PUT',
21
21
  DELETE: 'DELETE'
22
22
  };
23
+ ;
24
+ ;
25
+ ;
26
+ ;
27
+ ;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ixc-orm",
3
- "version": "1.4.3",
3
+ "version": "1.5.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",
@@ -28,13 +28,13 @@
28
28
  "url": "https://github.com/SousaFelipe/ixc-orm/issues"
29
29
  },
30
30
  "dependencies": {
31
- "axios": "^1.10.0",
32
- "dotenv": "^17.1.0"
31
+ "axios": "^1.11.0",
32
+ "dotenv": "^17.2.1"
33
33
  },
34
34
  "devDependencies": {
35
- "@types/node": "^24.0.12",
35
+ "@types/node": "^24.3.0",
36
36
  "nodemon": "^3.1.10",
37
37
  "ts-node": "^10.9.2",
38
- "typescript": "^5.6.2"
38
+ "typescript": "^5.9.2"
39
39
  }
40
40
  }
@@ -1,26 +0,0 @@
1
- export interface Boleto {
2
- /**
3
- * @property id da fatura
4
- */
5
- boletos: string | number;
6
- /**
7
- * @property // 'S'->SIM e 'N'->NÃO para cálculo de júro
8
- */
9
- juro: 'S' | 'N';
10
- /**
11
- * @property // 'S'->SIM e 'N'->NÃO para cálculo de multa
12
- */
13
- multa: 'S' | 'N';
14
- /**
15
- * @property // 'S'->SIM e 'N'->NÃO para atualizar o boleto
16
- */
17
- atualiza_boleto: 'S' | 'N';
18
- /**
19
- * @property // tipo de método que será executado
20
- */
21
- tipo_boleto: 'arquivo';
22
- /**
23
- * @property // 'S'->SIM e 'N'->NÃO para retornar o boleto em base64
24
- */
25
- base64: 'S' | 'N';
26
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });