ActionLogin.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import {actionFullUserFindOne} from "./ActionUserFind";
  2. const {actionAuthLogin} = require("../reducers/AuthReducer");
  3. const {actionPromise} = require("../reducers/PromiseReducer");
  4. const {gql} = require("./PathDB");
  5. const actionLogin = (login, password) => {
  6. return actionPromise('login', gql(`query login($login: String, $password: String){
  7. login(login: $login, password: $password)
  8. }`, {login: login, password: password}))
  9. }
  10. export const actionFullLogin = (login, password) =>
  11. async dispatch => {
  12. let token = await dispatch(actionLogin(login, password))
  13. if (token){
  14. let user = await dispatch(actionAuthLogin(token))
  15. if (user) {
  16. localStorage?.userId &&
  17. dispatch(actionFullUserFindOne(localStorage?.userId))
  18. }
  19. }
  20. }
  21. export const actionRegister = (login, password) => {
  22. return actionPromise('register', gql(`mutation register($login:String, $password: String){
  23. UserUpsert(user:{
  24. login: $login,
  25. password: $password,
  26. nick: $login}){
  27. _id login
  28. }
  29. }`, {login: login, password: password}))
  30. }
  31. export const actionFullRegister = (login, password) =>
  32. async dispatch => {
  33. let allow = await dispatch(actionRegister(login, password))
  34. if (allow) {
  35. let token = await dispatch(actionLogin(login, password))
  36. if (token) {
  37. let user = await dispatch(actionAuthLogin(token))
  38. if (user) {
  39. localStorage?.userId &&
  40. dispatch(actionFullUserFindOne(localStorage?.userId))
  41. }
  42. }
  43. }
  44. }