@sheetbase/storage
v3.0.2
Published
Sheetbase file management with Drive.
Downloads
2
Maintainers
Readme
@sheetbase/storage
Sheetbase file management with Drive.
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 */);
}
}
| Name | Type | Description | | -------------------------------------------------------------------------------------------- | --------------------------------------- | ----------- | | allowTypes? | string[] | | | maxSize? | undefined | number | | | nested? | undefined | false | true | | | uploadFolder | string | | | urlBuilder? | string[] | function | |
The Lib
class.
| Name | Type | Description | | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------- | | helperService | HelperService | | | optionService | OptionService | | | storageRoute | StorageRoute | | | storageService | StorageService | |
| Function | Returns type | Description | | --------------------------------------------------------------------- | ---------------------------- | ------------------------ | | registerRoutes(routeEnabling?, middlewares?) | RouterService<> | Expose the module routes |
Expose the module routes
Parameters
| Param | Type | Description | | ------------- | -------------------------------------------- | ----------- | | routeEnabling | true | DisabledRoutes | | | middlewares | Middlewares | RouteMiddlewares | |
Returns
RouterService<>
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?);
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).
| 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 |
DISABLED
delete a file
Request body
| Name | Type | Description | | ------ | ---------- | ----------- | | id | string | |
Middleware data
| Name | Type | Description | | -------- | ------------ | ----------- | | auth | AuthData | |
Response
void
Get file information
Request query
| Name | Type | Description | | ------ | ---------- | ----------- | | id | string | |
Middleware data
| Name | Type | Description | | ----- | ------------ | ----------- | | auth? | AuthData | |
Response
FileInfo
DISABLED
update a file
Request body
| Name | Type | Description | | ---------- | ------------------ | ----------- | | id | string | | | update | FileUpdateData | |
Middleware data
| Name | Type | Description | | -------- | ------------ | ----------- | | auth | AuthData | |
Response
void
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[]
License
@sheetbase/storage is released under the MIT license.