From 8a46d31e32fb2461450feac15b34da0edb23debe Mon Sep 17 00:00:00 2001 From: alan-w25 Date: Tue, 24 Jan 2023 17:11:39 -0500 Subject: [PATCH 1/3] Refactor submission router to routes folder --- server/api/index.js | 2 +- server/router/submission.route.js | 105 ++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 1 deletion(-) diff --git a/server/api/index.js b/server/api/index.js index e190fbbf..c1bc1567 100644 --- a/server/api/index.js +++ b/server/api/index.js @@ -2,7 +2,7 @@ const router = require('express').Router(); // endpoint routing const adminRouter = require('./admin'); -const submissionsRouter = require('./submissions'); +const submissionsRouter = require('./router/submissions.route'); router.use('/admin', adminRouter); router.use('/submissions', submissionsRouter); diff --git a/server/router/submission.route.js b/server/router/submission.route.js index e69de29b..105bd1af 100644 --- a/server/router/submission.route.js +++ b/server/router/submission.route.js @@ -0,0 +1,105 @@ +var express = require('express'); +const router = express.Router(); + +const Submission = require('../models/submission.model'); + + +/** + * @swagger + * /api/submissions: + * get: + * summary: Retrieve a list of all of the submissions + * produces: + * - application/json + * tags: + * - submissions + */ + router.get('/', async ({ res }) => { + res.status(200).send(await Submission.find({})); + }); + +/** + * @swagger + * /api/submissions/{teamID}/{submissionID}: + * get: + * summary: Retrieves the specified submission from the specified team + * produces: + * - application/json + * parameters: + * - in: path + * name: submissionID + * required: true + * type: string + * description: The submission ID + * tags: + * - submissions + */ +router.get('/:submissionID', async (req, res) => { + await Submission.findById(req.params.submissionID, (err, submission) => { + if (err) res.status(500).send(err); + res.status(200).send(submission); + }); + }); + +/** + * @swagger + * /api/submissions/{teamID}/create: + * post: + * summary: Creates a new submission + * responses: + * 200: + * produces: + * - application/json + * parameters: + * - in: path + * name: teamID + * required: true + * type: string + * description: The team ID + * - in: path + * name: submissionID + * required: true + * type: string + * description: The submission ID + * tags: + * - submissions + */ + router.post('/', (req, res) => { + // console.log(req.body); + Submission.create( + { + urls: req.body.urls, + attributes: { + description: req.body.description, + technologies: req.body.technologies, + title: req.body.title, + }, + + // categories: req.body.categories, + // there is no teamId, state, categories, flags, + // provided in the form. also, no way to handle + // images atm. + }, + (err, submission) => { + if (err) { + res.status(500).send(err); + } else { + res.status(200).json({ + message: 'success', + id: submission.id, + }); + } + }, + ); + }); + + // update a submission with new info + router.patch('/:submissionID', async (req, res) => { + await Submission.findOneAndUpdate(req.params.submissionID, req.body, { + new: true, + }); + + res.status(200).send(await Submission.findById(req.params.submissionID)); + }); + + module.exports = router; \ No newline at end of file From d6547827253cdb4a7ebf0893d57f0aea1bd98b6d Mon Sep 17 00:00:00 2001 From: alan-w25 Date: Thu, 26 Jan 2023 10:44:03 -0500 Subject: [PATCH 2/3] reformat submission router --- server/router/submission.route.js | 110 ++++++++++++++++-------------- 1 file changed, 59 insertions(+), 51 deletions(-) diff --git a/server/router/submission.route.js b/server/router/submission.route.js index 105bd1af..712f245e 100644 --- a/server/router/submission.route.js +++ b/server/router/submission.route.js @@ -1,9 +1,63 @@ -var express = require('express'); +const express = require('express'); +const { route } = require('..'); +const Submission = require('../models/submission.model'); + const router = express.Router(); -const Submission = require('../models/submission.model'); +router + .route('/') + .get(async({res}) =>{ + res.status(200).send(await Submission.find({})); + }) + .post((req,req) => { + // console.log(req.body); + Submission.create( + { + urls: req.body.urls, + attributes: { + description: req.body.description, + technologies: req.body.technologies, + title: req.body.title, + }, + + // categories: req.body.categories, + // there is no teamId, state, categories, flags, + // provided in the form. also, no way to handle + // images atm. + }, + (err, submission) => { + if (err) { + res.status(500).send(err); + } else { + res.status(200).json({ + message: 'success', + id: submission.id, + }); + } + }, + ); + }) +router + .route('/:submissionID') + .get(async(req,res)=>{ + await Submission.findById(req.params.submissionID, (err, submission) => { + if (err) res.status(500).send(err); + res.status(200).send(submission); + }); + }) + //update submission with new info + .patch(async(req,res)=>{ + await Submission.findOneAndUpdate(req.params.submissionID, req.body, { + new: true, + }); + + res.status(200).send(await Submission.findById(req.params.submissionID)); + }); + + +modules.exports = router; /** * @swagger * /api/submissions: @@ -14,9 +68,7 @@ const Submission = require('../models/submission.model'); * tags: * - submissions */ - router.get('/', async ({ res }) => { - res.status(200).send(await Submission.find({})); - }); + /** * @swagger @@ -34,12 +86,7 @@ const Submission = require('../models/submission.model'); * tags: * - submissions */ -router.get('/:submissionID', async (req, res) => { - await Submission.findById(req.params.submissionID, (err, submission) => { - if (err) res.status(500).send(err); - res.status(200).send(submission); - }); - }); + /** * @swagger @@ -63,43 +110,4 @@ router.get('/:submissionID', async (req, res) => { * description: The submission ID * tags: * - submissions - */ - router.post('/', (req, res) => { - // console.log(req.body); - Submission.create( - { - urls: req.body.urls, - attributes: { - description: req.body.description, - technologies: req.body.technologies, - title: req.body.title, - }, - - // categories: req.body.categories, - // there is no teamId, state, categories, flags, - // provided in the form. also, no way to handle - // images atm. - }, - (err, submission) => { - if (err) { - res.status(500).send(err); - } else { - res.status(200).json({ - message: 'success', - id: submission.id, - }); - } - }, - ); - }); - - // update a submission with new info - router.patch('/:submissionID', async (req, res) => { - await Submission.findOneAndUpdate(req.params.submissionID, req.body, { - new: true, - }); - - res.status(200).send(await Submission.findById(req.params.submissionID)); - }); - - module.exports = router; \ No newline at end of file + */ \ No newline at end of file From c33445939ed1757e1b586218de643c5af8a6ddd8 Mon Sep 17 00:00:00 2001 From: Giyuu Date: Sat, 28 Jan 2023 14:04:10 -0500 Subject: [PATCH 3/3] fix router file --- server/api/index.js | 2 +- server/router/submission.route.js | 111 ++++++++++++++---------------- 2 files changed, 51 insertions(+), 62 deletions(-) diff --git a/server/api/index.js b/server/api/index.js index c1bc1567..8a2860ea 100644 --- a/server/api/index.js +++ b/server/api/index.js @@ -2,7 +2,7 @@ const router = require('express').Router(); // endpoint routing const adminRouter = require('./admin'); -const submissionsRouter = require('./router/submissions.route'); +const submissionsRouter = require('../router/submission.route'); router.use('/admin', adminRouter); router.use('/submissions', submissionsRouter); diff --git a/server/router/submission.route.js b/server/router/submission.route.js index 712f245e..7753f94f 100644 --- a/server/router/submission.route.js +++ b/server/router/submission.route.js @@ -1,63 +1,6 @@ -const express = require('express'); -const { route } = require('..'); +const router = require('express').Router(); const Submission = require('../models/submission.model'); -const router = express.Router(); - -router - .route('/') - .get(async({res}) =>{ - res.status(200).send(await Submission.find({})); - }) - .post((req,req) => { - // console.log(req.body); - Submission.create( - { - urls: req.body.urls, - attributes: { - description: req.body.description, - technologies: req.body.technologies, - title: req.body.title, - }, - - // categories: req.body.categories, - // there is no teamId, state, categories, flags, - // provided in the form. also, no way to handle - // images atm. - }, - (err, submission) => { - if (err) { - res.status(500).send(err); - } else { - res.status(200).json({ - message: 'success', - id: submission.id, - }); - } - }, - ); - }) -router - .route('/:submissionID') - .get(async(req,res)=>{ - await Submission.findById(req.params.submissionID, (err, submission) => { - if (err) res.status(500).send(err); - res.status(200).send(submission); - }); - }) - //update submission with new info - .patch(async(req,res)=>{ - await Submission.findOneAndUpdate(req.params.submissionID, req.body, { - new: true, - }); - - res.status(200).send(await Submission.findById(req.params.submissionID)); - }); - - - - -modules.exports = router; /** * @swagger * /api/submissions: @@ -68,7 +11,9 @@ modules.exports = router; * tags: * - submissions */ - +router.get('/', async ({ res }) => { + res.status(200).send(await Submission.find({})); +}); /** * @swagger @@ -86,7 +31,12 @@ modules.exports = router; * tags: * - submissions */ - +router.get('/:submissionID', async (req, res) => { + await Submission.findById(req.params.submissionID, (err, submission) => { + if (err) res.status(500).send(err); + res.status(200).send(submission); + }); +}); /** * @swagger @@ -110,4 +60,43 @@ modules.exports = router; * description: The submission ID * tags: * - submissions - */ \ No newline at end of file + */ +router.post('/', (req, res) => { + // console.log(req.body); + Submission.create( + { + urls: req.body.urls, + attributes: { + description: req.body.description, + technologies: req.body.technologies, + title: req.body.title, + }, + + // categories: req.body.categories, + // there is no teamId, state, categories, flags, + // provided in the form. also, no way to handle + // images atm. + }, + (err, submission) => { + if (err) { + res.status(500).send(err); + } else { + res.status(200).json({ + message: 'success', + id: submission.id, + }); + } + }, + ); +}); + +// update a submission with new info +router.patch('/:submissionID', async (req, res) => { + await Submission.findOneAndUpdate(req.params.submissionID, req.body, { + new: true, + }); + + res.status(200).send(await Submission.findById(req.params.submissionID)); +}); + +module.exports = router; \ No newline at end of file