Build server app on Google Apps Script.
-
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 */);
}
}
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 |
The Lib
class.
Function | Returns type | Description |
---|---|---|
registerRoutes(routeEnabling?, middlewares?) | RouterService |
Expose the module routes |
useAPIKeyMiddleware() | RoutingHandler |
Get the API key middleware |
Expose the module routes
Parameters
Param | Type | Description |
---|---|---|
routeEnabling | true | DisabledRoutes |
|
middlewares | Middlewares | RouteMiddlewares |
Returns
Get the API key middleware
Returns
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?);
ServerModule returns these routing errors, you may use the error code to customize the message:
server/no-app-name
: No unique "appName" provided
Route | Method | Disabled | Description |
---|---|---|---|
/logging | PUT |
true |
Set a server log |
/system | GET |
Get the system infomation |
DISABLED
Set a server log
Request body
Name | Type | Description |
---|---|---|
level | LoggingLevel |
|
value | LoggingValue |
Response
void
Get the system infomation
Response
object
@sheetbase/server is released under the MIT license.