@opengis/fastify-table
Version:
core-plugins
27 lines (22 loc) • 1.27 kB
JavaScript
import fp from 'fastify-plugin';
import files from './controllers/files.js';
import resize from './controllers/resize.js';
import resizeAll from './controllers/resizeAll.js';
import upload from './controllers/upload.js';
import download from './controllers/download.js';
import exportTable from './controllers/export.js';
import uploadImage from './controllers/uploadImage.js';
import deleteFileAPI from './controllers/delete.js';
import { resizeSchema } from './schema.js';
async function plugin(app, config = {}) {
const { prefix = '/api' } = config;
app.get('/files/*', { config: { policy: ['public'] } }, files);
app.get('/file/resize', { config: { policy: ['public'] }, schema: resizeSchema }, resize);
app.get('/api/resize-all', { config: { policy: ['admin', 'site'] }, schema: resizeSchema }, resizeAll);
app.post('/file/upload/*', { config: { policy: ['public'] } }, upload);
app.post('/file/upload-image/*', { config: { policy: ['public'] } }, uploadImage);
app.get('/file/download/*', { config: { policy: ['public'] } }, download);
app.get('/file/delete/*', { config: { policy: ['public'] } }, deleteFileAPI);
app.get(`${prefix}/export`, { config: { policy: ['public'] } }, exportTable);
}
export default fp(plugin);