find-actions.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 actionFindMyTracks = () =>
  11. ({type:'FIND_MY_TRACKS'})
  12. export function* findMyTracksWorker () {
  13. let { auth } = yield select();
  14. let userId = auth?.payload?.sub?.id;
  15. yield call(
  16. promiseWorker, actionPromise('findMyTracks1', gql(`query findMyTracks($q: String){
  17. TrackFind(query: $q){
  18. _id url originalFileName
  19. }
  20. }`, { q: JSON.stringify([{ ___owner: userId }]) }))
  21. );
  22. }
  23. export function* findMyTracksWatcher() {
  24. yield takeEvery ('FIND_MY_TRACKS',findMyTracksWorker)
  25. }
  26. export const actionTracksFind = () =>
  27. actionPromise('findAllTracks1', gql(`query findAllTracks {
  28. TrackFind (query: "[{}]"){
  29. _id url originalFileName
  30. }
  31. }`))
  32. export const actionPlaylistFindByOwner = () =>
  33. ({type:'FIND_MY_PLAYLISTS'})
  34. export function* playlistFindByOwnerWorker () {
  35. let { auth } = yield select();
  36. let userId = auth?.payload?.sub?.id;
  37. yield call (promiseWorker, actionPromise('playlistFindByOwner', gql(`query playlistFindByOwner ($q: String) {
  38. PlaylistFind(query: $q) {
  39. _id name owner {login}
  40. }
  41. }`, { q: JSON.stringify([{ ___owner: userId }]) })))
  42. }
  43. export function* playlistFindByOwnerWatcher() {
  44. yield takeEvery ('FIND_MY_PLAYLISTS',playlistFindByOwnerWorker)
  45. }