editing scenarios is kinda working

This commit is contained in:
Kyle Corbitt
2023-06-23 16:18:28 -07:00
parent bf41069442
commit 2b0c2ad603
12 changed files with 221 additions and 35 deletions

View File

@@ -7,7 +7,51 @@ export const scenariosRouter = createTRPCRouter({
return await prisma.testScenario.findMany({
where: {
experimentId: input.experimentId,
visible: true,
},
});
}),
replaceWithValues: publicProcedure
.input(
z.object({
id: z.string(),
values: z.record(z.string()),
})
)
.mutation(async ({ input }) => {
const existing = await prisma.testScenario.findUnique({
where: {
id: input.id,
},
});
if (!existing) {
throw new Error(`Scenario with id ${input.id} does not exist`);
}
const newScenario = await prisma.testScenario.create({
data: {
experimentId: existing.experimentId,
sortIndex: existing.sortIndex,
variableValues: input.values,
uiId: existing.uiId,
},
});
// Hide the old scenario
await prisma.testScenario.updateMany({
where: {
uiId: existing.uiId,
id: {
not: newScenario.id,
},
},
data: {
visible: false,
},
});
return newScenario;
}),
});