From a555d348b38b134fb6af040ff46d64f650cf7dc8 Mon Sep 17 00:00:00 2001 From: Christopher Bisom Date: Fri, 24 Jan 2025 11:46:54 -0500 Subject: [PATCH] 10502-dxox: fix typing and kysely mapping for docketEntries, hearings, and qcCompleteForTrial --- .../src/business/useCases/createCaseInteractor.ts | 12 ++++++------ web-api/src/database-types.ts | 9 +++++++-- web-api/src/persistence/postgres/cases/mapper.ts | 5 +++-- .../postgres/utils/migrate/migrations/0006-cases.ts | 1 - 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/web-api/src/business/useCases/createCaseInteractor.ts b/web-api/src/business/useCases/createCaseInteractor.ts index 88dbe361b45..3326ceed8a5 100644 --- a/web-api/src/business/useCases/createCaseInteractor.ts +++ b/web-api/src/business/useCases/createCaseInteractor.ts @@ -1,23 +1,23 @@ -import { Case } from '../../../../shared/src/business/entities/cases/Case'; +import { Case } from '@shared/business/entities/cases/Case'; import { CreatedCaseType, INITIAL_DOCUMENT_TYPES, PETITIONS_SECTION, ROLES, -} from '../../../../shared/src/business/entities/EntityConstants'; -import { DocketEntry } from '../../../../shared/src/business/entities/DocketEntry'; +} from '@shared/business/entities/EntityConstants'; +import { DocketEntry } from '@shared/business/entities/DocketEntry'; import { ElectronicPetition } from '@shared/business/entities/cases/ElectronicPetition'; import { Petitioner } from '@shared/business/entities/contacts/Petitioner'; import { ROLE_PERMISSIONS, isAuthorized, -} from '../../../../shared/src/authorization/authorizationClientService'; +} from '@shared/authorization/authorizationClientService'; import { ServerApplicationContext } from '@web-api/applicationContext'; import { UnauthorizedError } from '@web-api/errors/errors'; import { UnknownAuthUser } from '@shared/business/entities/authUser/AuthUser'; -import { UserCase } from '../../../../shared/src/business/entities/UserCase'; +import { UserCase } from '@shared/business/entities/UserCase'; import { UserRecord } from '@web-api/persistence/dynamo/dynamoTypes'; -import { WorkItem } from '../../../../shared/src/business/entities/WorkItem'; +import { WorkItem } from '@shared/business/entities/WorkItem'; import { createPetitionersOnCase } from '@web-api/persistence/postgres/cases/parties/createPetitionersOnCase'; import { createCaseStatistic } from '@web-api/persistence/postgres/cases/statistics/createCaseStatistic'; import { generateDocketNumber } from '@web-api/persistence/postgres/cases/generateDocketNumber'; diff --git a/web-api/src/database-types.ts b/web-api/src/database-types.ts index 36988df9b5b..8f8a0edbfc7 100644 --- a/web-api/src/database-types.ts +++ b/web-api/src/database-types.ts @@ -62,10 +62,15 @@ export interface CaseTable { damages?: number; docketNumber: string; docketNumberSuffix?: string; + docketEntries?: ColumnType< + { docketEntryId: string; docketNumber: string }[], + string, + string + >; filingType?: string; hasPendingItems?: boolean; hasVerifiedIrsNotice?: boolean; - hearings?: any[]; + hearings?: ColumnType<{ trialSessionId: string }[], string, string>; highPriority?: boolean; highPriorityReason?: string; initialCaption?: string; @@ -93,7 +98,7 @@ export interface CaseTable { petitionPaymentWaivedDate?: Date | null; preferredTrialCity?: string; procedureType: string; - qcCompleteForTrial?: Record; // needed + qcCompleteForTrial?: ColumnType<{ trialSessionId: string }[], string, string>; receivedAt: Date; sealedDate?: Date | null; sortableDocketNumber: number; diff --git a/web-api/src/persistence/postgres/cases/mapper.ts b/web-api/src/persistence/postgres/cases/mapper.ts index 64071fc82ac..b4e6767e0a4 100644 --- a/web-api/src/persistence/postgres/cases/mapper.ts +++ b/web-api/src/persistence/postgres/cases/mapper.ts @@ -33,10 +33,11 @@ export const convertRawCaseToDbRow = (rawCase: RawCase) => { damages: rawCase.damages, docketNumber: rawCase.docketNumber, docketNumberSuffix: rawCase.docketNumberSuffix, + docketEntries: JSON.stringify(rawCase.docketEntries), filingType: rawCase.filingType, hasPendingItems: rawCase.hasPendingItems, hasVerifiedIrsNotice: rawCase.hasVerifiedIrsNotice, - hearings: rawCase.hearings, + hearings: JSON.stringify(rawCase.hearings), highPriority: rawCase.highPriority, highPriorityReason: rawCase.highPriorityReason, initialCaption: rawCase.initialCaption, @@ -73,7 +74,7 @@ export const convertRawCaseToDbRow = (rawCase: RawCase) => { : null, preferredTrialCity: rawCase.preferredTrialCity, procedureType: rawCase.procedureType, - qcCompleteForTrial: rawCase.qcCompleteForTrial, + qcCompleteForTrial: JSON.stringify(rawCase.qcCompleteForTrial), receivedAt: rawCase.receivedAt ? calculateDate({ dateString: rawCase.receivedAt }) : calculateDate({ dateString: formatNow() }), diff --git a/web-api/src/persistence/postgres/utils/migrate/migrations/0006-cases.ts b/web-api/src/persistence/postgres/utils/migrate/migrations/0006-cases.ts index 2cb97f915b2..3ac14943668 100644 --- a/web-api/src/persistence/postgres/utils/migrate/migrations/0006-cases.ts +++ b/web-api/src/persistence/postgres/utils/migrate/migrations/0006-cases.ts @@ -17,7 +17,6 @@ export async function up(db: Kysely): Promise { .addColumn('caseNote', 'varchar') .addColumn('caseType', 'varchar', col => col.notNull()) .addColumn('closedDate', 'timestamptz') - .addColumn('correspondence', 'jsonb') .addColumn('createdAt', 'timestamptz') .addColumn('damages', 'numeric') .addColumn('docketEntries', 'jsonb')