gql-queries-backurl.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. export const getGQL = url =>
  2. async (query, variables = {}) => {
  3. let obj = await fetch(url, {
  4. method: 'POST',
  5. headers: {
  6. "Content-Type": "application/json",
  7. Authorization: localStorage.authToken ? 'Bearer ' + localStorage.authToken : {},
  8. },
  9. body: JSON.stringify({ query, variables })
  10. })
  11. let a = await obj.json()
  12. if (!a.data && a.errors)
  13. throw new Error(JSON.stringify(a.errors))
  14. return a.data[Object.keys(a.data)[0]]
  15. }
  16. export const backURL = 'http://player.asmer.fs.a-level.com.ua'
  17. export const gql = getGQL(backURL + '/graphql');
  18. export const queries = {
  19. "/user/:_id": match => ({name: 'trackFindByOwner1',
  20. query: `query trackFindByOwner($q: String){
  21. TrackFind(query: $q){ _id url originalFileName}}`,
  22. variables: { q: JSON.stringify([{ ___owner: match.params._id }]) } }),
  23. "/myPlaylist/:_id": match => ({name: 'playlistById',
  24. query: `query playlistById($q: String){
  25. PlaylistFindOne(query: $q){
  26. _id name owner {login} tracks {_id url originalFileName}
  27. }
  28. }`, variables:{ q: JSON.stringify([{ _id: match.params._id }]) } }),
  29. }