2.0.6 • Published 9 months ago

@nclabs/g5-senior-client v2.0.6

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

g5-senior-client

Biblioteca auxiliar para requisições aos webservices da Senior Sistemas (G5).

  • Facilita a indicação das cedenciais.
  • Efetua o tratamento do retorno, lançando como exceção o parâmetro de retorno 'ErroExecucao'
  • Efetuar a padronização do retorno de parâmetros do tipo tabela

Instalação

  
npm i @nclabs/g5-senior-client
  

Métodos

AssinaturaParâmetros (types)Descrição
registry(g5Registry: G5Registry)G5RegistryAtribui as credenciais e url base que serão usadas nas requisições ao G5
config(config: G5Config)G5ConfigConfigura o acesso ao G5
request(request: G5Request, credential?: G5Credential)G5Request, G5CredentialRetorna um Observable da requisição ao webservice e executa quando subscrito. Quando informadas as credenciais no método, desconsidera o registro para a requisição e utiliza as credenciais informadas.
asyncRequest(request: G5Request, credential?: G5Credential)G5Request, G5CredentialRetorna uma Promise da requisição ao webservice. Quando informadas as credenciais no método, desconsidera o registro para a requisição e utiliza as credenciais informadas.

Types

G5Credential

/**
 * Credenciais para acesso dos webservices da G5
 * 
 */
G5Credential = {
  /**
   * Usuário do G5.
   */
  username: string;
  /**
   * Senha do usuário na G5 ou token encriptado conforme Logon integrado com criptografia
   */
  password: string;
  /**
   * Tipo de encriptação da senha do usuário:
   *
   * > 0 - sem encriptação (string com a senha do usuário) (default)
   *
   * > 2 - autenticação com token com criptografia
   *
   */
  encryption?: number;
}

G5Config

G5Config = {
  /**
   *
   * URL base para as requisições (sem o nome do serviço).
   *
   * Ex.: http://servidor:1234/g5-senior-services/
   *
   * Opcionalmente o wsdl completo pode ser enviado em cada requisição.
   *
   */
   baseUrl: string;
}

G5Request

/**
 * Requisição para os webservices da G5
 * 
 */
 G5Request<DATA> = {
  /**
   * Nome do módulo do webservice G5. Não utilizado quando informado o wsdl.
   */
  module: string;
  /**
   * Nome do webservice G5. Não utilizado quando informado o wsdl.
   *
   * Pode receber o nome do serviço com "." ou "_".
   *
   * > Ex.: `com.senior.cad...`  e `com_senior_cad...` são equivalentes.
   */
  webservice: string;
  /**
   * Nome da porta do webservice no G5
   */
  port: string;
  /**
   * Parâmetros de execuçaõ do webservice.
   */
  parameters: DATA;
  /**
   * Endereço completo do wsdl do serviço, exatamente como definido na documentação do G5 Senior.
   *
   * > Quando informado, sobrepoe os demas parâmetros
   */
  wsdl?: string;
}

G5Registry

/**
 * Registro
 * 
 */
 G5Registry = {
  credential: G5Credential
  baseUrl?: string;
}

G5ClientException

/**
 * Registro
 * 
 */
 G5ClientException = {
  code: number;
  type: string;
  message: string;
  error?: string | object | unknown;
}

Detalhes

Registrar Credenciais

Registra as credenciais que serão utilizadas nas requisições.

Opcionalmente, as credenciais podem ser enviadas diretamente na requisição.

import { G5Credential, G5SeniorClient } from "g5-senior-client";

/**
 *  Credential
 */
const credential: G5Credential = {
  username: "userName",
  password: "my-pass",
  encryption: 0
}

G5SeniorClient.registry({ credential });

Config

Permite definir a URL base para as requisições.

Ex.: http://servidor:1234/g5-senior-services/

Opcionalmente o wsdl completo pode ser enviado em cada requisição no atributo wsdl, omitindo o service.

import { G5Config, G5SeniorClient } from "g5-senior-client";

/**
 * Base URL
 */
const config: G5Config = {
  baseUrl: "http://servidor:1234/g5-senior-services/"
}
G5SeniorClient.config(config);

Parâmetros da Requisição

O atributo service pode receber o nome do serviço com "." ou "_". Ex.: com.senior.cad... e com_senior_cad... são equivalentes.

Opcionalmente pode-se enviar o wsdl completo (exatamente como indicado na documentação Senior), nesse caso o atributo service é desconsiderado. Exemplo no item Requisição sem registro prévio

import { G5Request } from "g5-senior-client";

/**
 * Request Params
 */
const request: G5Request = {
  module: "rubi",
  service: "com.senior...",
  port: "Gravar...",
  parameters: {
    codEmp: "1",
    codFil: "1",
    others: "...."
  },
};

Requisição (Rxjs)

import { G5SeniorClient } from "g5-senior-client";

/**
 * Request
 */
G5SeniorClient.request(request).subscribe({
  // Handle Response
  next: (res: any) => console.log(res),
  // Handle Error
  error: (err: any) => console.log(err),
});

Requisição (Promise)

import { G5SeniorClient } from "g5-senior-client";

/**
 * Async Request
 */
G5SeniorClient.asyncRequest(request).then((res: any) => {
  // Handle Response
  console.log(res);
}).catch((err: any) => 
  // Handle Error
  console.log(err)
)

2.0.3

9 months ago

2.0.5

9 months ago

2.0.4

9 months ago

2.0.6

9 months ago

2.0.2

9 months ago

2.0.1

9 months ago

2.0.0

12 months ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.4-alpha

3 years ago

0.0.3-alpha

3 years ago

0.0.2-alpha

3 years ago

0.0.1-alpha

3 years ago

0.0.1

3 years ago