UNPKG

paradigm-core

Version:
152 lines (118 loc) 3.03 kB
const {RootController} = require('structure-core') const ThemeModel = require('../models/theme') /** * ThemeController Class * * @public * @class ThemeController */ class ThemeController extends RootController { /** * ThemeController constructor * * @public * @constructor * @param {Object} options - Options */ constructor(options = {}) { super(Object.assign({}, { name: 'themes' }, options)) } /** * Create new theme * * @public * @param {Object} req - Express req * @param {Object} res - Express res */ async create(req, res) { const applicationId = req.headers.applicationid const organizationId = req.headers.organizationid const themeModel = new ThemeModel({ applicationId, logger: this.logger, organizationId }) const pkg = req.body if(!pkg.applicationId) { pkg.applicationId = req.headers.applicationid } if(!pkg.organizationId) { pkg.organizationId = req.headers.organizationid } return themeModel.create(pkg, { applicationId: req.headers.applicationid, organizationId: req.headers.organizationid }) } deleteById(req, res) { const applicationId = req.headers.applicationid const organizationId = req.headers.organizationid const themeModel = new ThemeModel({ applicationId, logger: this.logger, organizationId }) return themeModel.deleteById(req.params.id, { applicationId: req.headers.applicationid, organizationId: req.headers.organizationid }) } /** * Get all themes * * @public * @param {Object} req - Express req * @param {Object} res - Express res */ getAll(req, res) { const applicationId = req.headers.applicationid const organizationId = req.headers.organizationid const themeModel = new ThemeModel({ applicationId, logger: this.logger, organizationId }) return themeModel.getAll([], { applicationId: req.headers.applicationid, organizationId: req.headers.organizationid }) } /** * Get a theme by id * * @public * @param {Object} req - Express req * @param {Object} res - Express res */ getById(req, res) { const applicationId = req.headers.applicationid const organizationId = req.headers.organizationid const themeModel = new ThemeModel({ applicationId, logger: this.logger, organizationId }) return themeModel.getById(req.params.id) } /** * Update a theme * * @public * @param {Object} req - Express req * @param {Object} res - Express res */ updateById(req, res) { const applicationId = req.headers.applicationid const organizationId = req.headers.organizationid const themeModel = new ThemeModel({ applicationId, logger: this.logger, organizationId }) const pkg = req.body return themeModel.updateById(req.params.id, pkg) } } module.exports = ThemeController