ixc-orm 1.10.4 → 1.10.5

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 CHANGED
@@ -1,4 +1,5 @@
1
1
  # 🔄 CHANGELOG
2
+ - [v1.10.5 - 20 de dezembro de 2025](#v1105)
2
3
  - [v1.10.4 - 20 de novembro de 2025](#v1104)
3
4
  - [v1.9.0 - 09 de outubro de 2025](#v190)
4
5
  - [v1.8.0 - 18 de outubro de 2025](#v180)
@@ -10,13 +11,18 @@
10
11
  - [v1.4.3 - 15 de agosto de 2025](#v143)
11
12
  - [v1.4.1 - 14 de agosto de 2025](#v141)
12
13
 
14
+
13
15
  ## 🚀 Novidades
14
16
 
17
+
18
+ ### v1.10.5
19
+ * **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.
20
+
15
21
  ### v1.10.4
16
- * **Melhoria:** O recurso `Recurso.getArquivoBoleto()`, que obtém um arquivo PDF de um boleto, passou a utilizar o 'RequestEmitter' da API para executar a requisição. A resposta desse recurso será uma Promise contendo a instância de um objeto do tipo `IxcResponse`.
22
+ * **Melhoria:** O recurso `Recurso.getArquivoBoleto()`, que obtém um arquivo PDF de um boleto, passou a utilizar o 'RequestEmitter' da API para executar a requisição. A resposta desse recurso será uma Promise contendo a instância de um objeto do tipo <a href="https://github.com/SousaFelipe/ixc-orm/blob/main/src/IxcResponse.ts">IxcResponse</a>.
17
23
 
18
24
  ### v1.9.0
19
- * **Melhoria:** Novo recurso para remoção de MAC de um PPPoE, através do recurso `radusuarios_25452`, que é disponibilizado pela própria API do IXC Provedor. Para utilizar o recurso, invocar o método assícrono `Recurso.limparMAC({ id_login: number });`. O método irá retornar a instãncia de um <a href="https://github.com/SousaFelipe/ixc-orm/blob/main/src/IxcResponse.ts">IxcResponse</a>.
25
+ * **Melhoria:** Novo recurso para remoção de MAC de um PPPoE, através do recurso `radusuarios_25452`, que é disponibilizado pela própria API do IXC Provedor. Para utilizar o recurso, invocar o método assícrono `Recurso.limparMAC({ id_login: number });`. O método irá retornar a instância de um <a href="https://github.com/SousaFelipe/ixc-orm/blob/main/src/IxcResponse.ts">IxcResponse</a>.
20
26
 
21
27
  ### v1.8.0
22
28
  * **Melhoria:** O processo de carregamento do ambiente consegue detectar se as variáveis já foram carregas por um container Docker e interrompe o carregamento através do `.env`, evitando que a aplicação encerre o processo com erro..
package/README.md CHANGED
@@ -33,7 +33,7 @@ yarn add ixc-orm
33
33
  Para configurar a comunicação da biblioteca com seu servidor IXC Provedor, é necessário adicionar as seguintes variáveis de ambiente a um arquivo `.env`, que esteja localizado no diretório raiz do seu projeto.
34
34
 
35
35
  > [!NOTE]\
36
- > Versão 1.10.4 `stable`
36
+ > Versão 1.10.5 `stable`
37
37
 
38
38
  - **IXC_ACCESS_TOKEN** Um token de API gerado dentro do IXC Provedor.
39
39
  - **IXC_SERVER_DOMAIN** O domínio do seu servidor IXC Provedor.
@@ -60,7 +60,7 @@ services:
60
60
  As classes que representarão os diferentes tipos de registros no seu **IXC Provedor**, deverão herdar da classe `IxcOrm` (nova versão), como no exemplo a seguir:
61
61
 
62
62
  > [!NOTE]\
63
- > Versão 1.10.4 `stable`
63
+ > Versão 1.10.5 `stable`
64
64
 
65
65
  ```typescript
66
66
  import { IxcOrm } from 'ixc-orm';
@@ -76,7 +76,7 @@ class Contrato extends IxcOrm {
76
76
  Após instanciar um objeto com o tipo que você criou (`Contrato, como no exemplo a cima`), você poderá acessar os métodos de construção da query de busca.
77
77
 
78
78
  > [!NOTE]\
79
- > Versão 1.10.4 `stable`
79
+ > Versão 1.10.5 `stable`
80
80
 
81
81
  ```typescript
82
82
  import { IxcResponse, Sort } from 'ixc-orm';
@@ -104,16 +104,22 @@ const id_contrato = 45852;
104
104
  const response = await Recurso.desbloqueioDeConfianca({ id_contrato });
105
105
  ```
106
106
 
107
- > Dos recursos disponibilizados pela API do **IXC Provedor**, essa biblioteca já possui as implementações de:\
108
- > `cliente_contrato_ativar_cliente`, `cliente_contrato_btn_lib_temp_24722`, `desbloqueio_confianca`, `get_boleto` e `radusuarios_25452`.\
109
- > Obs: Os nomes dos recursos estão de acordo com a API do **IXC Provedor** a fim de facilitar o estudo através da sua própria documentação oficial.
107
+
108
+ ### Recursos disponíveis:
109
+
110
+ | Recurso IXC | Método da biblioteca | Descrição
111
+ | :---------- | :--------- | :---------- |
112
+ | ativaContrato({ id_contrato }) | cliente_contrato_ativar_cliente | Ativa um contrato que esteja com o status de `pré-contrato` |
113
+ | desbloqueioDeConfianca({ id_contrato }) | desbloqueio_confianca | Solicita liberação de um cliente que já tenha sido desbloqueado |
114
+ | getArquivoBoleto({ id_fatura }) | get_boleto | Obtém uma string base64 com o conteúdo do PDF da fatura de um cliente |
115
+ | limparMAC({ id_login }) | radusuarios_25452 | Remove o endereço de MAC do login de um cliente |
116
+ | liberacaoTemporaria({ id_contrato }) | cliente_contrato_btn_lib_temp_24722 | Desbloqueia, por 72 horas, o contrato de um cliente bloqueado |
110
117
 
111
118
 
112
119
  # Contribuições
113
120
 
114
121
  Contribuições são sempre bem-vindas!\
115
122
  Se você conhece uma maneira melhor de fazer algo, por favor, me avise!
116
- Caso contrário, é sempre melhor fazer um PR na branch main.
117
123
 
118
124
  At.te,\
119
125
  <b>Felipe S. Carmo</b>.
@@ -119,13 +119,13 @@ class IxcResponse {
119
119
  }
120
120
  }
121
121
  createDataFromHtml() {
122
- const parser = new DOMParser();
123
- const document = parser.parseFromString(this.text, 'text/html');
122
+ const match = this.text.match(/>(.*?)<\/div>/);
123
+ const message = match ? match[1] : undefined;
124
124
  return {
125
125
  type: 'error',
126
126
  page: 0,
127
127
  total: 0,
128
- message: document.body.textContent
128
+ message
129
129
  };
130
130
  }
131
131
  }
@@ -1,3 +1,4 @@
1
+ import cliente_contrato_ativar_cliente from './cliente_contrato_ativar_cliente';
1
2
  import cliente_contrato_btn_lib_temp_24722 from './cliente_contrato_btn_lib_temp_24722';
2
3
  import desbloqueio_confianca from './desbloqueio_confianca';
3
4
  import get_boleto from './get_boleto';
@@ -16,6 +17,16 @@ type Recursos = typeof recursos;
16
17
  * **ATENÇÃO** --- Nem todos os recursos da API do IXC foram implementados por esta biblioteca
17
18
  */
18
19
  export declare const Recurso: {
20
+ /**
21
+ * Ativa o contrato de um cliente que esteja com o status de "pré-contrato". Este recurso não
22
+ * é capaz de ativar contratos que tenha sido desativados, ou estejam bloqueados.
23
+ *
24
+ * @description Corresponde ao recurso `cliente_contrato_ativar_cliente`
25
+ *
26
+ * @param id_contrato O ID do contrato que se deseja ativar
27
+ * @returns Um objeto **IxcResponse** contendo a resposta enviada pelo IXC
28
+ */
29
+ ativaContrato: typeof cliente_contrato_ativar_cliente;
19
30
  /**
20
31
  * Solicita ao IXC que desbloqueie o contrato de um cliente bloqueado, que já solicitou
21
32
  * a liberação temporária dentro de um período de 30 dias. Este recurso só funciona, caso
@@ -33,7 +44,7 @@ export declare const Recurso: {
33
44
  * @description Corresponde ao recurso `get_boleto`
34
45
  *
35
46
  * @param id_fatura O ID da fatura
36
- * @returns Um **IXCResponse**, caso a requisição falhe, ou um **IXCRecursoResponse**
47
+ * @returns Um **IxcResponse**, caso a requisição falhe, ou um **IXCRecursoResponse**
37
48
  * contendo o conteúdo do boleto, caso a requisição seja bem-sucedida
38
49
  */
39
50
  getArquivoBoleto: typeof get_boleto;
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Recurso = void 0;
16
16
  exports.default = RecursoIXC;
17
+ const cliente_contrato_ativar_cliente_1 = __importDefault(require("./cliente_contrato_ativar_cliente"));
17
18
  const cliente_contrato_btn_lib_temp_24722_1 = __importDefault(require("./cliente_contrato_btn_lib_temp_24722"));
18
19
  const desbloqueio_confianca_1 = __importDefault(require("./desbloqueio_confianca"));
19
20
  const get_boleto_1 = __importDefault(require("./get_boleto"));
@@ -31,6 +32,16 @@ const recursos = {
31
32
  * **ATENÇÃO** --- Nem todos os recursos da API do IXC foram implementados por esta biblioteca
32
33
  */
33
34
  exports.Recurso = {
35
+ /**
36
+ * Ativa o contrato de um cliente que esteja com o status de "pré-contrato". Este recurso não
37
+ * é capaz de ativar contratos que tenha sido desativados, ou estejam bloqueados.
38
+ *
39
+ * @description Corresponde ao recurso `cliente_contrato_ativar_cliente`
40
+ *
41
+ * @param id_contrato O ID do contrato que se deseja ativar
42
+ * @returns Um objeto **IxcResponse** contendo a resposta enviada pelo IXC
43
+ */
44
+ ativaContrato: cliente_contrato_ativar_cliente_1.default,
34
45
  /**
35
46
  * Solicita ao IXC que desbloqueie o contrato de um cliente bloqueado, que já solicitou
36
47
  * a liberação temporária dentro de um período de 30 dias. Este recurso só funciona, caso
@@ -48,7 +59,7 @@ exports.Recurso = {
48
59
  * @description Corresponde ao recurso `get_boleto`
49
60
  *
50
61
  * @param id_fatura O ID da fatura
51
- * @returns Um **IXCResponse**, caso a requisição falhe, ou um **IXCRecursoResponse**
62
+ * @returns Um **IxcResponse**, caso a requisição falhe, ou um **IXCRecursoResponse**
52
63
  * contendo o conteúdo do boleto, caso a requisição seja bem-sucedida
53
64
  */
54
65
  getArquivoBoleto: get_boleto_1.default,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ixc-orm",
3
- "version": "1.10.4",
3
+ "version": "1.10.5",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",
@@ -40,7 +40,6 @@
40
40
  "@jest/globals": "^30.2.0",
41
41
  "@testing-library/jest-dom": "^6.9.1",
42
42
  "@types/jest": "^30.0.0",
43
- "@types/jsdom": "^27.0.0",
44
43
  "@types/node": "^24.10.1",
45
44
  "babel-jest": "^30.2.0",
46
45
  "jest": "^30.2.0",