From 4ae3e1a230159ae53be192cfdeaa5efae01f26f5 Mon Sep 17 00:00:00 2001 From: Amruth Pillai Date: Thu, 7 May 2026 16:49:44 +0200 Subject: [PATCH] fix: update resume ID type from uuid to text and use generateId for ID generation --- docs/contributing/architecture.mdx | 2 +- packages/ai/src/resume/sanitize.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/contributing/architecture.mdx b/docs/contributing/architecture.mdx index 505bbc66b..8e4104a50 100644 --- a/docs/contributing/architecture.mdx +++ b/docs/contributing/architecture.mdx @@ -182,7 +182,7 @@ The database schema is defined using Drizzle ORM in `src/integrations/drizzle/sc import { pgTable, text, timestamp, uuid } from "drizzle-orm/pg-core"; export const resume = pgTable("resume", { - id: uuid("id").primaryKey().defaultRandom(), + id: text("id").primaryKey().defaultRandom(), title: text("title").notNull(), slug: text("slug").notNull(), // ... more fields diff --git a/packages/ai/src/resume/sanitize.ts b/packages/ai/src/resume/sanitize.ts index ca4d688d2..d51774d5f 100644 --- a/packages/ai/src/resume/sanitize.ts +++ b/packages/ai/src/resume/sanitize.ts @@ -5,6 +5,7 @@ import { flattenError, ZodError } from "zod"; import { resumeDataSchema } from "@reactive-resume/schema/resume/data"; import { defaultResumeData } from "@reactive-resume/schema/resume/default"; import { isObject } from "@reactive-resume/utils/sanitize"; +import { generateId } from "@reactive-resume/utils/string"; import { buildAiExtractionTemplate } from "./extraction-template"; const aiExtractionTemplate = buildAiExtractionTemplate(); @@ -206,7 +207,7 @@ function normalizeResumeDataForSchema(data: Record, diagnostics const normalizedItem = { ...item }; if (typeof normalizedItem.id !== "string" || normalizedItem.id.trim().length === 0) { diagnostics.salvageApplied = true; - normalizedItem.id = crypto.randomUUID(); + normalizedItem.id = generateId(); } if (typeof normalizedItem.hidden !== "boolean") { diagnostics.salvageApplied = true;