44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import BaseController from "./BaseController";
|
|
import FrpcProcessService from "../service/FrpcProcessService";
|
|
import ResponseUtils from "../utils/ResponseUtils";
|
|
import Logger from "../core/Logger";
|
|
|
|
class LaunchController extends BaseController {
|
|
private readonly _frpcProcessService: FrpcProcessService;
|
|
|
|
constructor(frpcProcessService: FrpcProcessService) {
|
|
super();
|
|
this._frpcProcessService = frpcProcessService;
|
|
}
|
|
|
|
launch(req: ControllerParam) {
|
|
this._frpcProcessService
|
|
.startFrpcProcess()
|
|
.then(r => {
|
|
req.event.reply(req.channel, ResponseUtils.success());
|
|
})
|
|
.catch((err: Error) => {
|
|
Logger.error("LaunchController.launch", err);
|
|
req.event.reply(req.channel, ResponseUtils.fail(err));
|
|
});
|
|
}
|
|
|
|
terminate(req: ControllerParam) {
|
|
this._frpcProcessService
|
|
.stopFrpcProcess()
|
|
.then(r => {
|
|
req.event.reply(req.channel, ResponseUtils.success());
|
|
})
|
|
.catch(err => {
|
|
Logger.error("LaunchController.terminate", err);
|
|
req.event.reply(req.channel, ResponseUtils.fail(err));
|
|
});
|
|
}
|
|
|
|
getStatus(req: ControllerParam) {
|
|
const running = this._frpcProcessService.isRunning();
|
|
req.event.reply(req.channel, ResponseUtils.success(running));
|
|
}
|
|
}
|
|
|
|
export default LaunchController; |