Files
stats/packages/trpc/src/routers/share.ts
2024-11-20 14:04:55 +01:00

32 lines
837 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(),
organizationId: input.organizationId,
projectId: input.projectId,
public: input.public,
password: input.password || null,
},
update: {
public: input.public,
password: input.password,
},
});
}),
});