Files
cybercore-signer/sdk/src/errors.js
T

76 lines
2.4 KiB
JavaScript

/**
* Erros padronizados do SDK CyberCore Signer alinhados ao protocolo CCSP/1.
*/
export class CyberCoreError extends Error {
constructor(message, code = 'COMMUNICATION_ERROR', originalError = null) {
super(message);
this.name = 'CyberCoreError';
this.code = code;
this.originalError = originalError;
}
}
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.') {
super(message, 'AGENT_NOT_RUNNING');
this.name = 'AgentNotRunningError';
}
}
export class ApplicationNotAuthorizedError extends CyberCoreError {
constructor(message = 'A aplicação web não foi autorizada pelo usuário no CyberCore Signer.') {
super(message, 'APPLICATION_NOT_AUTHORIZED');
this.name = 'ApplicationNotAuthorizedError';
}
}
export class UserCancelledError extends CyberCoreError {
constructor(message = 'A operação de assinatura foi cancelada pelo usuário.') {
super(message, 'USER_CANCELLED');
this.name = 'UserCancelledError';
}
}
export class CertificateNotFoundError extends CyberCoreError {
constructor(message = 'Certificado digital não encontrado ou não selecionado.') {
super(message, 'CERTIFICATE_NOT_FOUND');
this.name = 'CertificateNotFoundError';
}
}
export class PinRequiredError extends CyberCoreError {
constructor(message = 'PIN do token ou smart card A3 é obrigatório.') {
super(message, 'PIN_REQUIRED');
this.name = 'PinRequiredError';
}
}
export class PinIncorrectError extends CyberCoreError {
constructor(message = 'O PIN informado para o dispositivo A3 está incorreto.') {
super(message, 'PIN_INCORRECT');
this.name = 'PinIncorrectError';
}
}
export class TokenNotFoundError extends CyberCoreError {
constructor(message = 'Token USB ou smart card não foi detectado no computador.') {
super(message, 'TOKEN_NOT_FOUND');
this.name = 'TokenNotFoundError';
}
}
export class RequestExpiredError extends CyberCoreError {
constructor(message = 'A solicitação de assinatura expirou.') {
super(message, 'REQUEST_EXPIRED');
this.name = 'RequestExpiredError';
}
}
export class ReplayDetectedError extends CyberCoreError {
constructor(message = 'Requisição duplicada detectada (ataque de replay prevenido).') {
super(message, 'REPLAY_DETECTED');
this.name = 'ReplayDetectedError';
}
}