12345678910111213141516171819202122232425262728293031323334 |
- import { call, put, select } from "redux-saga/effects";
- import { gql } from "../helpers";
- import { actionPromise } from "../reducers";
- import { promiseWorker } from "../reducers/promiseReducer";
- import { actionLogin } from "./actionLogin";
- export const actionRegister = (username, password) => ({ type: "REGISTER", payload: { username, password } });
- export function* registerWorker(action) {
- const { username, password } = action.payload || {};
- yield call(
- promiseWorker,
- actionPromise(
- "register",
- gql(
- `mutation register($username:String,$password:String){
- UserUpsert(user:{username:$username,password:$password}){
- _id username
- }
- }`,
- {
- username,
- password,
- }
- )
- )
- );
- const {
- promise: { register },
- } = yield select();
- if (register.status === "FULFILLED") {
- yield put(actionLogin(username, password));
- }
- }
|