Guest User

Untitled

a guest
Dec 11th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. const logger = require('../../core/logger/app-logger').logger;
  2. import { UserModel, UserSchema } from "../../db/schemas/user.schema";
  3.  
  4. export const resolveFunctions = {
  5. Query: {
  6. getUser: async (_, { username }) => {
  7. const where = {};
  8. Object.assign(where, { username });
  9.  
  10. let user: any;
  11. let errMsg = undefined;
  12.  
  13. try {
  14. await UserModel.find(where, (err, result: any) => {
  15. user = { username: result[0].username, password: result[0].password, avatar: result[0].avatar };
  16. });
  17. } catch (err) {
  18. errMsg = err.message;
  19. logger.error(err);
  20. }
  21.  
  22. return user;
  23. }
  24. },
  25. Mutation: {
  26. addUser: async (_, { username, password, avatar }) => {
  27. const newUser = new UserModel({ username, password, avatar });
  28. let user: any, savedUser: any;
  29. let errMsg = undefined;
  30.  
  31. try {
  32. user = await newUser.save();
  33. savedUser = { username: user.username, password: user.password, avatar: user.avatar }
  34. } catch (err) {
  35. errMsg = err.message;
  36. logger.error(err);
  37. }
  38.  
  39. return { success: errMsg === undefined, errorMessage: errMsg, data: savedUser };
  40. },
  41. changePassword: async (_, { username, password }) => {
  42. const where = {};
  43. const updateDocument = {};
  44. Object.assign(where, { username });
  45. Object.assign(updateDocument, { password });
  46.  
  47. let user: any, updatedUser: any;
  48. let errMsg = undefined;
  49.  
  50. try {
  51. user = await UserModel.findOneAndUpdate(where, { $set: updateDocument }, (err, result) => {
  52. return result;
  53. });
  54.  
  55. if (user) {
  56. updatedUser = { username: user.username, password: user.password };
  57. } else {
  58. errMsg = 'User does not exists in the database';
  59. }
  60. } catch (err) {
  61. errMsg = err.message;
  62. logger.error(err);
  63. }
  64.  
  65. return { success: errMsg === undefined, errorMessage: errMsg, data: updatedUser };
  66. },
  67. deleteUser: async (_, { username }) => {
  68. const where = {};
  69. Object.assign(where, { username });
  70.  
  71. let user: any, deletedUser: any;
  72. let errMsg = undefined;
  73.  
  74. try {
  75. await UserModel.findOneAndRemove(where, (err, result: any) => {
  76. if (result) {
  77. deletedUser = { username: result.username, password: result.password };
  78. } else {
  79. errMsg = 'User does not exists in the database';
  80. }
  81. });
  82. } catch (err) {
  83. errMsg = err.message;
  84. logger.error(err);
  85. }
  86.  
  87. return { success: errMsg === undefined, errorMessage: errMsg, data: deletedUser };
  88. }
  89. }
  90. }
Add Comment
Please, Sign In to add comment