add project.name/icon

This commit is contained in:
Dax Raad
2025-12-09 13:55:39 -05:00
parent ad0c4c5d89
commit fb1b6c5e6b
5 changed files with 52 additions and 17 deletions

View File

@@ -1,8 +1,10 @@
import { Hono } from "hono"
import { describeRoute } from "hono-openapi"
import { describeRoute, validator } from "hono-openapi"
import { resolver } from "hono-openapi"
import { Instance } from "../project/instance"
import { Project } from "../project/project"
import z from "zod"
import { errors } from "./error"
export const ProjectRoute = new Hono()
.get(
@@ -48,3 +50,30 @@ export const ProjectRoute = new Hono()
return c.json(Instance.project)
},
)
.patch(
"/:projectID",
describeRoute({
summary: "Update project",
description: "Update project properties such as name and icon.",
operationId: "project.update",
responses: {
200: {
description: "Updated project information",
content: {
"application/json": {
schema: resolver(Project.Info),
},
},
},
...errors(400, 404),
},
}),
validator("param", z.object({ projectID: z.string() })),
validator("json", Project.update.schema.omit({ projectID: true })),
async (c) => {
const projectID = c.req.valid("param").projectID
const body = c.req.valid("json")
const project = await Project.update({ ...body, projectID })
return c.json(project)
},
)