UNPKG

@zcatalyst/filestore

Version:

ZOHO CATALYST SDK for JavaScript Filestore for Node.js and Browser.

81 lines (80 loc) 2.73 kB
'use strict'; 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;