mirror of
https://github.com/sasjs/server.git
synced 2026-01-07 22:50:05 +00:00
feat: add api for getting server info
This commit is contained in:
@@ -6,3 +6,4 @@ export * from './group'
|
||||
export * from './session'
|
||||
export * from './stp'
|
||||
export * from './user'
|
||||
export * from './info'
|
||||
|
||||
37
api/src/controllers/info.ts
Normal file
37
api/src/controllers/info.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import express from 'express'
|
||||
import { Request, Security, Route, Tags, Example, Get } from 'tsoa'
|
||||
|
||||
export interface InfoResponse {
|
||||
mode: string
|
||||
cors: string
|
||||
whiteList: string[]
|
||||
protocol: string
|
||||
}
|
||||
|
||||
@Route('SASjsApi/info')
|
||||
@Tags('Info')
|
||||
export class InfoController {
|
||||
/**
|
||||
* @summary Get server info (mode, cors, whiteList, protocol).
|
||||
*
|
||||
*/
|
||||
@Example<InfoResponse>({
|
||||
mode: 'desktop',
|
||||
cors: 'enable',
|
||||
whiteList: ['http://example.com', 'http://example2.com'],
|
||||
protocol: 'http'
|
||||
})
|
||||
@Get('/')
|
||||
public info(): InfoResponse {
|
||||
const response = {
|
||||
mode: process.env.MODE ?? 'desktop',
|
||||
cors:
|
||||
process.env.CORS ?? process.env.MODE === 'server'
|
||||
? 'disable'
|
||||
: 'enable',
|
||||
whiteList: process.env.WHITELIST?.split(' ') ?? [],
|
||||
protocol: process.env.PROTOCOL ?? 'http'
|
||||
}
|
||||
return response
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user