Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

42 рядки
1.5 KiB

  1. import auth from "../../../api/auth/auth";
  2. import Cookies from "cookies";
  3. export default async function handler(req, res) {
  4. if (req.method == "POST") {
  5. const cookies = new Cookies(req, res);
  6. var email = req.body.email;
  7. var pass = req.body.pass;
  8. var partner = req.body.partner;
  9. var resp = await auth.login(partner, email, pass);
  10. var login = resp["res"];
  11. // console.log(login["DATA"]);
  12. if (login["STATUS"] == 0) {
  13. return res
  14. .status(400)
  15. .send(login["DATA"] + ". Check user and password again.");
  16. }
  17. var userObj = resp["cookies"]["user"];
  18. await cookies.set("myToken", resp["cookies"]["token"], {
  19. httpOnly: true, // true by default
  20. });
  21. await cookies.set("user", JSON.stringify(userObj), {
  22. httpOnly: true, // true by default
  23. });
  24. let sessionId = userObj["partners_login_states"].filter(
  25. (i) =>
  26. i.business_partner &&
  27. i.business_partner.name.toUpperCase() == partner.toUpperCase()
  28. );
  29. if (sessionId.length == 0) return res.status(400).send("Login Failed");
  30. return res.status(200).send("Success Login");
  31. // res.status(200).json(login);
  32. // res.writeHead(200, {
  33. // Location: "../home",
  34. // //add other headers here...
  35. // });
  36. // res.end();
  37. } else {
  38. return res.status(400).send("NOT FOUND");
  39. }
  40. }