UserService.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. const knex = require('../models/database');
  2. class UserService {
  3. constructor() {
  4. }
  5. getByToken(token) {
  6. return knex.table('Users').select('*').where('token',token).then((res) => {
  7. if (res.length === 0) {
  8. throw Error('No such user!');
  9. }
  10. return res[0];
  11. });
  12. }
  13. verify(user) {
  14. try {
  15. let { token } = user;
  16. return knex('Users').where('token',token).select(1).then((res) => {
  17. if (res.length === 0) {
  18. throw Error('No such user!');
  19. } else if (res.length > 1) {
  20. throw Error('More than one user!');
  21. }
  22. });
  23. } catch (e) {
  24. return Promise.reject(e);
  25. }
  26. }
  27. present(user){
  28. let presentUser = {
  29. username:user.username,
  30. email:user.email,
  31. token: user.token,
  32. id:user.id
  33. }
  34. return presentUser;
  35. }
  36. Change(oldUser,newUser){
  37. let user = {
  38. username:"",
  39. email:"",
  40. }
  41. if(oldUser.username !== newUser.username){
  42. user["username"] = newUser.username
  43. }
  44. else{
  45. user["username"] = oldUser.username
  46. }
  47. if(oldUser.email !== newUser.email){
  48. user["email"] = newUser.email
  49. }
  50. else{
  51. user["email"] = oldUser.email
  52. }
  53. return user;
  54. }
  55. }
  56. module.exports = new UserService();