@sheetbase/server
Build server app on Google Apps Script.
Installation
-
Install:
npm install --save @sheetbase/server
-
Usage:
// 1. import module
import { ServerModule } from "@sheetbase/server";
// 2. create an instance
export class App {
// the object
serverModule: ServerModule;
// initiate the instance
constructor() {
this.serverModule = new ServerModule(/* options */);
}
}
Options
Name | Type | Description |
---|---|---|
apiKeys? | ApiKeys |
Multiple api keys |
appName? | undefined | string |
The unique app name |
failure? | undefined | function |
Handler for invalid api key |
key? | undefined | string |
Single api key |
trigger? | undefined | function |
Trigger every time an api key is used |
views? | undefined | string |
The view template folder |
Lib
The Lib
class.
Lib properties
Lib methods
Function | Returns type | Description |
---|---|---|
registerRoutes(routeEnabling?, middlewares?) | RouterService |
Expose the module routes |
useAPIKeyMiddleware() | RoutingHandler |
Get the API key middleware |
registerRoutes(routeEnabling?, middlewares?)
registerRoutes(routeEnabling?, middlewares?)
Expose the module routes
Parameters
Param | Type | Description |
---|---|---|
routeEnabling | true | DisabledRoutes |
|
middlewares | Middlewares | RouteMiddlewares |
Returns
useAPIKeyMiddleware()
useAPIKeyMiddleware()
Get the API key middleware
Returns
Routing
ServerModule provides REST API endpoints allowing clients to access server resources. Theses enpoints are not exposed by default, to expose the endpoints:
ServerModule.registerRoutes(routeEnabling?);
Errors
ServerModule returns these routing errors, you may use the error code to customize the message:
-
server/no-app-name
: No unique "appName" provided
Routes
Routes overview
Route | Method | Disabled | Description |
---|---|---|---|
/logging | PUT |
true |
Set a server log |
/system | GET |
Get the system infomation |
Routes detail
PUT
/logging
PUT
/loggingDISABLED
Set a server log
Request body
Name | Type | Description |
---|---|---|
level | LoggingLevel |
|
value | LoggingValue |
Response
void
GET
/system
GET
/systemGet the system infomation
Response
object
License
@sheetbase/server is released under the MIT license.