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.

48 lines
1.3 KiB
JavaScript

import UserService from '../services/UserService.js';
class UserController {
async getAll(req, res, next) {
try {
const {page, search} = req.query;
const users = await UserService.getAll({page, search});
res.set('Access-Control-Expose-Headers', 'X-total-count');
res.set('X-total-count', users.count);
return res.json(users);
} catch (e) {
next(e);
}
}
async getOne(req, res, next) {
try {
const { id } = req.params;
const user = await UserService.getOne({id});
return res.json(user);
} catch (e) {
next(e);
}
}
async edit(req, res, next) {
try {
const { id } = req.params;
const {login, password} = req.body;
const user = await UserService.edit({id, login, password});
return res.json(user);
} catch (e) {
next(e);
}
}
async delete(req, res, next) {
try {
const { id } = req.params;
const user = await UserService.delete({id});
return res.json(user);
} catch (e) {
next(e);
}
}
}
export default new UserController();