ActionLogin.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. const {actionAuthLogin} = require("../reducers/AuthReducer");
  2. const {actionPromise} = require("../reducers/PromiseReducer");
  3. const {gql} = require("./ActionGQL");
  4. const actionLogin = (login, password) => {
  5. return actionPromise('login', gql(`query login($login: String, $password: String){
  6. login(login: $login, password: $password)
  7. }`, {login: login, password: password}))
  8. }
  9. export const actionFullLogin = (login, password) =>
  10. async dispatch => {
  11. let token = await dispatch(actionLogin(login, password))
  12. if (token){
  13. dispatch(actionAuthLogin(token))
  14. }
  15. }
  16. export const actionRegister = (login, password) => {
  17. return actionPromise('register', gql(`mutation register($login:String, $password: String){
  18. UserUpsert(user:{
  19. login: $login,
  20. password: $password,
  21. nick: $login}){
  22. _id login
  23. }
  24. }`, {login: login, password: password}))
  25. }
  26. export const actionFullRegister = (login, password) =>
  27. async dispatch => {
  28. let allow = await dispatch(actionRegister(login, password))
  29. if (allow) {
  30. let token = await dispatch(actionLogin(login, password))
  31. if (token) {
  32. console.log('good')
  33. dispatch(actionAuthLogin(token))
  34. }
  35. }
  36. }