mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 04:27:21 +00:00
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:
@@ -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());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user