You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
planka_custom/server/api/helpers/users/get-one.js

30 lines
589 B
JavaScript

module.exports = {
inputs: {
criteria: {
type: 'json',
custom: (value) => _.isString(value) || _.isPlainObject(value),
required: true,
},
withDeleted: {
type: 'boolean',
defaultsTo: false,
},
},
async fn(inputs) {
const criteria = {};
if (_.isString(inputs.criteria)) {
criteria.id = inputs.criteria;
} else if (_.isPlainObject(inputs.criteria)) {
Object.assign(criteria, inputs.criteria);
}
if (!inputs.withDeleted) {
criteria.deletedAt = null;
}
return User.findOne(criteria);
},
};