ActionLogin.js 1.6 KB

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