import { z } from "zod";

import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc";

export const walletRouter = createTRPCRouter({
  getAll: protectedProcedure.query(async ({ ctx }) => {
    return await ctx.prisma.wallet.findMany({
      where: {
        user_id: ctx.session.user.id,
      },
    });
  }),
  create: protectedProcedure
    .input(
      z.object({
        description: z.string().nullish(),
      })
    )
    .query(async ({ ctx, input }) => {
      const userConnect = { connect: { id: ctx.session.user.id } };
      return await ctx.prisma.wallet.create({
        data: {
          description: input.description,
          user: userConnect,
        },
      });
    }),
});
