errors.ts raw

   1  /**
   2   * Domain errors for Relay bounded context
   3   */
   4  
   5  import { DomainError } from '../shared'
   6  
   7  /**
   8   * Thrown when a relay set operation fails
   9   */
  10  export class RelaySetOperationError extends DomainError {
  11    constructor(operation: string, reason?: string) {
  12      super(`Relay set operation failed: ${operation}${reason ? ` - ${reason}` : ''}`)
  13    }
  14  }
  15  
  16  /**
  17   * Thrown when a relay list operation fails
  18   */
  19  export class RelayListOperationError extends DomainError {
  20    constructor(operation: string, reason?: string) {
  21      super(`Relay list operation failed: ${operation}${reason ? ` - ${reason}` : ''}`)
  22    }
  23  }
  24  
  25  /**
  26   * Thrown when attempting to add a duplicate relay
  27   */
  28  export class DuplicateRelayError extends DomainError {
  29    constructor(url: string) {
  30      super(`Relay already exists: ${url}`)
  31    }
  32  }
  33  
  34  /**
  35   * Thrown when a relay is not found
  36   */
  37  export class RelayNotFoundError extends DomainError {
  38    constructor(url: string) {
  39      super(`Relay not found: ${url}`)
  40    }
  41  }
  42