@zcatalyst/filestore
Version:
ZOHO CATALYST SDK for JavaScript Filestore for Node.js and Browser.
175 lines (129 loc) • 3.85 kB
Markdown
ZOHO CATALYST SDK for JavaScript Filestore for Node.js and Browser.
<p></p>
To install this package, simply type add or install @zcatalyst/filestore
using your favorite package manager:
- `npm install @zcatalyst/filestore`
- `yarn add @zcatalyst/filestore`
- `pnpm add @zcatalyst/filestore`
The Catalyst SDK is modulized by Components.
To send a request, you only need to import the `Filestore`:
```js
// ES5 example
const { Filestore } = require("@zcatalyst/filestore");
```
```ts
// ES6+ example
import { Filestore } from "@zcatalyst/filestore";
```
To send a request, you:
- Create a Filestore Instance.
- Call the filestore operation with input parameters.
```js
const filestore = new Filestore();
const folderDetails = await filestore.getFolderDetails(1510000000109545);
```
We recommend using [await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await)
operator to wait for the promise returned by send operation as follows:
```js
// async/await.
try {
const folder = filestore.folder(48326487236487);
const params = {
code: fs.createReadStream("sample.csv"),
name: "sample.csv",
};
const data = await folder.uploadFile(params);
// process data.
} catch (error) {
// error handling.
} finally {
// finally.
}
```
Async-await is clean, concise, intuitive, easy to debug and has better error handling
as compared to using Promise chains or callbacks.
You can also use [Promise chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#chaining)
to execute send operation.
```js
filestore.getFolderDetails(1510000000109545).then(
(data) => {
// process data.
},
(error) => {
// error handling.
}
);
```
Promises can also be called using `.catch()` and `.finally()` as follows:
```js
filestore
.getFolderDetails(1510000000109545)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
})
.finally(() => {
// finally.
});
```
We do not recommend using callbacks because of [callback hell](http://callbackhell.com/),
but they are supported by the send operation.
```js
// callbacks.
filestore.getFolderDetails(1510000000109545, (err, data) => {
// process err and data.
});
```
When the service returns an exception, the error will include the exception information,
as well as response metadata (e.g. request id).
```js
try {
const data = await filestore.getFolderDetails(1510000000109545);
// process data.
} catch (error) {
const message = error.message;
const status = error.statusCode;
console.log({ message, status });
}
```
Contributions to this library are always welcome and highly encouraged.
See [CONTRIBUTING](../../CONTRIBUTING.md) for more information on how to get started.
This SDK is distributed under the Apache License 2.0. See [LICENSE](../../LICENCE) file for more information.
<details>
<summary>
GetFolderDetails
</summary>
<!-- [SDK Samples](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/file-store/retrieve-folder-details/)[API References]() -->
</details>
<details>
<summary>
UploadFile
</summary>
<!-- [SDK Samples](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/file-store/upload-file/)[API References]() -->
</details>
<details>
<summary>
DownloadFile
</summary>
<!-- [SDK Samples](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/file-store/download-file-from-folder/)[API References]() -->
</details>
<details>
<summary>
DeleteFile
</summary>
<!-- [SDK Samples](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/cloud-scale/file-store/delete-file/)[API References]() -->
</details>