open-music-api-node
Version:
43 lines (33 loc) • 945 B
JavaScript
class UsersHandler {
constructor(service, validator) {
this._service = service;
this._validator = validator;
this.addUserHandler = this.addUserHandler.bind(this);
this.getUserByIdHandler = this.getUserByIdHandler.bind(this);
}
async addUserHandler(request, h) {
this._validator.validateUsersPayload(request.payload);
const { username, password, fullname } = request.payload;
const userId = await this._service.addUser({ username, password, fullname });
const response = h.response({
status: 'success',
message: 'Pengguna berhasil didaftarkan',
data: {
userId,
},
});
response.code(201);
return response;
}
async getUserByIdHandler(request) {
const { id } = request.params;
const user = await this._service.getUserById(id);
return {
status: 'success',
data: {
user,
},
};
}
}
module.exports = UsersHandler;