diff --git a/src/pages/resources/[id]/index.tsx b/src/pages/resources/[id]/index.tsx index 9770b1c..d40e43c 100644 --- a/src/pages/resources/[id]/index.tsx +++ b/src/pages/resources/[id]/index.tsx @@ -95,6 +95,15 @@ const ResourceViewPage = () => { } ); + const { mutate: mutateDelete } = api.auditoryResource.delete.useMutation({ + onSuccess: async () => { + await router.push(`/resources`); + }, + onError: (error) => { + console.error(error); + }, + }); + const ConditionalView = (data: AuditoryResource) => { return (
@@ -138,8 +147,9 @@ const ResourceViewPage = () => { label="Delete" symbol={} onConfirm={() => { - // todo - console.log("deleting"); + mutateDelete({ + id, + }); }} />, ]} diff --git a/src/server/api/routers/auditoryResources.ts b/src/server/api/routers/auditoryResources.ts index a88bf5d..9fb4728 100644 --- a/src/server/api/routers/auditoryResources.ts +++ b/src/server/api/routers/auditoryResources.ts @@ -89,6 +89,20 @@ export const auditoryResourceRouter = createTRPCRouter({ }); }), + delete: protectedProcedure + .input( + z.object({ + id: z.string(), + }) + ) + .mutation(async ({ input, ctx }) => { + return await ctx.prisma.auditoryResource.delete({ + where: { + id: input.id, + }, + }); + }), + update: protectedProcedure .input(AuditoryResourceSchema.partial().extend({ id: z.string() })) .mutation(async ({ input, ctx }) => {