mirror of
https://github.com/strapi/strapi.git
synced 2025-07-23 09:00:19 +00:00
40 lines
936 B
JavaScript
40 lines
936 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').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 };
|
|
},
|
|
};
|