Spaces:
Sleeping
Sleeping
| import { | |
| Entity, | |
| PrimaryGeneratedColumn, | |
| Column, | |
| CreateDateColumn, | |
| ManyToOne, | |
| JoinColumn, | |
| } from 'typeorm'; | |
| import { User } from '../../auth/entities/user.entity'; | |
| export enum ErrorType { | |
| APPLICATION = 'application', | |
| DATABASE = 'database', | |
| API = 'api', | |
| SECURITY = 'security', | |
| SYSTEM = 'system', | |
| } | |
| export enum ErrorSeverity { | |
| LOW = 'low', | |
| MEDIUM = 'medium', | |
| HIGH = 'high', | |
| CRITICAL = 'critical', | |
| } | |
| ('system_errors') | |
| export class SystemError { | |
| ({ name: 'error_id', type: 'bigint', unsigned: true }) | |
| errorId: number; | |
| ({ name: 'error_code', type: 'varchar', length: 50, nullable: true }) | |
| errorCode: string; | |
| ({ name: 'error_message', type: 'text' }) | |
| errorMessage: string; | |
| ({ | |
| name: 'error_type', | |
| type: 'enum', | |
| enum: ErrorType, | |
| }) | |
| errorType: ErrorType; | |
| ({ | |
| name: 'severity', | |
| type: 'enum', | |
| enum: ErrorSeverity, | |
| default: ErrorSeverity.MEDIUM, | |
| }) | |
| severity: ErrorSeverity; | |
| ({ name: 'stack_trace', type: 'text', nullable: true }) | |
| stackTrace: string; | |
| ({ name: 'user_id', type: 'bigint', unsigned: true, nullable: true }) | |
| userId: number; | |
| ({ name: 'ip_address', type: 'varchar', length: 45, nullable: true }) | |
| ipAddress: string; | |
| ({ name: 'request_url', type: 'varchar', length: 500, nullable: true }) | |
| requestUrl: string; | |
| ({ name: 'user_agent', type: 'text', nullable: true }) | |
| userAgent: string; | |
| ({ name: 'is_resolved', type: 'tinyint', default: 0 }) | |
| isResolved: boolean; | |
| ({ name: 'resolved_by', type: 'bigint', unsigned: true, nullable: true }) | |
| resolvedBy: number; | |
| ({ name: 'resolved_at', type: 'timestamp', nullable: true }) | |
| resolvedAt: Date; | |
| ({ name: 'resolution_notes', type: 'text', nullable: true }) | |
| resolutionNotes: string; | |
| ({ name: 'created_at' }) | |
| createdAt: Date; | |
| (() => User) | |
| ({ name: 'user_id' }) | |
| user: User; | |
| (() => User) | |
| ({ name: 'resolved_by' }) | |
| resolver: User; | |
| } | |