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
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(); |