From 25ea2fcd0fb7cc4a884b30349c240d7579939bb2 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 26 Mar 2026 17:26:28 +0700 Subject: [PATCH] 260326:1726 Fixing Refactor ADR-019 Naming convention uuid #06 --- .gitea/workflows/ci-deploy.yml | 4 ++++ .../admin/doc-control/numbering/page.tsx | 4 ++-- .../(dashboard)/circulation/[uuid]/page.tsx | 2 +- .../app/(dashboard)/drawings/[uuid]/page.tsx | 6 +++--- .../(dashboard)/transmittals/[uuid]/page.tsx | 2 +- .../components/admin/organization-dialog.tsx | 2 +- frontend/components/admin/user-dialog.tsx | 6 +++--- .../circulation/circulation-list.tsx | 2 +- .../circulation-status-card.tsx | 4 ++-- frontend/components/correspondences/detail.tsx | 16 ++++++++-------- frontend/components/correspondences/form.tsx | 18 +++++++++--------- frontend/components/correspondences/list.tsx | 6 +++--- .../correspondences/revision-history.tsx | 2 +- frontend/components/drawings/card.tsx | 2 +- frontend/components/drawings/columns.tsx | 6 +++--- .../layout/notifications-dropdown.tsx | 2 +- .../components/numbering/template-tester.tsx | 4 ++-- frontend/components/rfas/detail.tsx | 6 +++--- frontend/components/rfas/list.tsx | 4 ++-- frontend/components/search/results.tsx | 6 +++--- .../transmittal/transmittal-list.tsx | 2 +- frontend/hooks/use-drawing.ts | 10 +++++----- frontend/lib/api/notifications.ts | 6 +++--- frontend/lib/api/numbering.ts | 2 +- frontend/lib/services/user.service.ts | 2 +- 25 files changed, 65 insertions(+), 61 deletions(-) diff --git a/.gitea/workflows/ci-deploy.yml b/.gitea/workflows/ci-deploy.yml index b0570bf..33e062c 100644 --- a/.gitea/workflows/ci-deploy.yml +++ b/.gitea/workflows/ci-deploy.yml @@ -116,6 +116,10 @@ jobs: mkdir -p /share/np-dms/app/logs + # Clear Docker build cache to ensure fresh builds + echo "๐Ÿงน Clearing Docker build cache..." + docker builder prune -f || true + echo "๐Ÿš€ Executing deployment..." ./scripts/deploy.sh diff --git a/frontend/app/(admin)/admin/doc-control/numbering/page.tsx b/frontend/app/(admin)/admin/doc-control/numbering/page.tsx index fb0fce3..ea02ac4 100644 --- a/frontend/app/(admin)/admin/doc-control/numbering/page.tsx +++ b/frontend/app/(admin)/admin/doc-control/numbering/page.tsx @@ -17,7 +17,7 @@ import { useProjects, useCorrespondenceTypes, useContracts, useDisciplines } fro interface ProjectItem { id: number | string; - uuid?: string; + publicId?: string; // ADR-019: exposed as 'id' in API responses projectName: string; projectCode: string; } @@ -54,7 +54,7 @@ export default function NumberingPage() { // Master Data const { data: correspondenceTypes = [] } = useCorrespondenceTypes(); const { data: contracts = [] } = useContracts(selectedProjectId); - const firstContract = contracts[0] as { id?: number; uuid?: string } | undefined; + const firstContract = contracts[0] as { id?: number; publicId?: string } | undefined; const contractId = firstContract?.publicId ?? firstContract?.id; const { data: disciplines = [] } = useDisciplines(contractId); diff --git a/frontend/app/(dashboard)/circulation/[uuid]/page.tsx b/frontend/app/(dashboard)/circulation/[uuid]/page.tsx index 6b80d5b..9333bef 100644 --- a/frontend/app/(dashboard)/circulation/[uuid]/page.tsx +++ b/frontend/app/(dashboard)/circulation/[uuid]/page.tsx @@ -143,7 +143,7 @@ export default function CirculationDetailPage() {

Linked Document

{circulation.correspondence.correspondenceNumber} diff --git a/frontend/app/(dashboard)/drawings/[uuid]/page.tsx b/frontend/app/(dashboard)/drawings/[uuid]/page.tsx index e0533cc..b55787c 100644 --- a/frontend/app/(dashboard)/drawings/[uuid]/page.tsx +++ b/frontend/app/(dashboard)/drawings/[uuid]/page.tsx @@ -23,7 +23,7 @@ type DrawingType = 'CONTRACT' | 'SHOP' | 'AS_BUILT'; interface FetchedDrawing { _type: DrawingType; - uuid: string; + publicId: string; contractDrawingNo?: string; drawingNumber?: string; title?: string; @@ -33,7 +33,7 @@ interface FetchedDrawing { currentRevision?: { title?: string; revisionNumber?: string; legacyDrawingNumber?: string }; revisions?: { revisionId?: number; - uuid: string; + publicId: string; revisionNumber: string; title?: string; legacyDrawingNumber?: string; @@ -109,7 +109,7 @@ export default function DrawingDetailPage({ params }: { params: Promise<{ uuid:

Drawing Not Found

- The drawing with UUID {uuid} could not be found. + The drawing with ID {uuid} could not be found.

); diff --git a/frontend/app/(dashboard)/transmittals/[uuid]/page.tsx b/frontend/app/(dashboard)/transmittals/[uuid]/page.tsx index cf4d946..3bea67d 100644 --- a/frontend/app/(dashboard)/transmittals/[uuid]/page.tsx +++ b/frontend/app/(dashboard)/transmittals/[uuid]/page.tsx @@ -101,7 +101,7 @@ export default function TransmittalDetailPage() {

Generated From

{transmittal.correspondence ? ( {transmittal.correspondence.correspondenceNumber} diff --git a/frontend/components/admin/organization-dialog.tsx b/frontend/components/admin/organization-dialog.tsx index 66451c8..412b5d0 100644 --- a/frontend/components/admin/organization-dialog.tsx +++ b/frontend/components/admin/organization-dialog.tsx @@ -84,7 +84,7 @@ export function OrganizationDialog({ open, onOpenChange, organization }: Organiz }; if (organization) { - updateOrg.mutate({ uuid: organization.uuid, data: submitData }, { onSuccess: () => onOpenChange(false) }); + updateOrg.mutate({ uuid: organization.publicId, data: submitData }, { onSuccess: () => onOpenChange(false) }); } else { createOrg.mutate(submitData, { onSuccess: () => onOpenChange(false), diff --git a/frontend/components/admin/user-dialog.tsx b/frontend/components/admin/user-dialog.tsx index 1683741..a3427d3 100644 --- a/frontend/components/admin/user-dialog.tsx +++ b/frontend/components/admin/user-dialog.tsx @@ -153,7 +153,7 @@ export function UserDialog({ open, onOpenChange, user }: UserDialogProps) { } if (user) { - updateUser.mutate({ uuid: user.uuid, data: payload }, { onSuccess: () => onOpenChange(false) }); + updateUser.mutate({ uuid: user.publicId, data: payload }, { onSuccess: () => onOpenChange(false) }); } else { // Create req: Password mandatory if (!payload.password) return; // Should allow Zod to catch or show error @@ -231,8 +231,8 @@ export function UserDialog({ open, onOpenChange, user }: UserDialogProps) { All Organizations {Array.isArray(organizations) && - organizations.map((org: { uuid: string; organizationCode: string; organizationName: string }) => ( - + organizations.map((org: { publicId: string; organizationCode: string; organizationName: string }) => ( + {org.organizationCode} - {org.organizationName} ))} diff --git a/frontend/components/circulation/circulation-list.tsx b/frontend/components/circulation/circulation-list.tsx index 12194f5..6581e6a 100644 --- a/frontend/components/circulation/circulation-list.tsx +++ b/frontend/components/circulation/circulation-list.tsx @@ -104,7 +104,7 @@ export function CirculationList({ data }: CirculationListProps) { const item = row.original; return (
- + diff --git a/frontend/components/correspondences/circulation-status-card.tsx b/frontend/components/correspondences/circulation-status-card.tsx index 1532751..cc27c22 100644 --- a/frontend/components/correspondences/circulation-status-card.tsx +++ b/frontend/components/correspondences/circulation-status-card.tsx @@ -76,7 +76,7 @@ function CirculationItem({ circ }: { circ: Circulation }) {
)} - + @@ -100,7 +100,7 @@ export function RFAList({ data }: RFAListProps) { - + diff --git a/frontend/components/search/results.tsx b/frontend/components/search/results.tsx index 8f0bf86..4ce3977 100644 --- a/frontend/components/search/results.tsx +++ b/frontend/components/search/results.tsx @@ -36,8 +36,8 @@ const STATUS_LABEL: Record = { }; function getLink(result: SearchResult): string { - if (result.type === 'drawing') return `/drawings/${result.uuid}`; - return `/${result.type}s/${result.uuid}`; + if (result.type === 'drawing') return `/drawings/${result.publicId}`; + return `/${result.type}s/${result.publicId}`; } export function SearchResults({ results, query, loading }: SearchResultsProps) { @@ -67,7 +67,7 @@ export function SearchResults({ results, query, loading }: SearchResultsProps) { return ( diff --git a/frontend/components/transmittal/transmittal-list.tsx b/frontend/components/transmittal/transmittal-list.tsx index 4ba858a..d7ab3a0 100644 --- a/frontend/components/transmittal/transmittal-list.tsx +++ b/frontend/components/transmittal/transmittal-list.tsx @@ -65,7 +65,7 @@ export function TransmittalList({ data }: TransmittalListProps) { cell: ({ row }) => { const item = row.original; return ( - + diff --git a/frontend/hooks/use-drawing.ts b/frontend/hooks/use-drawing.ts index b3c405e..c87b840 100644 --- a/frontend/hooks/use-drawing.ts +++ b/frontend/hooks/use-drawing.ts @@ -47,7 +47,7 @@ export function useDrawings(type: DrawingType, params: DrawingSearchParams) { if (response && response.data) { const mappedData = response.data.map((d: ContractDrawing) => ({ ...d, - uuid: d.uuid || (d as unknown as { id: string }).id, + publicId: d.publicId || (d as unknown as { id: string }).id, drawingNumber: d.contractDrawingNo, type: 'CONTRACT', })); @@ -60,11 +60,11 @@ export function useDrawings(type: DrawingType, params: DrawingSearchParams) { if (response && response.data) { const mappedData = response.data.map((d: ShopDrawing) => ({ ...d, - uuid: d.uuid || (d as unknown as { id: string }).id, + publicId: d.publicId || (d as unknown as { id: string }).id, type: 'SHOP', title: d.currentRevision?.title || 'Untitled', revision: d.currentRevision?.revisionNumber, - currentRevisionUuid: d.currentRevision?.uuid, + currentRevisionPublicId: d.currentRevision?.publicId, legacyDrawingNumber: d.currentRevision?.legacyDrawingNumber, })); // Re-wrap to preserve meta @@ -76,11 +76,11 @@ export function useDrawings(type: DrawingType, params: DrawingSearchParams) { if (response && response.data) { const mappedData = response.data.map((d: AsBuiltDrawing) => ({ ...d, - uuid: d.uuid || (d as unknown as { id: string }).id, + publicId: d.publicId || (d as unknown as { id: string }).id, type: 'AS_BUILT', title: d.currentRevision?.title || 'Untitled', revision: d.currentRevision?.revisionNumber, - currentRevisionUuid: d.currentRevision?.uuid, + currentRevisionPublicId: d.currentRevision?.publicId, })); // Re-wrap to preserve meta response = { ...response, data: mappedData }; diff --git a/frontend/lib/api/notifications.ts b/frontend/lib/api/notifications.ts index 06b89f1..c09c833 100644 --- a/frontend/lib/api/notifications.ts +++ b/frontend/lib/api/notifications.ts @@ -3,7 +3,7 @@ import { NotificationResponse } from '@/types/notification'; // Mock Data let mockNotifications = [ { - uuid: '019575a0-0001-7000-8000-000000000001', + publicId: '019575a0-0001-7000-8000-000000000001', notificationId: 1, title: 'RFA Approved', message: 'RFA-001 has been approved by the Project Manager.', @@ -13,7 +13,7 @@ let mockNotifications = [ link: '/rfas/1', }, { - uuid: '019575a0-0002-7000-8000-000000000002', + publicId: '019575a0-0002-7000-8000-000000000002', notificationId: 2, title: 'New Correspondence', message: 'You have received a new correspondence from Contractor A.', @@ -23,7 +23,7 @@ let mockNotifications = [ link: '/correspondences/3', }, { - uuid: '019575a0-0003-7000-8000-000000000003', + publicId: '019575a0-0003-7000-8000-000000000003', notificationId: 3, title: 'Drawing Revision Required', message: 'Drawing S-201 requires revision based on recent comments.', diff --git a/frontend/lib/api/numbering.ts b/frontend/lib/api/numbering.ts index 3d57899..53b4748 100644 --- a/frontend/lib/api/numbering.ts +++ b/frontend/lib/api/numbering.ts @@ -21,7 +21,7 @@ export interface NumberingTemplate { id: number | string; projectCode: string; projectName: string; - uuid?: string; + publicId?: string; // ADR-019: exposed as 'id' in API responses }; formatTemplate: string; disciplineId: number; diff --git a/frontend/lib/services/user.service.ts b/frontend/lib/services/user.service.ts index 76af68e..ef3bd5e 100644 --- a/frontend/lib/services/user.service.ts +++ b/frontend/lib/services/user.service.ts @@ -30,7 +30,7 @@ const extractArrayData = (value: unknown): T[] => { const transformUser = (user: RawUser): User => { return { ...(user as unknown as User), - uuid: (user.uuid as string) ?? '', + publicId: (user.publicId as string) ?? '', userId: (user.user_id ?? user.userId) as number | undefined, roles: (user.assignments?.map((a) => a.role) ?? []) as User['roles'], };