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