Advertisement
archit_jain

Admin routes

Jul 11th, 2021
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. const express = require('express')
  2. const bcrypt = require("bcryptjs");
  3. const router = express.Router()
  4. const Admin = require('../models/admin')
  5. const passport = require("passport");
  6.  
  7.  
  8. router.post("/admin/register", async (req, res) => {
  9. let response={
  10. status:'100',
  11. success:'',
  12. msg:'',
  13. type:'',
  14. }
  15. const hashedPassword = await bcrypt.hash(req.body.password, 10);
  16. const newUser = new Admin({
  17. username: req.body.username,
  18. password: hashedPassword,
  19. email: req.body.email,
  20. mobile_number: req.body.mobile_number,
  21. org_id: req.body.org_id
  22. });
  23. await newUser.save()
  24. .then(user=>{
  25. console.log("created a admin " + user)
  26. response.status="200";
  27. response.success=true;
  28. response.msg="Admin created";
  29. response.type="ADMIN";
  30. return res.status(200).json(response)
  31. })
  32. .catch(err=>{
  33. console.log(err)
  34. console.log("username or email or mobile number already exists")
  35. response.status="400";
  36. response.success=false;
  37. response.msg="username or email or mobile number already exists";
  38. response.type="ADMIN_FAIL";
  39. return res.status(400).json(response)
  40. })
  41. });
  42.  
  43. router.post("/admin/login", (req, res, next) => {
  44. let response={
  45. status:'100',
  46. success:'',
  47. msg:'',
  48. type:'',
  49. }
  50. passport.authenticate("local", (err, user, info) => {
  51. if (err) throw err;
  52. if (!user) {
  53. console.log("Invalid username or password")
  54. response.status="400";
  55. response.success=false;
  56. response.msg="Invalid username or password";
  57. response.type="ADMIN_LOGIN_FAIL";
  58. res.status(400).json(response);
  59. }
  60. else {
  61. req.logIn(user, (er) => {
  62. if (er){ throw er;}
  63. console.log("Successfully Authenticated "+ user )
  64. response.status="200";
  65. response.success=true;
  66. response.msg="Successfully Authenticated";
  67. response.type="ADMIN_LOGIN";
  68. res.status(200).json(response);
  69. });
  70. }
  71. })(req, res, next);
  72. });
  73.  
  74. router.post('/admin/logout', (req, res) => {
  75. let response={
  76. status:'100',
  77. success:'',
  78. msg:'',
  79. type:'',
  80. }
  81. if(!req.user){
  82. console.log("No admin user logged in")
  83. response.status="400";
  84. response.success=false;
  85. response.msg="no admin user present";
  86. response.type="ADMIN_NOUSER";
  87. res.status(400).json(response);
  88. }
  89. else
  90. {
  91. console.log("User : "+ JSON.stringify(req.user))
  92. response.status="200";
  93. response.success=true;
  94. response.msg=req.user;
  95. response.type="ADMIN_USER";
  96. req.logout()
  97. res.status(200).json(response);
  98. }
  99. });
  100.  
  101. router.get("/admin/user", (req, res) => {
  102. let response={
  103. status:'100',
  104. success:'',
  105. msg:'',
  106. type:'',
  107. }
  108. if(!req.user){
  109. console.log("No admin user logged in")
  110. response.status="400";
  111. response.success=false;
  112. response.msg="no user present";
  113. response.type="ADMIN_NOUSER";
  114. res.status(400).json(response);
  115. }
  116. else
  117. {
  118. console.log("User : "+ JSON.stringify(req.user))
  119. response.status="200";
  120. response.success=true;
  121. response.msg=req.user;
  122. response.type="ADMIN_USER";
  123. res.status(200).json(response);
  124. }
  125. });
  126.  
  127.  
  128. module.exports = router
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement