const axios = require('axios');

function WopiAPI() {}

WopiAPI.prototype.getPassports = function (resourceID, contentType) {
  const { publicKey, uuid, token, deviceHash } = window.viamApi.getConfig().headers;
  const requestConfig = {
    url: `${window.WOPI_URL}getPassports`,
    method: 'POST',
    headers: {
      publicKey,
      uuid,
      token,
      deviceHash,
      resourceID: encodeURI(resourceID),
      contentType: encodeURI(contentType)
    }
  };

  return axios(requestConfig);
};

WopiAPI.prototype.putDocument = function (resourceID, accessToken, file) {
  const { publicKey, uuid, token, deviceHash } = window.viamApi.getConfig().headers;

  resourceID = encodeURI(resourceID);
  const requestConfig = {
    url: `${window.WOPI_URL}files/${resourceID}/contents`,
    method: 'POST',
    headers: {
      publicKey,
      uuid,
      token,
      deviceHash
    },
    params: {
      access_token: accessToken
    },
    data: file
  };

  return axios(requestConfig);
};

module.exports = WopiAPI;