Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

38 righe
1.3 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. const partner = req.body.p;
  7. var user = await cookies.get("user");
  8. var token = await cookies.get("myToken");
  9. var userObj = user ? JSON.parse(user) : null;
  10. // console.log("user", userObj);
  11. let sessionId = userObj["partners_login_states"].filter(
  12. (i) =>
  13. i.business_partner &&
  14. i.business_partner.name.toUpperCase() == partner.toUpperCase()
  15. );
  16. sessionId.forEach(async (i) => {
  17. var resp = await auth.logout(i.id, token);
  18. if (resp["STATUS"] == 0) {
  19. return res.status(400).send(resp["DATA"]);
  20. }
  21. });
  22. userObj["partners_login_states"] = userObj[
  23. "partners_login_states"
  24. ].filter(
  25. (i) =>
  26. i.business_partner &&
  27. i.business_partner.name.toUpperCase() != partner.toUpperCase()
  28. );
  29. await cookies.set("user", JSON.stringify(userObj), {
  30. httpOnly: true, // true by default
  31. });
  32. return res.status(200).send("Success Logout");
  33. } else {
  34. return res.status(400).send("NOT FOUND");
  35. }
  36. }