Skip to content

Commit

Permalink
refactor: add router
Browse files Browse the repository at this point in the history
  • Loading branch information
Siumauricio committed Jun 23, 2024
1 parent 13da2b5 commit af9c5fa
Showing 1 changed file with 113 additions and 113 deletions.
226 changes: 113 additions & 113 deletions examples/with-nextjs/src/server/router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,117 +115,117 @@ const authRouter = t.router({

return { user: { id: user.id, email: user.email, name: user.name } };
}),
// login: publicProcedure
// .meta({
// openapi: {
// method: "POST",
// path: "/auth/login",
// tags: ["auth"],
// summary: "Login as an existing user",
// },
// })
// .input(
// z.object({
// email: z.string().email(),
// passcode: z.preprocess(
// (arg) => (typeof arg === "string" ? parseInt(arg) : arg),
// z.number().min(1000).max(9999),
// ),
// }),
// )
// .output(
// z.object({
// token: z.string(),
// }),
// )
// .mutation(({ input }) => {
// const user = database.users.find((_user) => _user.email === input.email);

// if (!user) {
// throw new TRPCError({
// message: "User with email not found",
// code: "UNAUTHORIZED",
// });
// }
// if (user.passcode !== input.passcode) {
// throw new TRPCError({
// message: "Passcode was incorrect",
// code: "UNAUTHORIZED",
// });
// }

// return {
// token: jwt.sign(user.id, jwtSecret),
// };
// }),
// });

// const usersRouter = t.router({
// getUsers: publicProcedure
// .meta({
// openapi: {
// method: "GET",
// path: "/users",
// tags: ["users"],
// summary: "Read all users",
// },
// })
// // .input(z.void())
// // .output(
// // z.object({
// // users: z.array(
// // z.object({
// // id: z.string().uuid(),
// // email: z.string().email(),
// // name: z.string(),
// // }),
// // ),
// // }),
// // )
// .query(() => {
// const users = database.users.map((user) => ({
// id: user.id,
// email: user.email,
// name: user.name,
// }));

// return { users };
// }),
// getUserById: publicProcedure
// .meta({
// openapi: {
// method: "GET",
// path: "/users/{id}",
// tags: ["users"],
// summary: "Read a user by id",
// },
// })
// .input(
// z.object({
// id: z.string().uuid(),
// }),
// )
// .output(
// z.object({
// user: z.object({
// id: z.string().uuid(),
// email: z.string().email(),
// name: z.string(),
// }),
// }),
// )
// .query(({ input }) => {
// const user = database.users.find((_user) => _user.id === input.id);

// if (!user) {
// throw new TRPCError({
// message: "User not found",
// code: "NOT_FOUND",
// });
// }

// return { user };
// }),
login: publicProcedure
.meta({
openapi: {
method: "POST",
path: "/auth/login",
tags: ["auth"],
summary: "Login as an existing user",
},
})
.input(
z.object({
email: z.string().email(),
passcode: z.preprocess(
(arg) => (typeof arg === "string" ? parseInt(arg) : arg),
z.number().min(1000).max(9999),
),
}),
)
.output(
z.object({
token: z.string(),
}),
)
.mutation(({ input }) => {
const user = database.users.find((_user) => _user.email === input.email);

if (!user) {
throw new TRPCError({
message: "User with email not found",
code: "UNAUTHORIZED",
});
}
if (user.passcode !== input.passcode) {
throw new TRPCError({
message: "Passcode was incorrect",
code: "UNAUTHORIZED",
});
}

return {
token: jwt.sign(user.id, jwtSecret),
};
}),
});

const usersRouter = t.router({
getUsers: publicProcedure
.meta({
openapi: {
method: "GET",
path: "/users",
tags: ["users"],
summary: "Read all users",
},
})
// .input(z.void())
// .output(
// z.object({
// users: z.array(
// z.object({
// id: z.string().uuid(),
// email: z.string().email(),
// name: z.string(),
// }),
// ),
// }),
// )
.query(() => {
const users = database.users.map((user) => ({
id: user.id,
email: user.email,
name: user.name,
}));

return { users };
}),
getUserById: publicProcedure
.meta({
openapi: {
method: "GET",
path: "/users/{id}",
tags: ["users"],
summary: "Read a user by id",
},
})
.input(
z.object({
id: z.string().uuid(),
}),
)
.output(
z.object({
user: z.object({
id: z.string().uuid(),
email: z.string().email(),
name: z.string(),
}),
}),
)
.query(({ input }) => {
const user = database.users.find((_user) => _user.id === input.id);

if (!user) {
throw new TRPCError({
message: "User not found",
code: "NOT_FOUND",
});
}

return { user };
}),
});

const postsRouter = t.router({
Expand Down Expand Up @@ -419,8 +419,8 @@ const postsRouter = t.router({

export const appRouter = t.router({
auth: authRouter,
// users: usersRouter,
// posts: postsRouter,
users: usersRouter,
posts: postsRouter,
});

export type AppRouter = typeof appRouter;

0 comments on commit af9c5fa

Please sign in to comment.