import {actionPromise} from "../reducers"; import {call, select, takeEvery} from "redux-saga/effects"; import {promiseWorker} from "../reducers/promiseReducer"; import {gql} from "./index"; export const actionUserFind = () => actionPromise('userFind', gql(`query { UserFind(query: "[{}]"){ _id login } }`)) export const actionFindMyTracks = () => ({type:'FIND_MY_TRACKS'}) export function* findMyTracksWorker () { let { auth } = yield select(); let userId = auth?.payload?.sub?.id; yield call( promiseWorker, actionPromise('findMyTracks1', gql(`query findMyTracks($q: String){ TrackFind(query: $q){ _id url originalFileName } }`, { q: JSON.stringify([{ ___owner: userId }]) })) ); } export function* findMyTracksWatcher() { yield takeEvery ('FIND_MY_TRACKS',findMyTracksWorker) } export const actionTracksFind = () => actionPromise('findAllTracks1', gql(`query findAllTracks { TrackFind (query: "[{}]"){ _id url originalFileName } }`)) export const actionPlaylistFindByOwner = () => ({type:'FIND_MY_PLAYLISTS'}) export function* playlistFindByOwnerWorker () { let { auth } = yield select(); let userId = auth?.payload?.sub?.id; yield call (promiseWorker, actionPromise('playlistFindByOwner', gql(`query playlistFindByOwner ($q: String) { PlaylistFind(query: $q) { _id name owner {login} } }`, { q: JSON.stringify([{ ___owner: userId }]) }))) } export function* playlistFindByOwnerWatcher() { yield takeEvery ('FIND_MY_PLAYLISTS',playlistFindByOwnerWorker) }