Files
stats/packages/trpc/src/routers/share.ts
Carl-Gerhard Lindesvärd 8e06bacdb0 wip
2024-09-03 21:20:26 +02:00

33 lines
891 B
TypeScript

import ShortUniqueId from 'short-unique-id';
import { db } from '@openpanel/db';
import { zShareOverview } from '@openpanel/validation';
import { createTRPCRouter, protectedProcedure } from '../trpc';
const uid = new ShortUniqueId({ length: 6 });
export const shareRouter = createTRPCRouter({
shareOverview: protectedProcedure
.input(zShareOverview)
.mutation(async ({ input }) => {
return db.shareOverview.upsert({
where: {
projectId: input.projectId,
},
create: {
id: uid.rnd(),
organizationSlug: input.organizationSlug,
organizationId: input.organizationSlug,
projectId: input.projectId,
public: input.public,
password: input.password || null,
},
update: {
public: input.public,
password: input.password,
},
});
}),
});