| 12345678910111213141516171819202122232425 |
- import {
- Controller,
- Get,
- Header,
- Route
- } from "tsoa";
- import systemdService from "../services/systemdService";
- import ConfigurationManager from "../config";
- import {ServiceDescription} from "../models/service";
- import slavery from "../slavery";
- import {UnauthorizedMasterApiKey} from "../models/unauthorizedApi";
- @Route("/api/services")
- export class SystemdServiceController extends Controller {
- @Get("/list")
- public async getAllServices(@Header() apiKeySignature: string|undefined): Promise<ServiceDescription> {
- if (ConfigurationManager.masterPubKey && !slavery.checkMasterKey(apiKeySignature))
- throw new UnauthorizedMasterApiKey();
- let result: ServiceDescription = { services: {}};
- result.services[ConfigurationManager.hostname] = (await systemdService.getAllServices());
- await slavery.getSlaveData(result.services, "services", "/api/services/list");
- return result;
- }
- }
|