39 lines
937 B
TypeScript
39 lines
937 B
TypeScript
import { z } from "zod";
|
|
import { router, publicProcedure } from "../trpc";
|
|
import {
|
|
signInController,
|
|
signUpController,
|
|
signOutController,
|
|
} from "@repo/core";
|
|
|
|
export const authRouter = router({
|
|
signIn: publicProcedure
|
|
.input(
|
|
z.object({
|
|
username: z.string().min(3).max(31),
|
|
password: z.string().min(6).max(255),
|
|
})
|
|
)
|
|
.mutation(async ({ input }) => {
|
|
return await signInController(input);
|
|
}),
|
|
|
|
signUp: publicProcedure
|
|
.input(
|
|
z.object({
|
|
username: z.string().min(3).max(31),
|
|
password: z.string().min(6).max(255),
|
|
confirmPassword: z.string().min(6).max(255),
|
|
})
|
|
)
|
|
.mutation(async ({ input }) => {
|
|
return await signUpController(input);
|
|
}),
|
|
|
|
signOut: publicProcedure
|
|
.input(z.object({ sessionId: z.string() }))
|
|
.mutation(async ({ input }) => {
|
|
return await signOutController(input.sessionId);
|
|
}),
|
|
});
|