Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. // Let’s import our models User and Note
  2. import { Note, User } from ‘./connector’;
  3. import logger from ‘../config/logdna’;
  4. // Define the resolvers
  5. const resolvers = {
  6.  Query: {
  7.  // Handles Login of users
  8.  login(_, args) {
  9.  return new Promise((resolve, reject) => {
  10.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  11.  User.findOne({
  12.  where: {
  13.  email: args.email,
  14.  password: args.password,
  15.  },
  16.  }).then((user) => resolve(user), () => reject(logger.warn(‘Could not fetch user with email: ‘+args.email, args)));
  17.  });
  18.  },
  19.  // Handles creation of users
  20.  createUser(_, args) {
  21.  return new Promise((resolve, reject) => {
  22.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  23.  User.create({
  24.  email: args.email,
  25.  password: args.password,
  26.  firstname: args.firstname,
  27.  lastname: args.lastname,
  28.  bio: args.bio,
  29.  }).then((user) => resolve(user), () => reject(logger.warn(‘Could not create user’, args)));
  30.  });
  31.  },
  32.  // Handles fetching all created users
  33.  fetchAllUsers() {
  34.  return new Promise((resolve, reject) => {
  35.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  36.  User.all().then((users) => resolve(users), () => reject(logger.warn(‘Could not fetch all users in the database’)));
  37.  });
  38.  },
  39.  // Handles fetching the details of a particular user
  40.  fetchUser(_, args) {
  41.  return new Promise((resolve, reject) => {
  42.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  43.  User.find({
  44.  where: {
  45.  id: args.id,
  46.  },
  47.  }).then((user) => resolve(user), () => reject(logger.warn(‘Could not fetch user with id: ‘+args.id, args)));
  48.  });
  49.  },
  50.  // Handles updating a user’s details
  51.  updateUser(_, args) {
  52.  return new Promise((resolve, reject) => {
  53.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  54.  User.update({
  55.  firstname: args.firstname,
  56.  lastname: args.lastname,
  57.  password: args.password,
  58.  bio: args.bio,
  59.  }, {
  60.  where: {
  61.  id: args.id,
  62.  },
  63.  }).then((user) => resolve(user), () => reject(logger.warn(‘Could not update user with id: ‘+args.id, args)));
  64.  });
  65.  },
  66.  // Handles creating noted
  67.  createNote(_, args) {
  68.  return new Promise((resolve, reject) => {
  69.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  70.  Note.create({
  71.  title: args.title,
  72.  body: args.body,
  73.  userId: args.userId,
  74.  }).then((note) => resolve(note), () => reject(logger.warn(‘Could not create note’, args)));
  75.  });
  76.  },
  77.  // Handles fetching of a note by ID
  78.  fetchNote(_, args) {
  79.  return new Promise((resolve, reject) => {
  80.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  81.  Note.find({
  82.  id: args.id,
  83.  }).then((note) => resolve(note), () => reject(logger.warn(‘Could not fetch note with id: ‘+args.id, args)));
  84.  });
  85.  },
  86.  // Handles fetching all notes
  87.  fetchAllNotes() {
  88.  return new Promise((resolve, reject) => {
  89.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  90.  Note.all().then((notes) => resolve(notes), () => reject(logger.warn(‘Could not fetch all the notes in the database’)));
  91.  });
  92.  },
  93.  // Handles updating of a note
  94.  updateNote(_, args) {
  95.  return new Promise((resolve, reject) => {
  96.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  97.  Note.update({
  98.  title: args.title,
  99.  body: args.body,
  100.  }, {
  101.  where: {
  102.  id: args.id,
  103.  },
  104.  }).then(note => resolve(note), () => reject(logger.warn(‘Could not update note with id: ‘+args.id, args)));
  105.  });
  106.  },
  107.  // Handles deleting of note
  108.  deleteNote(_, args) {
  109.  return new Promise((resolve, reject) => {
  110.  setTimeout(() => reject(logger.warn(‘Action has taken over 15secs’)), 15000);
  111.  Note.destroy({
  112.  where: {
  113.  id: args.id,
  114.  },
  115.  }).then((note) => resolve(note), () => reject(logger.warn(‘Could not delete note with id: ‘+args.id, args)));
  116.  });
  117.  },
  118.  },
  119.  User: {
  120.  // Fetches all notes that belongs to a user
  121.  notes(user) {
  122.  return user.getNotes();
  123.  },
  124.  },
  125.  Note: {
  126.  // Fetches the owner of a particular note
  127.  user(note) {
  128.  return note.getUser();
  129.  },
  130.  },
  131. };
  132. export default resolvers;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement