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

55 рядки
1.3 KiB

  1. const axios = require('axios').default;
  2. const debug = require('debug')('developer:note');
  3. async function getUserForLoginData(email, password) {
  4. const response = await axios({
  5. method: 'post',
  6. url: process.env.backend_url+'/api/auth/local',
  7. data: {
  8. identifier: email,
  9. password: password
  10. }
  11. }).catch(e=>console.log('error',"Error login!"));
  12. if(response && response.data){
  13. var user = response.data;
  14. var userData = await getUser(user.jwt);
  15. return {
  16. id: user.user.id,
  17. name:user.user.username,
  18. username: user.user.email,
  19. jwt:user.jwt,
  20. role: userData.role,
  21. company: userData.company!= null?userData.company.id:null,
  22. division: userData.division != null?userData.division.id:null
  23. };
  24. }
  25. return null;
  26. }
  27. async function getUser(token) {
  28. if(token){
  29. const response = await axios({
  30. method: 'get',
  31. url: process.env.backend_url+'/api/users/me',
  32. headers: {'Authorization': 'Bearer '+token},
  33. }).catch(e=>console.log('error',"Error login!"));
  34. if(response && response.data){
  35. var user = response.data;
  36. return user;
  37. }
  38. }
  39. return null;
  40. }
  41. async function getUserById(id,token) {
  42. return getUser(token);
  43. }
  44. module.exports = {
  45. getUserForLoginData,
  46. getUserById,
  47. };