UNPKG

@opengis/fastify-table

Version:

core-plugins

46 lines (34 loc) 2.31 kB
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 loadTemplatePath from '../../plugins/table/funcs/loadTemplatePath.js'; import { tableDataSchema, tableSchema, searchSchema, suggestSchema, formSchema, filterSchema, cardTabDataSchema, tableDataIdSchema, } from './schema.js'; const policy = ['public']; async function plugin(app, config = {}) { const { prefix = '/api' } = config; app.get(`${prefix}/token-info/:token`, { config: { policy: ['admin'] } }, tokenInfo); app.get(`${prefix}/table-filter/:table`, { config: { policy }, schema: filterSchema }, filter); app.get(`${prefix}/table-info/:table/:id?`, { config: { policy }, schema: tableDataSchema }, tableInfo); app.get(`${prefix}/suggest/:data`, { config: { policy }, schema: suggestSchema }, suggest); app.get(`${prefix}/data/:table/:id?`, { config: { policy: ['public', 'no-sql'] }, schema: tableSchema }, data); app.get(`${prefix}/table-data/:table`, { config: { policy: ['user', 'no-sql'] }, schema: tableDataSchema }, data); app.get(`${prefix}/table-data/:table/:id`, { config: { policy }, schema: tableDataIdSchema }, cardData); app.get(`${prefix}/card-data/:token`, { config: { policy }, scheme: cardTabDataSchema }, cardTabData); app.get(`${prefix}/data-info/:id?`, { config: { policy: ['public', 'no-sql'] }, schema: tableSchema }, dataInfo); app.get(`${prefix}/card/:table/:id`, { config: { policy }, schema: tableSchema }, card); app.get(`${prefix}/search`, { config: { policy }, schema: searchSchema }, search); app.get(`${prefix}/templates`, () => loadTemplatePath); app.get(`${prefix}/filter/:table`, { config: { policy }, schema: filterSchema }, filter); app.get(`${prefix}/form/:form`, { config: { policy }, schema: formSchema }, form); } export default plugin;