about-me-actions.js 801 B

123456789101112131415161718192021222324252627282930313233
  1. import {put, select, takeEvery} from "redux-saga/effects";
  2. import {gql} from "./gql-queries-backurl";
  3. import {actionPromise} from "../reducers";
  4. export const actionUserFindOne = (_id, name = "userFindOne") =>
  5. actionPromise(
  6. name,
  7. gql(
  8. `query userFindOne($myid: String) {
  9. UserFindOne(query: $myid) {
  10. _id createdAt login nick avatar {url}
  11. }
  12. }`,
  13. { myid: JSON.stringify([{ _id }]) }
  14. )
  15. );
  16. export const actionAboutMe = () =>
  17. ({type:'ABOUT_ME'})
  18. export function* aboutMeWorker () {
  19. let { auth } = yield select();
  20. let id = auth?.payload?.sub.id;
  21. if (id) {
  22. yield put(actionUserFindOne(id, "aboutMe"));
  23. }
  24. };
  25. export function* aboutMeWatcher() {
  26. yield takeEvery ('ABOUT_ME',aboutMeWorker)
  27. }