UNPKG

create-mock-backend

Version:

This is npx starter package for installing your favourite backend template for mockBee.

67 lines (60 loc) 1.43 kB
import { Response } from "miragejs"; import { requiresAuth } from "../utils/authUtils"; /** * All the routes related to user are present here. * */ /** * This handler handles gets all users in the db. * send GET Request at /api/users * */ export const getAllUsersHandler = function () { return new Response(200, {}, { users: this.db.users }); }; export const getUserHandler = function (schema, request) { const userId = request.params.userId; try { const user = this.db.users.findBy({ _id: userId }); return new Response(200, {}, { user }); } catch (error) { return new Response( 500, {}, { error, } ); } }; /** * This handler handles updating user details. * send POST Request at /api/users/edit * body contains { userData } * */ export const editUserHandler = function (schema, request) { let user = requiresAuth.call(this, request); try { if (!user) { return new Response( 404, {}, { errors: [ "The username you entered is not Registered. Not Found error", ], } ); } const { userData } = JSON.parse(request.requestBody); user = { ...user, ...userData }; this.db.users.update({ _id: user._id }, user); return new Response(201, {}, { user }); } catch (error) { return new Response( 500, {}, { error, } ); } };