import { OpenAPIHono } from "@hono/zod-openapi"; import { apiReference } from "@scalar/hono-api-reference"; import { settings } from "../../../../database/schema/settings.js"; import { db } from "../../../../database/dbclient.js"; import { eq } from "drizzle-orm"; import { getSettings } from "../../server/controller/settings/getSettings.js"; const app = new OpenAPIHono(); const serverSettings = await getSettings(); const plantToken = serverSettings.filter((n) => n.name === "plantToken") as any; //await db.select().from(settings).where(eq(settings.name, "plantToken")); let pToken = plantToken[0]?.value; const testServers = ["test1", "test2", "test3"]; if (testServers.includes(plantToken[0]?.value)) { pToken = "usbow1"; } app.get( "/docs", apiReference({ theme: "kepler", layout: "classic", defaultHttpClient: { targetKey: "node", clientKey: "axios" }, pageTitle: "Lst API Reference", hiddenClients: [ "libcurl", "clj_http", "httpclient", "restsharp", "native", "http1.1", "asynchttp", "nethttp", "okhttp", "unirest", "xhr", "fetch", "jquery", "okhttp", "native", "request", "unirest", "nsurlsession", "cohttp", "curl", "guzzle", "http1", "http2", "webrequest", "restmethod", "python3", "requests", "httr", "native", "curl", "httpie", "wget", "nsurlsession", "undici", ], url: "/api/ref", baseServerURL: "https://scalar.com", servers: [ { url: `http://${pToken}vms006:${process.env.VITE_SERVER_PORT}`, description: "Production", }, { url: `http://localhost:${process.env.VITE_SERVER_PORT}`, description: "dev server", }, ], // authentication: { // preferredSecurityScheme: {'bearerAuth'}, // }, // metaData: { // title: "Page title", // description: "My page page", // ogDescription: "Still about my my page", // ogTitle: "Page title", // ogImage: "https://example.com/image.png", // twitterCard: "summary_large_image", // // Add more... // }, }) ); export default app;