Merge pull request #286 from bknd-io/feat/data-types-endpoint

feat: add endpoint/tool to retrieve TypeScript definitions for data entities
This commit is contained in:
dswbx
2025-10-24 15:13:36 +02:00
committed by GitHub

View File

@@ -15,6 +15,7 @@ import type { AppDataConfig } from "../data-schema";
import type { EntityManager, EntityData } from "data/entities"; import type { EntityManager, EntityData } from "data/entities";
import * as DataPermissions from "data/permissions"; import * as DataPermissions from "data/permissions";
import { repoQuery, type RepoQuery } from "data/server/query"; import { repoQuery, type RepoQuery } from "data/server/query";
import { EntityTypescript } from "data/entities/EntityTypescript";
export class DataController extends Controller { export class DataController extends Controller {
constructor( 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 // entity endpoints
hono.route("/entity", this.getEntityRoutes()); hono.route("/entity", this.getEntityRoutes());