Sheetbase file management with Drive.
npm install @sheetbase/storageSheetbase file management with Drive.
- Installation
- Options
- Lib
- Lib properties
- Lib methods
- registerRoutes(routeEnabling?, middlewares?)
- Routing
- Errors
- Routes
- Routes overview
- Routes detail
- DELETE /storage
- GET /storage
- POST /storage
- PUT /storage
- Detail API reference
Installation
- Install: npm install --save @sheetbase/storage
- Usage:
``ts
// 1. import module
import { StorageModule } from "@sheetbase/storage";
// 2. create an instance
export class App {
// the object
storageModule: StorageModule;
// initiate the instance
constructor() {
this.storageModule = new StorageModule(/ options /);
}
}
`
Options
| Name | Type | Description |
| -------------------------------------------------------------------------------------------- | --------------------------------------- | ----------- |
| allowTypes? | string[] | |
| maxSize? | undefined \| number | |
| nested? | undefined \| false \| true | |
| uploadFolder | string | |
| urlBuilder? | string[] \| function | |
Lib
The Lib class.
Lib properties
| Name | Type | Description |
| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------- |
| helperService | HelperService | |
| optionService | OptionService | |
| storageRoute | StorageRoute | |
| storageService | StorageService | |
Lib methods
| Function | Returns type | Description |
| --------------------------------------------------------------------- | ---------------------------- | ------------------------ |
| registerRoutes(routeEnabling?, middlewares?) | RouterService<> | Expose the module routes |
registerRoutes(routeEnabling?, middlewares?)
Expose the module routes
Parameters
| Param | Type | Description |
| ------------- | -------------------------------------------- | ----------- |
| routeEnabling | true \| DisabledRoutes | |
| middlewares | Middlewares \| RouteMiddlewares | |
Returns
RouterService<>
---
Routing
StorageModule provides REST API endpoints allowing clients to access server resources. Theses enpoints are not exposed by default, to expose the endpoints:
`ts`
StorageModule.registerRoutes(routeEnabling?);
Errors
StorageModule returns these routing errors, you may use the error code to customize the message:
- storage/invalid-size: The file is too big.storage/invalid-type
- : The file format is not supported.storage/invalid-upload
- : Invalid upload resource.storage/no-edit
- : No EDIT permission.storage/no-file
- : File not found (no VIEW permission or trashed).
Routes
Routes overview
| Route | Method | Disabled | Description |
| ---------------------------- | -------- | -------- | ------------------------------ |
| /storage | DELETE | true | delete a file |GET
| /storage | | | Get file information |POST
| /storage | | true | update a file |PUT
| /storage | | true | upload a file / multiple files |
Routes detail
DELETE /storage
DISABLED delete a file
Request body
| Name | Type | Description |
| ------ | ---------- | ----------- |
| id | string | |
Middleware data
| Name | Type | Description |
| -------- | ------------ | ----------- |
| auth | AuthData | |
Response
void
---
GET /storage
Get file information
Request query
| Name | Type | Description |
| ------ | ---------- | ----------- |
| id | string | |
Middleware data
| Name | Type | Description |
| ----- | ------------ | ----------- |
| auth? | AuthData | |
Response
FileInfo
---
POST /storage
DISABLED update a file
Request body
| Name | Type | Description |
| ---------- | ------------------ | ----------- |
| id | string | |
| update | FileUpdateData | |
Middleware data
| Name | Type | Description |
| -------- | ------------ | ----------- |
| auth | AuthData | |
Response
void
---
PUT /storage
DISABLED upload a file / multiple files
Request body
| Name | Type | Description |
| ------- | -------------------- | ----------- |
| file? | UploadFile | |
| folder? | string | |
| rename? | RenamePolicy | |
| share? | FileSharing | |
| files? | UploadResource[] | |
Middleware data
| Name | Type | Description |
| ----- | ------------ | ----------- |
| auth? | AuthData | |
Response
FileInfo | FileInfo[]`
---
@sheetbase/storage is released under the MIT license.