judge4c_backup_new/src/features/workspaces/server/route.ts

33 lines
767 B
TypeScript

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;