wistroni40-bnft
Version:
Benefit platform parameters publish job template
115 lines (114 loc) • 2.49 kB
TypeScript
/**
* 專案名稱: @wistroni40/bnft
* 部門代號: ML8100
* 檔案說明: API服務器
* @CREATE Mon Feb 08 2021 下午2:56:08
* @author Steve Y Lin
* @contact Steve_Y_Lin@wistron.com #1342
* -----------------------------------------------------------------------------
* @NOTE
*/
import * as express from 'express';
import { BnftTemplate } from 'src/bnft';
/**
* API服務器
*/
export declare class Server {
/**
* 日誌
*/
private readonly logger;
/**
* API Server
*/
private readonly server;
/**
* API
*/
private api?;
/**
* 效益計算Job
*/
private benefit;
/**
* 單一實例
*/
static instance: Server;
private constructor();
/**
* 取得效益計算Job清單
*
* @method private
* @return 回傳效益計算Job清單
*/
private getBenefitList;
/**
* 取得效益Key名稱
*
* @method private
* @param req 請求
* @return 回傳效益Key名稱
*/
private getBenefitKey;
/**
* 重新上拋所有效益
*
* @method private
* @param req 請求
* @param res 回應
*/
private sendBenefit;
/**
* 重新上拋特定效益
*
* @method private
* @param req 請求
* @param res 回應
*/
private sendSpecificBenefit;
/**
* 重新上拋特定時間區間內的所有效益
*
* @method private
* @param req 請求
* @param res 會應
*/
private sendBenefitByTimeGroup;
/**
* 重新上拋特定時間區間內的特定效益
*
* @method private
* @param req 請求
* @param res 會應
*/
sendSpecificBenefitByTimeGroup(req: express.Request, res: express.Response): Promise<void>;
/**
* 重拋上拋失敗的效益
*
* @method private
* @param req 請求
* @param res 會應
*/
private sendBackupBenefit;
/**
* 啟動API Server
*
* @method public
* @return 回傳物件本身
*/
start(): Server;
/**
* 終止API Server
*
* @method public
* @return 回傳物件本身
*/
stop(): Server;
/**
* 註冊效益計算Job
*
* @method public
* @param benefit 效益計算Job
*/
register(benefit: BnftTemplate): void;
}