UNPKG

@opengis/fastify-table

Version:

core-plugins

45 lines (44 loc) 2.48 kB
import config from "../../../config.js"; import suggest from "./controllers/suggest.js"; import data from "./controllers/tableData.js"; import cardTabData from "./controllers/cardTabData.js"; import cardData from "./controllers/cardData.js"; import dataInfo from "./controllers/dataInfo.js"; import tableInfo from "./controllers/tableInfo.js"; import tokenInfo from "./controllers/tokenInfo.js"; import card from "./controllers/card.js"; import search from "./controllers/search.js"; import filter from "./controllers/filter.js"; // import form from './controllers/form.js'; import form from "./controllers/getFormByTable.js"; import loadTemplatePath from "../../plugins/table/funcs/loadTemplatePath.js"; import { tableDataSchema, tableSchema, searchSchema, suggestSchema, formSchema, filterSchema, cardTabDataSchema, tableDataIdSchema, } from "./schema.js"; const policy = "L0"; function plugin(app, opt = {}) { app.get("/token-info/:token", { config: { role: "admin" } }, tokenInfo); app.get("/table-filter/:table", { config: { policy }, schema: filterSchema }, filter); app.get("/table-info/:table/:id?", { config: { policy }, schema: tableDataSchema }, tableInfo); app.get("/suggest/:data", { config: { policy, rateLimit: config.rateLimit ? { max: config.rateLimit?.suggest?.max || 10000, timeWindow: config.rateLimit?.suggest?.timeWindow || "1 minute", } : undefined, }, schema: suggestSchema, }, suggest); app.get("/data/:table/:id?", { config: { policy }, schema: tableSchema }, data); app.get("/table-data/:table", { config: { auth: "creds", policy: "L2" }, schema: tableDataSchema }, data); app.get("/table-data/:table/:id", { config: { policy }, schema: tableDataIdSchema }, cardData); app.get("/data-info/:id?", { config: { policy }, schema: tableSchema }, dataInfo); app.get("/card-data/:token", { config: { policy }, scheme: cardTabDataSchema }, cardTabData); app.get("/card/:table/:id", { config: { policy }, schema: tableSchema }, card); app.get("/search", { config: { policy }, schema: searchSchema }, search); app.get("/templates", () => loadTemplatePath); app.get("/filter/:table", { config: { policy }, schema: filterSchema }, filter); app.get("/form/:name/:id?", { config: { auth: "creds", policy: "L2" }, schema: formSchema }, form); } export default plugin;