Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.
/ server Public archive

Build server apps on Google Apps Script.

License

Notifications You must be signed in to change notification settings

sheetbase/server

Repository files navigation

@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.