{"version":3,"file":"uploadService.mjs","sources":["../../lib/services/uploadService.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\n/**\n * @author Har Preet Singh\n * @created 20.05.19\n * @description\n */\n\nimport axios from 'axios';\n\nexport default class UploadService {\n  constructor(baseUrl, authToken) {\n    this.baseUrl = baseUrl;\n    this.authToken = authToken;\n  }\n\n  /**\n   * @description CREATE a distribution with the given ID.\n   * @returns {Promise}\n   * @param title dataset title\n   * @param catalog catalog\n   * @param data json/ld tupple\n   * @param token bearer token recieved after login\n   */\n  upload(title, catalog, data, token, uploadData) {\n    return new Promise((resolve, reject) => {\n      const endpoint = `${this.baseUrl}datasets/${title}?catalogue=${catalog}&data=${uploadData}`;\n      axios.put(endpoint, data,\n        {\n          headers: {\n            Authorization: `Bearer ${token}`,\n            'Content-Type': 'application/ld+json',\n          },\n        })\n        .then((response) => {\n          resolve(response);\n        })\n        .catch((error) => {\n          reject(error);\n        });\n    });\n  }\n\n  /**\n   * @description POST a distribution file to upload.\n   * @returns {Promise}\n   * @param uploadURL upload URL endpoint\n   * @param token bearer token recieved after login\n   * @param formData from data to be uploaded eg. files\n   */\n  uploadDistribution(uploadURL, token, formData) {\n    return new Promise((resolve, reject) => {\n      axios.post(uploadURL, formData, {\n        headers: {\n          Authorization: `Bearer ${token}`,\n          'Content-Type': 'multipart/form-data',\n          Accept: 'multipart/form-data',\n        },\n      }).then((response) => {\n        resolve(response);\n      }).catch((error) => {\n        reject(error);\n      });\n    });\n  }\n\n  /**\n   * @description DELETE a distribution with the given ID.\n   * @returns {Promise}\n   * @param title dataset title\n   * @param token bearer token recieved after login\n   */\n  deleteDistribution(title, catalog, rtpToken) {\n    return new Promise((resolve, reject) => {\n      const endpoint = `${this.baseUrl}datasets/${title}?useNormalizedId=true&catalogue=${catalog}`;\n      axios.delete(endpoint,\n        {\n          headers: {\n            Authorization: `Bearer ${rtpToken}`,\n            'Content-Type': 'application/ld+json',\n          },\n        })\n        .then((response) => {\n          resolve(response);\n        })\n        .catch((error) => {\n          reject(error);\n        });\n    });\n  }\n}\n"],"names":["UploadService","baseUrl","authToken","title","catalog","data","token","uploadData","resolve","reject","endpoint","axios","response","error","uploadURL","formData","rtpToken"],"mappings":";AAUA,MAAqBA,EAAc;AAAA,EACjC,YAAYC,GAASC,GAAW;AAC9B,SAAK,UAAUD,GACf,KAAK,YAAYC;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,OAAOC,GAAOC,GAASC,GAAMC,GAAOC,GAAY;AAC9C,WAAO,IAAI,QAAQ,CAACC,GAASC,MAAW;AAChC,YAAAC,IAAW,GAAG,KAAK,OAAO,YAAYP,CAAK,cAAcC,CAAO,SAASG,CAAU;AACnF,MAAAI,EAAA;AAAA,QAAID;AAAA,QAAUL;AAAA,QAClB;AAAA,UACE,SAAS;AAAA,YACP,eAAe,UAAUC,CAAK;AAAA,YAC9B,gBAAgB;AAAA,UAClB;AAAA,QACF;AAAA,MAAA,EACC,KAAK,CAACM,MAAa;AAClB,QAAAJ,EAAQI,CAAQ;AAAA,MAAA,CACjB,EACA,MAAM,CAACC,MAAU;AAChB,QAAAJ,EAAOI,CAAK;AAAA,MAAA,CACb;AAAA,IAAA,CACJ;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,mBAAmBC,GAAWR,GAAOS,GAAU;AAC7C,WAAO,IAAI,QAAQ,CAACP,GAASC,MAAW;AAChC,MAAAE,EAAA,KAAKG,GAAWC,GAAU;AAAA,QAC9B,SAAS;AAAA,UACP,eAAe,UAAUT,CAAK;AAAA,UAC9B,gBAAgB;AAAA,UAChB,QAAQ;AAAA,QACV;AAAA,MAAA,CACD,EAAE,KAAK,CAACM,MAAa;AACpB,QAAAJ,EAAQI,CAAQ;AAAA,MAAA,CACjB,EAAE,MAAM,CAACC,MAAU;AAClB,QAAAJ,EAAOI,CAAK;AAAA,MAAA,CACb;AAAA,IAAA,CACF;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,mBAAmBV,GAAOC,GAASY,GAAU;AAC3C,WAAO,IAAI,QAAQ,CAACR,GAASC,MAAW;AACtC,YAAMC,IAAW,GAAG,KAAK,OAAO,YAAYP,CAAK,mCAAmCC,CAAO;AACrF,MAAAO,EAAA;AAAA,QAAOD;AAAA,QACX;AAAA,UACE,SAAS;AAAA,YACP,eAAe,UAAUM,CAAQ;AAAA,YACjC,gBAAgB;AAAA,UAClB;AAAA,QACF;AAAA,MAAA,EACC,KAAK,CAACJ,MAAa;AAClB,QAAAJ,EAAQI,CAAQ;AAAA,MAAA,CACjB,EACA,MAAM,CAACC,MAAU;AAChB,QAAAJ,EAAOI,CAAK;AAAA,MAAA,CACb;AAAA,IAAA,CACJ;AAAA,EACH;AACF;"}