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