find-actions.js 923 B

1234567891011121314151617181920212223242526272829303132
  1. import {actionPromise} from "../reducers";
  2. import {call, select, takeEvery} from "redux-saga/effects";
  3. import {promiseWorker} from "../reducers/promiseReducer";
  4. import {gql} from "./index";
  5. export const actionUserFind = () => actionPromise('userFind', gql(`query {
  6. UserFind(query: "[{}]"){
  7. _id login
  8. }
  9. }`))
  10. export const actionPlaylistFindByOwner = () =>
  11. ({type:'FIND_MY_PLAYLISTS'})
  12. export function* playlistFindByOwnerWorker () {
  13. let { auth } = yield select();
  14. let userId = auth?.payload?.sub?.id;
  15. yield call (promiseWorker, actionPromise('playlistFindByOwner', gql(`query playlistFindByOwner ($q: String) {
  16. PlaylistFind(query: $q) {
  17. _id name owner {login}
  18. }
  19. }`, { q: JSON.stringify([{ ___owner: userId }]) })))
  20. }
  21. export function* playlistFindByOwnerWatcher() {
  22. yield takeEvery ('FIND_MY_PLAYLISTS',playlistFindByOwnerWorker)
  23. }