Files
GibSend/apps/web/src/server/api/routers/team.ts
2024-04-30 21:31:54 +10:00

51 lines
1.1 KiB
TypeScript

import { z } from "zod";
import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc";
export const teamRouter = createTRPCRouter({
createTeam: protectedProcedure
.input(z.object({ name: z.string() }))
.mutation(async ({ ctx, input }) => {
const teams = await ctx.db.team.findMany({
where: {
teamUsers: {
some: {
userId: ctx.session.user.id,
},
},
},
});
if (teams) {
console.log("User already has a team");
return;
}
return ctx.db.team.create({
data: {
name: input.name,
teamUsers: {
create: {
userId: ctx.session.user.id,
role: "ADMIN",
},
},
},
});
}),
getTeams: protectedProcedure.query(async ({ ctx }) => {
const teams = await ctx.db.team.findMany({
where: {
teamUsers: {
some: {
userId: ctx.session.user.id,
},
},
},
});
return teams;
}),
});