public ActionResult <RequestResponse> Exit_POST([FromHeader] string authToken, [FromHeader] string localIp, [FromHeader] string publicIp) { if (string.IsNullOrEmpty(authToken) || string.IsNullOrEmpty(localIp) || string.IsNullOrEmpty(publicIp)) { return(BadRequest()); } return(Ok(Json(RestCore.GetResponse("assistant_exit", new RequestParameter(authToken, publicIp, localIp))))); }
public ActionResult <RequestResponse> Status_GET([FromHeader] string authToken, [FromHeader] string localIp, [FromHeader] string publicIp) { if (string.IsNullOrEmpty(authToken) || string.IsNullOrEmpty(localIp) || string.IsNullOrEmpty(publicIp)) { return(BadRequest()); } return(Ok(Json(RestCore.GetResponse("gpio_status", new RequestParameter(authToken, publicIp, localIp))))); }
public ActionResult <RequestResponse> SetRemainder_POST( [FromHeader] string authToken, [FromHeader] string localIp, [FromHeader] string publicIp, [FromQuery] string remainderUid) { if (string.IsNullOrEmpty(authToken) || string.IsNullOrEmpty(localIp) || string.IsNullOrEmpty(publicIp) || string.IsNullOrEmpty(remainderUid)) { return(BadRequest()); } return(Ok(Json(RestCore.GetResponse("assistant_remainder_delete", new RequestParameter(authToken, publicIp, localIp, new object[] { remainderUid }))))); }
public ActionResult <RequestResponse> SetAlarm_POST( [FromHeader] string authToken, [FromHeader] string localIp, [FromHeader] string publicIp, [FromQuery] string alarmText, [FromQuery] DateTime alarmAt) { if (string.IsNullOrEmpty(authToken) || string.IsNullOrEmpty(localIp) || string.IsNullOrEmpty(publicIp) || string.IsNullOrEmpty(alarmText)) { return(BadRequest()); } return(Ok(Json(RestCore.GetResponse("assistant_alarm", new RequestParameter(authToken, publicIp, localIp, new object[] { alarmText, alarmAt }))))); }
internal Core(string[] args) { Console.Title = $"Initializing..."; Logger = InternalLogger.GetOrCreateLogger <Core>(this, nameof(Core)); OS.Init(true); RuntimeSpanCounter.Restart(); File.WriteAllText("version.txt", Constants.Version?.ToString()); ParseStartupArguments(); if (File.Exists(Constants.TraceLogFile)) { File.Delete(Constants.TraceLogFile); } Config = new CoreConfig(this); Config.LoadAsync().Wait(); IsUpdatesAllowed = !NoUpdates && Config.AutoUpdates; Config.LocalIP = Helpers.GetLocalIpAddress()?.ToString() ?? "-Invalid-"; Config.PublicIP = Helpers.GetPublicIP()?.ToString() ?? "-Invalid-"; if (!IsNetworkAvailable) { Logger.Warn("No Internet connection."); Logger.Info($"Starting offline mode..."); } Pins = new PinsWrapper( Config.GpioConfiguration.OutputModePins, Config.GpioConfiguration.InputModePins, Constants.BcmGpioPins, Config.GpioConfiguration.RelayPins, Config.GpioConfiguration.InfraredSensorPins, Config.GpioConfiguration.SoundSensorPins ); Controller = new GpioCore(Pins, this, Config.GpioConfiguration.GpioSafeMode); ModuleLoader = new ModuleLoader(); RestServer = new RestCore(Config.RestServerPort, Config.Debug); JobManager.AddJob(() => SetConsoleTitle(), (s) => s.WithName("ConsoleUpdater").ToRunEvery(1).Seconds()); Logger.CustomLog(FiggleFonts.Ogre.Render("LUNA"), ConsoleColor.Green); Logger.CustomLog($"---------------- Starting Luna v{Constants.Version} ----------------", ConsoleColor.Blue); IsBaseInitiationCompleted = true; PostInitiation().Wait(); InternalConfigWatcher = new ConfigWatcher(this); InternalModuleWatcher = new ModuleWatcher(this); InitiationCompleted = true; }
public ActionResult <RequestResponse> SetPin_POST( [FromHeader] string authToken, [FromHeader] string localIp, [FromHeader] string publicIp, [FromQuery] int gpioPin, [FromQuery] RestCore.GpioPinMode pinMode, [FromQuery] RestCore.GpioPinState pinState) { if (string.IsNullOrEmpty(authToken) || string.IsNullOrEmpty(localIp) || string.IsNullOrEmpty(publicIp) || gpioPin <= 0) { return(BadRequest()); } return(Ok(Json(RestCore.GetResponse("set_gpio", new RequestParameter(authToken, publicIp, localIp, new object[] { gpioPin, pinMode, pinState }))))); }