feat(sdk): add typescript types actionable errors and mock server tests
This commit is contained in:
+72
-6
@@ -12,9 +12,19 @@ export class CyberCoreError extends Error {
|
||||
}
|
||||
|
||||
export class AgentNotRunningError extends CyberCoreError {
|
||||
constructor(message = 'O agente desktop CyberCore Signer não está em execução ou não foi detectado em 127.0.0.1:21325.') {
|
||||
constructor(
|
||||
message = 'O agente desktop CyberCore Signer não está em execução ou não foi detectado em 127.0.0.1:21325. Certifique-se de que o aplicativo está instalado e aberto na bandeja do sistema (system tray).',
|
||||
options = {}
|
||||
) {
|
||||
super(message, 'AGENT_NOT_RUNNING');
|
||||
this.name = 'AgentNotRunningError';
|
||||
this.host = options.host || '127.0.0.1';
|
||||
this.port = options.port || 21325;
|
||||
this.actionableGuidance = [
|
||||
'1. Verifique se o ícone do CyberCore Signer está ativo na barra de tarefas / bandeja do sistema.',
|
||||
'2. Se o aplicativo ainda não estiver instalado, baixe e execute o instalador oficial do CyberCore Signer.',
|
||||
'3. Certifique-se de que a porta local 21325 não está bloqueada por firewall ou softwares antivírus.'
|
||||
].join('\n');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,21 +36,42 @@ export class ApplicationNotAuthorizedError extends CyberCoreError {
|
||||
}
|
||||
|
||||
export class UserCancelledError extends CyberCoreError {
|
||||
constructor(message = 'A operação de assinatura foi cancelada pelo usuário.') {
|
||||
constructor(message = 'A operação de assinatura foi cancelada pelo usuário no diálogo nativo.') {
|
||||
super(message, 'USER_CANCELLED');
|
||||
this.name = 'UserCancelledError';
|
||||
}
|
||||
}
|
||||
|
||||
export class CertificateNotFoundError extends CyberCoreError {
|
||||
constructor(message = 'Certificado digital não encontrado ou não selecionado.') {
|
||||
constructor(message = 'Certificado digital não encontrado ou não selecionado no agente.') {
|
||||
super(message, 'CERTIFICATE_NOT_FOUND');
|
||||
this.name = 'CertificateNotFoundError';
|
||||
}
|
||||
}
|
||||
|
||||
export class CertificateExpiredError extends CyberCoreError {
|
||||
constructor(message = 'O certificado digital selecionado expirou e não pode ser utilizado para assinatura.') {
|
||||
super(message, 'CERTIFICATE_EXPIRED');
|
||||
this.name = 'CertificateExpiredError';
|
||||
}
|
||||
}
|
||||
|
||||
export class CertificateInvalidError extends CyberCoreError {
|
||||
constructor(message = 'O certificado digital é inválido, foi revogado ou possui estrutura X.509 corrompida.') {
|
||||
super(message, 'CERTIFICATE_INVALID');
|
||||
this.name = 'CertificateInvalidError';
|
||||
}
|
||||
}
|
||||
|
||||
export class PrivateKeyNotAvailableError extends CyberCoreError {
|
||||
constructor(message = 'A chave privada do certificado não está acessível no computador ou o dispositivo físico está ausente.') {
|
||||
super(message, 'PRIVATE_KEY_NOT_AVAILABLE');
|
||||
this.name = 'PrivateKeyNotAvailableError';
|
||||
}
|
||||
}
|
||||
|
||||
export class PinRequiredError extends CyberCoreError {
|
||||
constructor(message = 'PIN do token ou smart card A3 é obrigatório.') {
|
||||
constructor(message = 'O PIN do token USB ou smart card A3 é obrigatório para autorizar a chave privada.') {
|
||||
super(message, 'PIN_REQUIRED');
|
||||
this.name = 'PinRequiredError';
|
||||
}
|
||||
@@ -54,14 +85,14 @@ export class PinIncorrectError extends CyberCoreError {
|
||||
}
|
||||
|
||||
export class TokenNotFoundError extends CyberCoreError {
|
||||
constructor(message = 'Token USB ou smart card não foi detectado no computador.') {
|
||||
constructor(message = 'Token USB ou smart card não foi detectado no computador ou foi removido.') {
|
||||
super(message, 'TOKEN_NOT_FOUND');
|
||||
this.name = 'TokenNotFoundError';
|
||||
}
|
||||
}
|
||||
|
||||
export class RequestExpiredError extends CyberCoreError {
|
||||
constructor(message = 'A solicitação de assinatura expirou.') {
|
||||
constructor(message = 'A solicitação de assinatura expirou antes de ser processada.') {
|
||||
super(message, 'REQUEST_EXPIRED');
|
||||
this.name = 'RequestExpiredError';
|
||||
}
|
||||
@@ -73,3 +104,38 @@ export class ReplayDetectedError extends CyberCoreError {
|
||||
this.name = 'ReplayDetectedError';
|
||||
}
|
||||
}
|
||||
|
||||
export class InvalidOriginError extends CyberCoreError {
|
||||
constructor(message = 'A origem web solicitante não confere com os domínios homologados para esta aplicação.') {
|
||||
super(message, 'INVALID_ORIGIN');
|
||||
this.name = 'InvalidOriginError';
|
||||
}
|
||||
}
|
||||
|
||||
export class UnsupportedAlgorithmError extends CyberCoreError {
|
||||
constructor(message = 'O algoritmo criptográfico solicitado não é suportado pelo provedor de certificados.') {
|
||||
super(message, 'UNSUPPORTED_ALGORITHM');
|
||||
this.name = 'UnsupportedAlgorithmError';
|
||||
}
|
||||
}
|
||||
|
||||
export class ProviderNotAvailableError extends CyberCoreError {
|
||||
constructor(message = 'O provedor criptográfico necessário não está disponível no sistema operacional.') {
|
||||
super(message, 'PROVIDER_NOT_AVAILABLE');
|
||||
this.name = 'ProviderNotAvailableError';
|
||||
}
|
||||
}
|
||||
|
||||
export class SignatureFailedError extends CyberCoreError {
|
||||
constructor(message = 'Falha durante o cálculo da assinatura digital.') {
|
||||
super(message, 'SIGNATURE_FAILED');
|
||||
this.name = 'SignatureFailedError';
|
||||
}
|
||||
}
|
||||
|
||||
export class TimeoutError extends CyberCoreError {
|
||||
constructor(message = 'Tempo limite esgotado na comunicação com o agente local.') {
|
||||
super(message, 'TIMEOUT_ERROR');
|
||||
this.name = 'TimeoutError';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user