40 lines
941 B
JavaScript

'use strict';
const { getService } = require('../utils');
const { ACTIONS, FILE_MODEL_UID } = require('../constants');
const validateSettings = require('./validation/admin/settings');
module.exports = {
async updateSettings(ctx) {
const {
request: { body },
state: { userAbility },
} = ctx;
if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {
return ctx.forbidden();
}
const data = await validateSettings(body);
const adminUserId = strapi.service('admin::user-hash').hashAdminUser(ctx.state.user.email);
await getService('upload').setSettings(data, adminUserId);
ctx.body = { data };
},
async getSettings(ctx) {
const {
state: { userAbility },
} = ctx;
if (userAbility.cannot(ACTIONS.readSettings, FILE_MODEL_UID)) {
return ctx.forbidden();
}
const data = await getService('upload').getSettings();
ctx.body = { data };
},
};