no-playlist-track-actions.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import {actionPromise} from "../reducers";
  2. import {backURL} from "./gql-queries-backurl";
  3. import {call, put, takeEvery} from "redux-saga/effects";
  4. import {promiseWorker} from "../reducers/promiseReducer";
  5. import {actionAboutMe} from "./about-me-actions";
  6. import {actionFindMyTracks} from "./find-actions";
  7. export const actionUploadTrack = (array) => {
  8. let fd = new FormData();
  9. fd.append("track", array)
  10. return actionPromise(
  11. "uploadFile",
  12. fetch(backURL+'/track', {
  13. method: "POST",
  14. headers: localStorage.authToken
  15. ? { Authorization: "Bearer " + localStorage.authToken }
  16. : {},
  17. body: fd,
  18. }).then((res) => res.json())
  19. );
  20. };
  21. export const actionFullUploadTrack = (array=[]) =>
  22. ({type:'FULL_UPLOAD_TRACK', array})
  23. export function* fullUploadTrackWorker (action) {
  24. const {array} = action
  25. // console.log(array,'privet')
  26. if (array) {
  27. for (let i = 0; i < array.length; i++) {
  28. yield call(promiseWorker,actionUploadTrack(array[i]));
  29. yield put(actionFindMyTracks())
  30. }
  31. }
  32. yield put(actionAboutMe())
  33. }
  34. export function* fullUploadTrackWatcher () {
  35. yield takeEvery ('FULL_UPLOAD_TRACK',fullUploadTrackWorker)
  36. }
  37. //
  38. // export const actionSetTrackToPlaylist = (playlistId,trackId) =>
  39. // ({type:'SET_TRACK_TO_PLAYLIST', playlistId,trackId})
  40. //
  41. //
  42. // export function* setTrackToPlaylistWorker (action) {
  43. // const {playlistId,trackId} = action
  44. // yield call(
  45. // promiseWorker,actionPromise('createPlaylist', gql(`mutation p($playlist:PlaylistInput) {
  46. // PlaylistUpsert(playlist:$playlist) {
  47. // _id
  48. // }
  49. // }`, {playlist: {_id: playlistId,tracks:{_id: trackId }}}))
  50. // );
  51. // yield put(actionAboutMe());
  52. // };
  53. //
  54. //
  55. // export function* setTrackToPlaylistWatcher() {
  56. // yield takeEvery ('SET_TRACK_TO_PLAYLIST', setTrackToPlaylistWorker)
  57. // }