feat: initial prototype

This commit is contained in:
2026-02-13 15:52:13 +07:00
parent 134351b326
commit e8dbefde43
140 changed files with 12390 additions and 1369 deletions

View File

@@ -0,0 +1,30 @@
import type { UpdateUserInput } from "@minikura/db";
import { Elysia } from "elysia";
import { userService } from "../application/di-container";
import { requireAdmin, requireAuth } from "../lib/authorization";
export const userRoutes = new Elysia({ prefix: "/users" })
.use(requireAdmin)
.get("/", async () => {
const users = await userService.getAllUsers();
return users;
})
.use(requireAuth)
.get("/:id", async ({ params }) => {
const foundUser = await userService.getUserById(params.id);
return foundUser;
})
.use(requireAdmin)
.patch("/:id", async ({ params, body }) => {
const input = body as UpdateUserInput;
const updatedUser = await userService.updateUser(params.id, input);
return updatedUser;
})
.use(requireAuth)
.delete("/:id", async ({ params, user }) => {
await userService.deleteUser(user.id, params.id);
return { success: true };
});