import {AbstractCall, BaseRequestPayload, BaseResponsePayload, Response} from "../../src/AbstractCall"; import {Service} from "../../src/Service"; import axios from "axios"; export class LogCall extends AbstractCall{ getRequestName(): string { return LogCall.NAME; } getService(): Service { return Service.LOGGER; } async get() : Promise> { //HOW TO NOT RESOLVE CIRCULAR DEPENDENCY if(!AbstractCall.MeetznowService) AbstractCall.MeetznowService = require("../../src/MeetznowService").MeetznowService; if(!process.env.TRAEFIK_IP) throw Error("No IP for Traefik provided! Please add the env variable TRAEFIK_IP!"); const url = `${this.useHttps}://${process.env.TRAEFIK_IP}/${this.getService()}/${this.getRequestName()}`; console.log(url); const response = await axios.post(url, this.data); if(response.status !== 200) throw new Error(response.status + " | " + response.statusText); return response.data.valueOf() } } export module LogCall { export const NAME = "LOG"; export interface RequestModel extends BaseRequestPayload{ source : Service data : object, message : string, level : "debug" | "info" | "warn" | "error" | "fatal" } export interface ResponseModel extends BaseResponsePayload{ } }