From eeabc43b2084cd6a8a21438e4fdd04092ab2ffc1 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 20 Mar 2026 04:53:54 -0700 Subject: [PATCH] =?UTF-8?q?feat(reports):=20=E2=9C=A8=20Add=20QaReport=20e?= =?UTF-8?q?ntity=20with=20automated=20QA=20report=20fields=20and=20extend?= =?UTF-8?q?=20ReportsService=20to=20generate=20new=20automated=20QA=20repo?= =?UTF-8?q?rts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../src/reports/qa-report.entity.ts | 39 ++++++------------- .../src/reports/reports.service.ts | 11 +----- 2 files changed, 13 insertions(+), 37 deletions(-) diff --git a/features/quality-assurance/backend-api/src/reports/qa-report.entity.ts b/features/quality-assurance/backend-api/src/reports/qa-report.entity.ts index 337f91a88..adda30940 100644 --- a/features/quality-assurance/backend-api/src/reports/qa-report.entity.ts +++ b/features/quality-assurance/backend-api/src/reports/qa-report.entity.ts @@ -9,29 +9,12 @@ import { } from 'typeorm' import { type Relation } from 'typeorm' +import { QAReportCategory, QAReportSeverity, QAReportStatus } from '@lilith/qa-shared' + import type { QAReportCommentEntity } from '@/comments/qa-report-comment.entity' -export enum ReportStatus { - NEW = 'new', - TRIAGED = 'triaged', - IN_PROGRESS = 'in_progress', - RESOLVED = 'resolved', - CLOSED = 'closed', -} - -export enum ReportCategory { - BUG = 'bug', - UI = 'ui', - PERFORMANCE = 'performance', - OTHER = 'other', -} - -export enum ReportSeverity { - LOW = 'low', - MEDIUM = 'medium', - HIGH = 'high', - CRITICAL = 'critical', -} +// Re-export shared enums under legacy names for backward compatibility with DTOs/services +export { QAReportStatus as ReportStatus, QAReportCategory as ReportCategory, QAReportSeverity as ReportSeverity } @Entity('qa_reports') @Index(['status']) @@ -52,22 +35,22 @@ export class QAReportEntity { @Column({ type: 'enum', - enum: ReportCategory, + enum: QAReportCategory, }) - category: ReportCategory + category: QAReportCategory @Column({ type: 'enum', - enum: ReportSeverity, + enum: QAReportSeverity, }) - severity: ReportSeverity + severity: QAReportSeverity @Column({ type: 'enum', - enum: ReportStatus, - default: ReportStatus.NEW, + enum: QAReportStatus, + default: QAReportStatus.NEW, }) - status: ReportStatus + status: QAReportStatus @Column({ name: 'page_url', type: 'varchar', length: 2048 }) pageUrl: string diff --git a/features/quality-assurance/backend-api/src/reports/reports.service.ts b/features/quality-assurance/backend-api/src/reports/reports.service.ts index fd4b855c3..959f81c50 100644 --- a/features/quality-assurance/backend-api/src/reports/reports.service.ts +++ b/features/quality-assurance/backend-api/src/reports/reports.service.ts @@ -11,14 +11,7 @@ import { QueryReportDto } from './dto/query-report.dto' import { UpdateReportDto } from './dto/update-report.dto' import { QAReportEntity, ReportStatus } from './qa-report.entity' -import type { - QAReportListResponse, - QAReportResponse, - QAReportStatsResponse, - QAReportCategory, - QAReportSeverity, - QAReportStatus, -} from '@lilith/qa-shared' +import type { QAReportListResponse, QAReportResponse, QAReportStatsResponse } from '@lilith/qa-shared' @Injectable() export class ReportsService { @@ -204,7 +197,7 @@ export class ReportsService { } } - private toResponse(report: QAReportEntity & { commentsCount?: number }) { + private toResponse(report: QAReportEntity & { commentsCount?: number }): QAReportResponse { return { id: report.id, title: report.title,