feat: add endpoint/tool to retrieve TypeScript definitions for data entities

Implemented a new endpoint at "/types" in the DataController to return TypeScript definitions for data entities, enhancing type safety and developer experience.
This commit is contained in:
dswbx
2025-10-24 12:49:39 +02:00
parent f4a7cde487
commit 292e4595ea

View File

@@ -15,6 +15,7 @@ import type { AppDataConfig } from "../data-schema";
import type { EntityManager, EntityData } from "data/entities";
import * as DataPermissions from "data/permissions";
import { repoQuery, type RepoQuery } from "data/server/query";
import { EntityTypescript } from "data/entities/EntityTypescript";
export class DataController extends Controller {
constructor(
@@ -153,6 +154,20 @@ export class DataController extends Controller {
},
);
hono.get(
"/types",
permission(DataPermissions.entityRead),
describeRoute({
summary: "Retrieve data typescript definitions",
tags: ["data"],
}),
mcpTool("data_types"),
async (c) => {
const et = new EntityTypescript(this.em);
return c.text(et.toString());
},
);
// entity endpoints
hono.route("/entity", this.getEntityRoutes());