@sheetbase/storage
v3.0.2
Published
Sheetbase file management with Drive.
Maintainers
Readme
@sheetbase/storage
Sheetbase file management with Drive.
Install:
npm install --save @sheetbase/storageUsage:
// 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.
