mirror of
https://gitlab.massbug.com/massbug/judge4c.git
synced 2025-07-04 12:02:14 +00:00
feat(workspaces): add server route for creating workspaces
This commit is contained in:
parent
ada4674997
commit
579025e62d
32
src/features/workspaces/server/route.ts
Normal file
32
src/features/workspaces/server/route.ts
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import { Hono } from "hono";
|
||||||
|
import { ID } from "node-appwrite";
|
||||||
|
import { zValidator } from "@hono/zod-validator";
|
||||||
|
import { createWorkspaceSchema } from "../schemas";
|
||||||
|
import { DATABASE_ID, WORKSPACES_ID } from "@/config";
|
||||||
|
import { sessionMiddleware } from "@/lib/session-middleware";
|
||||||
|
|
||||||
|
const app = new Hono().post(
|
||||||
|
"/",
|
||||||
|
zValidator("json", createWorkspaceSchema),
|
||||||
|
sessionMiddleware,
|
||||||
|
async (c) => {
|
||||||
|
const databases = c.get("databases");
|
||||||
|
const user = c.get("user");
|
||||||
|
|
||||||
|
const { name } = c.req.valid("json");
|
||||||
|
|
||||||
|
const workspace = await databases.createDocument(
|
||||||
|
DATABASE_ID,
|
||||||
|
WORKSPACES_ID,
|
||||||
|
ID.unique(),
|
||||||
|
{
|
||||||
|
name,
|
||||||
|
userId: user.$id,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
return c.json({ data: workspace });
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
export default app;
|
Loading…
Reference in New Issue
Block a user