@zcatalyst/filestore
Version:
ZOHO CATALYST SDK for JavaScript Filestore for Node.js and Browser.
81 lines (80 loc) • 2.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FilestoreAdmin = exports.Filestore = void 0;
const transport_1 = require("@zcatalyst/transport");
const utils_1 = require("@zcatalyst/utils");
const folder_1 = require("./folder");
const error_1 = require("./utils/error");
const { REQ_METHOD, CREDENTIAL_USER, COMPONENT } = utils_1.CONSTANTS;
class Filestore {
constructor(app) {
this.requester = new transport_1.Handler(app, this);
}
getComponentName() {
return COMPONENT.filestore;
}
async getAllFolders() {
const request = {
method: REQ_METHOD.get,
path: `/folder`,
service: "baas",
track: true,
user: CREDENTIAL_USER.user
};
const resp = await this.requester.send(request);
const jsonArr = resp.data.data;
return jsonArr.map((folder) => new folder_1.Folder(this, folder));
}
async getFolderDetails(id) {
await (0, utils_1.wrapValidatorsWithPromise)(() => {
(0, utils_1.isValidInputString)(id, 'folder_id', true);
}, error_1.CatalystFileStoreError);
const request = {
method: REQ_METHOD.get,
path: `/folder/${id}`,
service: "baas",
track: true,
user: CREDENTIAL_USER.user
};
const resp = await this.requester.send(request);
return resp.data.data;
}
folder(id) {
(0, utils_1.wrapValidators)(() => {
(0, utils_1.isValidInputString)(id, 'folder_id', true);
}, error_1.CatalystFileStoreError);
return new folder_1.Folder(this, { id: String(id) });
}
}
exports.Filestore = Filestore;
class FilestoreAdmin extends Filestore {
constructor(app) {
super(app);
}
async createFolder(name) {
await (0, utils_1.wrapValidatorsWithPromise)(() => {
(0, utils_1.isNonEmptyString)(name, 'folder_name', true);
}, error_1.CatalystFileStoreError);
const postData = {
folder_name: name
};
const request = {
method: REQ_METHOD.post,
path: '/folder',
data: postData,
type: "json",
service: "baas",
track: true,
user: CREDENTIAL_USER.admin
};
const resp = await this.requester.send(request);
return resp.data.data;
}
folder(id) {
(0, utils_1.wrapValidators)(() => {
(0, utils_1.isValidInputString)(id, 'folder_id', true);
}, error_1.CatalystFileStoreError);
return new folder_1.FolderAdmin(this, { id: String(id) });
}
}
exports.FilestoreAdmin = FilestoreAdmin;