@sheetbase/server
v3.0.7
Published
Build server app on Google Apps Script.
Downloads
43
Maintainers
Readme
@sheetbase/server
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.
| Name | Type | Description | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ----------- | | apiKeyMiddleware | APIKeyMiddleware | | | apiKeyService | APIKeyService | | | httpService | HttpService | | | loggingRoute | LoggingRoute | | | monitoringService | MonitoringService | | | optionService | OptionService | | | responseService | ResponseService | | | routerService | RouterService | | | serverRoute | ServerRoute | | | serverService | ServerService | |
| 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
RouterService
Get the API key middleware
Returns
RoutingHandler
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
License
@sheetbase/server is released under the MIT license.