@kintone/kintone-js-sdk
Version:
The SDK of kintone REST API client on node and browser
93 lines (76 loc) • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _Common = _interopRequireDefault(require("../../utils/Common"));
var _FileModels = _interopRequireDefault(require("../../model/file/FileModels"));
var _Connection = _interopRequireDefault(require("../../connection/Connection"));
var _KintoneAPIException = _interopRequireDefault(require("../../exception/KintoneAPIException"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* File module
*/
class File {
/**
* The constructor for this module
* @param {Object} params
* @param {Connection} params.connection
*/
constructor({
connection
} = {}) {
if (!(connection instanceof _Connection.default)) {
throw new _KintoneAPIException.default(`${connection} is not an instance of Connection`);
}
this.connection = connection;
}
/**
* check required arguments
*
* @param {Object} params
* @returns {Promise<Boolean>}
*/
_validateRequiredArgs(params) {
return new Promise((resolve, reject) => {
try {
_Common.default.validateRequiredArgs(params);
resolve();
} catch (error) {
reject(error);
}
});
}
/**
* Download file from kintone
* @param {Object} params
* @param {String} params.fileKey
* @return {Promise}
*/
download({
fileKey
}) {
const dataRequest = new _FileModels.default.GetFileRequest(fileKey);
return this.connection.download(dataRequest.toJSON());
}
/**
* upload file to kintone
* @param {Object} params
* @param {String} params.fileName
* @param {String} params.fileContent
* @return {Promise}
*/
upload({
fileName,
fileContent
}) {
return this._validateRequiredArgs({
fileName,
fileContent
}).then(() => {
return this.connection.upload(fileName, fileContent);
});
}
}
var _default = File;
exports.default = _default;