From fed44733da870395233832f4691abea60fcdd565 Mon Sep 17 00:00:00 2001 From: b2pacific Date: Wed, 23 Dec 2020 18:43:03 +0530 Subject: [PATCH 1/3] Created plugin routes and schema --- APIs/Routes/plugins.js | 14 ++++++++++++++ APIs/app.js | 2 ++ .../pluginsController/allPlugins.js | 11 +++++++++++ .../pluginsController/createPlugin.js | 15 +++++++++++++++ .../pluginsController/onePlugin.js | 14 ++++++++++++++ APIs/models/collections/plugins.js | 19 +++++++++++++++++++ APIs/models/db.js | 1 + 7 files changed, 76 insertions(+) create mode 100644 APIs/Routes/plugins.js create mode 100644 APIs/controllers/pluginsController/allPlugins.js create mode 100644 APIs/controllers/pluginsController/createPlugin.js create mode 100644 APIs/controllers/pluginsController/onePlugin.js create mode 100644 APIs/models/collections/plugins.js diff --git a/APIs/Routes/plugins.js b/APIs/Routes/plugins.js new file mode 100644 index 0000000..f85c118 --- /dev/null +++ b/APIs/Routes/plugins.js @@ -0,0 +1,14 @@ +const express = require("express"); +const { allPlugin } = require("../controllers/pluginsController/allPlugins"); +const { createPlugin } = require("../controllers/pluginsController/createPlugin"); +const { onePlugin } = require("../controllers/pluginsController/onePlugin"); +const router = express.Router(); + +const { isAuthenticated } = require("../middlewares/auth"); + + +router.get("/get-all", isAuthenticated, allPlugin); +router.post("/create-plugin", isAuthenticated, createPlugin); +router.get("/get-one/:plugin", isAuthenticated, onePlugin); + +module.exports = router; \ No newline at end of file diff --git a/APIs/app.js b/APIs/app.js index 7c662eb..bebcf2d 100644 --- a/APIs/app.js +++ b/APIs/app.js @@ -12,6 +12,7 @@ var router = require('./Routes/index'); const folderRoutes = require('./Routes/folder'); const fileRoutes = require('./Routes/file') +const pluginRoutes = require('./Routes/plugins'); var app = express(); app.use(morgan('dev')) @@ -73,6 +74,7 @@ app.get('/logout', (req, res) => { app.use('/api/v1', router); app.use('/api/v1', folderRoutes) app.use('/api/v1', fileRoutes) +app.use('/api/v1', pluginRoutes); app.listen(config.app.port, () => console.log(`\nAPIs are Running on PORT: ${config.app.port} 😎\n`)); diff --git a/APIs/controllers/pluginsController/allPlugins.js b/APIs/controllers/pluginsController/allPlugins.js new file mode 100644 index 0000000..d128210 --- /dev/null +++ b/APIs/controllers/pluginsController/allPlugins.js @@ -0,0 +1,11 @@ +const { Plugins } = require("../../models/db"); +const { httpStatus200, httpStatus500 } = require("../../status/httpStatus"); + +exports.allPlugin = async (req, res) => { + try { + const plugins = Plugins.find(); + return res.status(200).json(httpStatus200(plugins, "Plugins")); + } catch (error) { + if (error) res.status(500).json(httpStatus500(error)); + } +}; diff --git a/APIs/controllers/pluginsController/createPlugin.js b/APIs/controllers/pluginsController/createPlugin.js new file mode 100644 index 0000000..545506f --- /dev/null +++ b/APIs/controllers/pluginsController/createPlugin.js @@ -0,0 +1,15 @@ +const { Plugins } = require("../../models/db"); +const { httpStatus200, httpStatus500 } = require("../../status/httpStatus"); + +exports.createPlugin = async (req, res) => { + try { + const plugin = await new Plugins({ + name: req.body.name, + tagline: req.body.tagline, + }); + await plugin.save(); + return res.status(200).json(httpStatus200(null)); + } catch (error) { + if (error) res.status(500).json(httpStatus500(error)); + } +}; diff --git a/APIs/controllers/pluginsController/onePlugin.js b/APIs/controllers/pluginsController/onePlugin.js new file mode 100644 index 0000000..ebb8491 --- /dev/null +++ b/APIs/controllers/pluginsController/onePlugin.js @@ -0,0 +1,14 @@ +const { Plugins } = require("../../models/db"); +const { httpStatus200, httpStatus500 } = require("../../status/httpStatus"); + +exports.onePlugin = async (req, res) => { + try { + const plugin = Plugins.findOne({name: req.params.plugin}); + if(plugin) + return res.status(200).json(httpStatus200(plugin, "Plugin")); + else + return res.status(404).json({message: "Not Found"}) + } catch (error) { + if (error) res.status(500).json(httpStatus500(error)); + } +}; diff --git a/APIs/models/collections/plugins.js b/APIs/models/collections/plugins.js new file mode 100644 index 0000000..0da2c1d --- /dev/null +++ b/APIs/models/collections/plugins.js @@ -0,0 +1,19 @@ +const mongoose = require("mongoose"); + +const pluginSchema = new mongoose.Schema({ + name: { + type: String, + required: true, + unique: true + }, + tagline: { + type: String, + required: true + }, + details: { + type: [Object], + required: true + } +}); + +module.exports = mongoose.model('Plugin', pluginSchema); diff --git a/APIs/models/db.js b/APIs/models/db.js index aff1a15..404bc08 100644 --- a/APIs/models/db.js +++ b/APIs/models/db.js @@ -43,6 +43,7 @@ db.SharedFiles = require('./collections/sharedFiles'); db.PasswordReset = require('./collections/passwordReset'); db.Folders = require('./collections/folder') db.Files = require('./collections/file') +db.Plugins = require('./collections/plugins'); db.mongoose = mongoose; From ab66e5fe1ea52f5f32abac7d7e98cfeaa3fad24e Mon Sep 17 00:00:00 2001 From: b2pacific Date: Wed, 23 Dec 2020 18:44:27 +0530 Subject: [PATCH 2/3] added await --- APIs/controllers/pluginsController/allPlugins.js | 2 +- APIs/controllers/pluginsController/onePlugin.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/APIs/controllers/pluginsController/allPlugins.js b/APIs/controllers/pluginsController/allPlugins.js index d128210..46a9f74 100644 --- a/APIs/controllers/pluginsController/allPlugins.js +++ b/APIs/controllers/pluginsController/allPlugins.js @@ -3,7 +3,7 @@ const { httpStatus200, httpStatus500 } = require("../../status/httpStatus"); exports.allPlugin = async (req, res) => { try { - const plugins = Plugins.find(); + const plugins = await Plugins.find(); return res.status(200).json(httpStatus200(plugins, "Plugins")); } catch (error) { if (error) res.status(500).json(httpStatus500(error)); diff --git a/APIs/controllers/pluginsController/onePlugin.js b/APIs/controllers/pluginsController/onePlugin.js index ebb8491..5978df9 100644 --- a/APIs/controllers/pluginsController/onePlugin.js +++ b/APIs/controllers/pluginsController/onePlugin.js @@ -3,7 +3,7 @@ const { httpStatus200, httpStatus500 } = require("../../status/httpStatus"); exports.onePlugin = async (req, res) => { try { - const plugin = Plugins.findOne({name: req.params.plugin}); + const plugin = await Plugins.findOne({name: req.params.plugin}); if(plugin) return res.status(200).json(httpStatus200(plugin, "Plugin")); else From 76835c8901315016588e928d73f3740a17b56b85 Mon Sep 17 00:00:00 2001 From: b2pacific Date: Mon, 28 Dec 2020 18:10:50 +0530 Subject: [PATCH 3/3] Added details field --- APIs/controllers/pluginsController/allPlugins.js | 2 +- APIs/controllers/pluginsController/createPlugin.js | 5 +++-- APIs/controllers/pluginsController/onePlugin.js | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/APIs/controllers/pluginsController/allPlugins.js b/APIs/controllers/pluginsController/allPlugins.js index 46a9f74..9d86769 100644 --- a/APIs/controllers/pluginsController/allPlugins.js +++ b/APIs/controllers/pluginsController/allPlugins.js @@ -6,6 +6,6 @@ exports.allPlugin = async (req, res) => { const plugins = await Plugins.find(); return res.status(200).json(httpStatus200(plugins, "Plugins")); } catch (error) { - if (error) res.status(500).json(httpStatus500(error)); + if (error) res.status(500).json(httpStatus500(error, "message")); } }; diff --git a/APIs/controllers/pluginsController/createPlugin.js b/APIs/controllers/pluginsController/createPlugin.js index 545506f..863eeb3 100644 --- a/APIs/controllers/pluginsController/createPlugin.js +++ b/APIs/controllers/pluginsController/createPlugin.js @@ -6,10 +6,11 @@ exports.createPlugin = async (req, res) => { const plugin = await new Plugins({ name: req.body.name, tagline: req.body.tagline, + details: req.body.details }); await plugin.save(); - return res.status(200).json(httpStatus200(null)); + return res.status(200).json(httpStatus200(true, "success")); } catch (error) { - if (error) res.status(500).json(httpStatus500(error)); + if (error) res.status(500).json(httpStatus500(error, "message")); } }; diff --git a/APIs/controllers/pluginsController/onePlugin.js b/APIs/controllers/pluginsController/onePlugin.js index 5978df9..b0f36f2 100644 --- a/APIs/controllers/pluginsController/onePlugin.js +++ b/APIs/controllers/pluginsController/onePlugin.js @@ -9,6 +9,6 @@ exports.onePlugin = async (req, res) => { else return res.status(404).json({message: "Not Found"}) } catch (error) { - if (error) res.status(500).json(httpStatus500(error)); + if (error) res.status(500).json(httpStatus500(error, "message")); } };