about-me-actions.js 866 B

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