New data model backups and move backups to API endpoints

This commit is contained in:
advplyr 2022-03-18 13:44:29 -05:00
parent eea3e2583c
commit c9ea5dd2d7
7 changed files with 73 additions and 87 deletions

View file

@ -3,6 +3,14 @@ const Logger = require('../Logger')
class BackupController {
constructor() { }
async create(req, res) {
if (!req.user.isRoot) {
Logger.error(`[BackupController] Non-Root user attempting to craete backup`, req.user)
return res.sendStatus(403)
}
this.backupManager.requestCreateBackup(res)
}
async delete(req, res) {
if (!req.user.isRoot) {
Logger.error(`[BackupController] Non-Root user attempting to delete backup`, req.user)
@ -27,5 +35,18 @@ class BackupController {
}
this.backupManager.uploadBackup(req, res)
}
async apply(req, res) {
if (!req.user.isRoot) {
Logger.error(`[BackupController] Non-Root user attempting to apply backup`, req.user)
return res.sendStatus(403)
}
var backup = this.backupManager.backups.find(b => b.id === req.params.id)
if (!backup) {
return res.sendStatus(404)
}
await this.backupManager.requestApplyBackup(backup)
res.sendStatus(200)
}
}
module.exports = new BackupController()