Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi-admin/controllers/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict';
const _ = require('lodash');
const {
validateUserCreationInput,
validateUserUpdateInput,
validateUsersDeleteInput,
} = require('../validation/user');
module.exports = {
async create(ctx) {
const { body } = ctx.request;
try {
await validateUserCreationInput(body);
} catch (err) {
return ctx.badRequest('ValidationError', err);
}
const attributes = _.pick(body, [
'firstname',
'lastname',
'email',
'roles',
'preferedLanguage',
]);
const userAlreadyExists = await strapi.admin.services.user.exists({
email: attributes.email,
});
if (userAlreadyExists) {
return ctx.badRequest('Email already taken');
}
const createdUser = await strapi.admin.services.user.create(attributes);
const userInfo = strapi.admin.services.user.sanitizeUser(createdUser);
// Send 201 created
ctx.created({ data: userInfo });
},
async find(ctx) {
const method = _.has(ctx.query, '_q') ? 'searchPage' : 'findPage';
const { results, pagination } = await strapi.admin.services.user[method](ctx.query);
ctx.body = {
data: {
results: results.map(strapi.admin.services.user.sanitizeUser),
pagination,
},
};
},
async findOne(ctx) {
const { id } = ctx.params;
const user = await strapi.admin.services.user.findOne({ id });
if (!user) {
return ctx.notFound('User does not exist');
}
ctx.body = {
data: strapi.admin.services.user.sanitizeUser(user),
};
},
async update(ctx) {
const { id } = ctx.params;
const { body: input } = ctx.request;
try {
await validateUserUpdateInput(input);
} catch (err) {
return ctx.badRequest('ValidationError', err);
}
if (_.has(input, 'email')) {
const uniqueEmailCheck = await strapi.admin.services.user.exists({
id_ne: id,
email: input.email,
});
if (uniqueEmailCheck) {
return ctx.badRequest('A user with this email address already exists');
}
}
const updatedUser = await strapi.admin.services.user.updateById(id, input);
if (!updatedUser) {
return ctx.notFound('User does not exist');
}
ctx.body = {
data: strapi.admin.services.user.sanitizeUser(updatedUser),
};
},
async deleteOne(ctx) {
const { id } = ctx.params;
const deletedUser = await strapi.admin.services.user.deleteById(id);
if (!deletedUser) {
return ctx.notFound('User not found');
}
return ctx.deleted({
data: strapi.admin.services.user.sanitizeUser(deletedUser),
});
},
/**
* Delete several users
* @param {KoaContext} ctx - koa context
*/
async deleteMany(ctx) {
const { body } = ctx.request;
try {
await validateUsersDeleteInput(body);
} catch (err) {
return ctx.badRequest('ValidationError', err);
}
const users = await strapi.admin.services.user.deleteByIds(body.ids);
const sanitizedUsers = users.map(strapi.admin.services.user.sanitizeUser);
return ctx.deleted({
data: sanitizedUsers,
});
},
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0059 ]-- |