ActionLogin.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 && dispatch(actionFullUserFindOne(localStorage.userId))
  17. }
  18. }
  19. }
  20. export const actionRegister = (login, password) => {
  21. return actionPromise('register', gql(`mutation register($login:String, $password: String){
  22. UserUpsert(user:{
  23. login: $login,
  24. password: $password,
  25. nick: $login}){
  26. _id login
  27. }
  28. }`, {login: login, password: password}))
  29. }
  30. export const actionFullRegister = (login, password) =>
  31. async dispatch => {
  32. let allow = await dispatch(actionRegister(login, password))
  33. if (allow) {
  34. let token = await dispatch(actionLogin(login, password))
  35. if (token) {
  36. let user = await dispatch(actionAuthLogin(token))
  37. if (user) {
  38. localStorage?.userId && dispatch(actionFullUserFindOne(localStorage.userId))
  39. }
  40. }
  41. }
  42. }