diff --git a/backend/src/index.js b/backend/src/index.js index 2f642de..db32e1a 100644 --- a/backend/src/index.js +++ b/backend/src/index.js @@ -88,9 +88,12 @@ app.use('/api-docs', function (req, res, next) { app.use(cors({origin: true})); require('./auth/auth'); + +const publicRoutes = require('./routes/public'); + app.use(bodyParser.json()); -app.use('/api/public', publicRoutes); +app.use('/api', publicRoutes); app.use('/api/auth', authRoutes); app.use('/api/file', fileRoutes); app.use('/api/pexels', pexelsRoutes); diff --git a/backend/src/routes/events.js b/backend/src/routes/events.js index f644156..0dc81e9 100644 --- a/backend/src/routes/events.js +++ b/backend/src/routes/events.js @@ -1,189 +1,10 @@ const express = require('express'); -const EventsService = require('../services/events'); -const EventsDBApi = require('../db/api/events'); -const wrapAsync = require('../helpers').wrapAsync; - - -const router = express.Router(); - -const { parse } = require('json2csv'); - - const { checkCrudPermissions, } = require('../middlewares/check-permissions'); -router.use(checkCrudPermissions('events')); - - -/** - * @swagger - * components: - * schemas: - * Events: - * type: object - * properties: - - * name: - * type: string - * default: name - * description: - * type: string - * default: description - - - * budget_total: - * type: integer - * format: int64 - - * - */ - -/** - * @swagger - * tags: - * name: Events - * description: The Events managing API - */ - -/** -* @swagger -* /api/events: -* post: -* security: -* - bearerAuth: [] -* tags: [Events] -* summary: Add new item -* description: Add new item -* requestBody: -* required: true -* content: -* application/json: -* schema: -* properties: -* data: -* description: Data of the updated item -* type: object -* $ref: "#/components/schemas/Events" -* responses: -* 200: -* description: The item was successfully added -* content: -* application/json: -* schema: -* $ref: "#/components/schemas/Events" -* 401: -* $ref: "#/components/responses/UnauthorizedError" -* 405: -* description: Invalid input data -* 500: -* description: Some server error -*/ -router.post('/', wrapAsync(async (req, res) => { - const referer = req.headers.referer || `${req.protocol}://${req.hostname}${req.originalUrl}`; - const link = new URL(referer); - await EventsService.create(req.body.data, req.currentUser, true, link.host); - const payload = true; - res.status(200).send(payload); -})); - -/** - * @swagger - * /api/budgets/bulk-import: - * post: - * security: - * - bearerAuth: [] - * tags: [Events] - * summary: Bulk import items - * description: Bulk import items - * requestBody: - * required: true - * content: - * application/json: - * schema: - * properties: - * data: - * description: Data of the updated items - * type: array - * items: - * $ref: "#/components/schemas/Events" - * responses: - * 200: - * description: The items were successfully imported - * content: - * application/json: - * schema: - * $ref: "#/components/schemas/Events" - * 401: - * $ref: "#/components/responses/UnauthorizedError" - * 405: - * description: Invalid input data - * 500: - * description: Some server error - * - */ -router.post('/bulk-import', wrapAsync(async (req, res) => { - const referer = req.headers.referer || `${req.protocol}://${req.hostname}${req.originalUrl}`; - const link = new URL(referer); - await EventsService.bulkImport(req, res, true, link.host); - const payload = true; - res.status(200).send(payload); -})); - -/** - * @swagger - * /api/events/{id}: - * put: - * security: - * - bearerAuth: [] - * tags: [Events] - * summary: Update the data of the selected item - * description: Update the data of the selected item - * parameters: - * - in: path - * name: id - * description: Item ID to update - * required: true - * schema: - * type: string - * requestBody: - * description: Set new item data - * required: true - * content: - * application/json: - * schema: - * properties: - * id: - * description: ID of the updated item - * type: string - * data: - * description: Data of the updated item - * type: object - * $ref: "#/components/schemas/Events" - * required: - * - id - * responses: - * 200: - * description: The item data was successfully updated - * content: - * application/json: - * schema: - * $ref: "#/components/schemas/Events" - * 400: - * description: Invalid ID supplied - * 401: - * $ref: "#/components/responses/UnauthorizedError" - * 404: - * description: Item not found - * 500: - * description: Some server error - */ -router.put('/:id', wrapAsync(async (req, res) => { - await EventsService.update(req.body.data, req.body.id, req.currentUser); - const payload = true; - res.status(200).send(payload); -})); +const router = express.Router(); /** * @swagger diff --git a/backend/src/routes/public.js b/backend/src/routes/public.js index 8f0d0b5..30d57a1 100644 --- a/backend/src/routes/public.js +++ b/backend/src/routes/public.js @@ -1,10 +1,11 @@ + const express = require('express'); -const wrapAsync = require('../helpers').wrapAsync; const EventsDBApi = require('../db/api/events'); +const wrapAsync = require('../helpers').wrapAsync; const router = express.Router(); -router.get('/events', wrapAsync(async (req, res) => { +router.get('/events/public', wrapAsync(async (req, res) => { const payload = await EventsDBApi.findAll(req.query); res.status(200).send(payload); })); diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx index 08a5878..ae27bd6 100644 --- a/frontend/src/pages/index.tsx +++ b/frontend/src/pages/index.tsx @@ -28,7 +28,7 @@ export default function LandingPage() { useEffect(() => { const fetchEvents = async () => { try { - const response = await axios.get(`/public/events`); + const response = await axios.get(`/events/public`); setEvents(response.data.rows); setLoading(false); } catch (err) {