| const { updateUserPluginsService } = require('../services/UserService'); |
| const { updateUserPluginAuth, deleteUserPluginAuth } = require('../services/PluginService'); |
|
|
| const getUserController = async (req, res) => { |
| res.status(200).send(req.user); |
| }; |
|
|
| const updateUserPluginsController = async (req, res) => { |
| const { user } = req; |
| const { pluginKey, action, auth } = req.body; |
| let authService; |
| try { |
| const userPluginsService = await updateUserPluginsService(user, pluginKey, action); |
|
|
| if (userPluginsService instanceof Error) { |
| console.log(userPluginsService); |
| const { status, message } = userPluginsService; |
| res.status(status).send({ message }); |
| } |
| if (auth) { |
| const keys = Object.keys(auth); |
| const values = Object.values(auth); |
| if (action === 'install' && keys.length > 0) { |
| for (let i = 0; i < keys.length; i++) { |
| authService = await updateUserPluginAuth(user.id, keys[i], pluginKey, values[i]); |
| if (authService instanceof Error) { |
| console.log(authService); |
| const { status, message } = authService; |
| res.status(status).send({ message }); |
| } |
| } |
| } |
| if (action === 'uninstall' && keys.length > 0) { |
| for (let i = 0; i < keys.length; i++) { |
| authService = await deleteUserPluginAuth(user.id, keys[i]); |
| if (authService instanceof Error) { |
| console.log(authService); |
| const { status, message } = authService; |
| res.status(status).send({ message }); |
| } |
| } |
| } |
| } |
|
|
| res.status(200).send(); |
| } catch (err) { |
| console.log(err); |
| res.status(500).json({ message: err.message }); |
| } |
| }; |
|
|
| module.exports = { |
| getUserController, |
| updateUserPluginsController, |
| }; |
|
|