errors.ts raw

   1  /**
   2   * Domain errors for Identity bounded context
   3   */
   4  
   5  import { DomainError } from '../shared'
   6  
   7  /**
   8   * Thrown when login credentials are invalid
   9   */
  10  export class InvalidCredentialsError extends DomainError {
  11    constructor(reason?: string) {
  12      super(`Invalid credentials${reason ? `: ${reason}` : ''}`)
  13    }
  14  }
  15  
  16  /**
  17   * Thrown when an account operation fails
  18   */
  19  export class AccountOperationError extends DomainError {
  20    constructor(operation: string, reason?: string) {
  21      super(`Account operation failed: ${operation}${reason ? ` - ${reason}` : ''}`)
  22    }
  23  }
  24  
  25  /**
  26   * Thrown when attempting to sign without authentication
  27   */
  28  export class NotLoggedInError extends DomainError {
  29    constructor() {
  30      super('Not logged in - authentication required')
  31    }
  32  }
  33  
  34  /**
  35   * Thrown when a signer operation fails
  36   */
  37  export class SignerError extends DomainError {
  38    constructor(operation: string, reason?: string) {
  39      super(`Signer error: ${operation}${reason ? ` - ${reason}` : ''}`)
  40    }
  41  }
  42  
  43  /**
  44   * Thrown when an account is not found
  45   */
  46  export class AccountNotFoundError extends DomainError {
  47    constructor(identifier?: string) {
  48      super(`Account not found${identifier ? `: ${identifier}` : ''}`)
  49    }
  50  }
  51