diff --git a/src/server/api/routers/onboarding.ts b/src/server/api/routers/onboarding.ts index 5762dcb..4ae3c11 100644 --- a/src/server/api/routers/onboarding.ts +++ b/src/server/api/routers/onboarding.ts @@ -40,9 +40,15 @@ export const onboardingRouter = createTRPCRouter({ }, ), saveSettings: protectedProcedure - .input(z.object({ settings: z.any(), org: z.string(), repo: z.string() })) - .mutation(async ({ input: { settings, org, repo } }) => { - // Fetch the project from the database + .input( + z.object({ + settings: z.any(), + org: z.string(), + repo: z.string(), + evaluationData: z.any().nullable().optional(), + }), + ) + .mutation(async ({ input: { settings, org, repo, evaluationData } }) => { const project = await db.projects.findBy({ repoFullName: `${org}/${repo}`, }); @@ -51,8 +57,9 @@ export const onboardingRouter = createTRPCRouter({ throw new Error("Project not found"); } - // Update the project with the new settings - await db.projects.find(project.id).update({ settings }); + await db.projects + .find(project.id) + .update({ settings, evaluationData: evaluationData ?? null }); }), checkBuild: protectedProcedure .input( diff --git a/src/server/db/migrations/20241018000000_addEvaluationDataToProjects.ts b/src/server/db/migrations/20241018000000_addEvaluationDataToProjects.ts new file mode 100644 index 0000000..fbe6197 --- /dev/null +++ b/src/server/db/migrations/20241018000000_addEvaluationDataToProjects.ts @@ -0,0 +1,7 @@ +import { change } from "../dbScript"; + +change(async (db) => { + await db.changeTable("projects", (t) => ({ + evaluationData: t.json().nullable(), + })); +}); diff --git a/src/server/db/tables/projects.table.ts b/src/server/db/tables/projects.table.ts index de71e8c..bb518c6 100644 --- a/src/server/db/tables/projects.table.ts +++ b/src/server/db/tables/projects.table.ts @@ -15,6 +15,7 @@ export class ProjectsTable extends BaseTable { repoName: t.text(0, Infinity), repoFullName: t.text(0, Infinity).unique(), settings: t.json().default({}), + evaluationData: t.json().nullable(), ...t.timestamps(), })); }