Sheetbase file management with Drive.
Installation
Install: npm install --save @sheetbase/storage
Usage:
// 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:
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 |
| /storage | GET |
Get file information | |
| /storage | POST |
true |
update a file |
| /storage | PUT |
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.
Generated using TypeDoc