Ejemplo n.º 1
0
        public object AddSubscription(HttpRequestParams request)
        {
            var scriptId   = request.GetRequiredGuid("scriptId");
            var eventAlias = request.GetRequiredString("eventAlias");

            var database = Context.Require <DatabasePlugin>();

            if (!database.IsInitialized)
            {
                return(null);
            }

            using (var session = database.OpenSession())
            {
                var guid = Guid.NewGuid();

                var subscription = new ScriptEventHandler
                {
                    Id           = guid,
                    EventAlias   = eventAlias,
                    UserScriptId = scriptId
                };

                session.Set <ScriptEventHandler>().Add(subscription);
                session.SaveChanges();

                return(guid);
            }
        }
Ejemplo n.º 2
0
        public object EditorOpenWidget(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.OpenSession())
            {
                var widget = session.Query <Widget>()
                             .Fetch(a => a.Dashboard)
                             .Single(x => x.Id == id);

                var model = GetEditorModel(widget.TypeAlias, widget.Dashboard.Id, widget.Dashboard.Title, session);

                var parameters = session.Query <WidgetParameter>()
                                 .Where(x => x.Widget.Id == id)
                                 .ToArray();

                FillEditorModel(model, widget, parameters);

                return(new
                {
                    info = model.Item1,
                    fields = model.Item2
                });
            }
        }
Ejemplo n.º 3
0
        public object UpdateLocationWeather(HttpRequestParams request)
        {
            var locationId = request.GetRequiredGuid("locationId");

            Context.GetPlugin <WeatherPlugin>().ReloadWeatherData(locationId);

            return(null);
        }
Ejemplo n.º 4
0
        public object LoadTask(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.Require <DatabasePlugin>().OpenSession())
            {
                var task = session.Set <CronTask>().Single(x => x.Id == id);

                return(ToApiModel(task));
            }
        }
Ejemplo n.º 5
0
        public HttpHandlerResult LoadTask(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = database.OpenSession())
            {
                var task = session.Set <CronTask>().Single(x => x.Id == id);

                return(HttpHandlerResult.Json(ToApiModel(task)));
            }
        }
Ejemplo n.º 6
0
        public object RunScript(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.Require <DatabasePlugin>().OpenSession())
            {
                var script = session.Set <UserScript>().Single(s => s.Id == id);

                return(Context.Require <ScriptsPlugin>().ExecuteScript(script));
            }
        }
        public object GetWidgetList(HttpRequestParams request)
        {
            Guid dashboardId = request.GetRequiredGuid("id");

            using (var session = Context.OpenSession())
            {
                var info    = GetDashboardModel(dashboardId, session);
                var widgets = GetWidgetListModel(dashboardId, session);

                return(new { info, widgets });
            }
        }
Ejemplo n.º 8
0
        public HttpHandlerResult RunScript(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = database.OpenSession())
            {
                var script = session.Set<UserScript>().Single(s => s.Id == id);

                object result = scripts.ExecuteScript(script);

                return HttpHandlerResult.Json(result);
            }
        }
Ejemplo n.º 9
0
        public object LoadScript(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.Require <DatabasePlugin>().OpenSession())
            {
                var script = session.Set <UserScript>()
                             .Select(x => new { id = x.Id, name = x.Name, body = x.Body })
                             .Single(x => x.id == id);

                return(script);
            }
        }
Ejemplo n.º 10
0
        public object DeleteSubscription(HttpRequestParams request)
        {
            Guid subscriptionId = request.GetRequiredGuid("subscriptionId");

            using (var session = Context.OpenSession())
            {
                var subscription = session.Load <ScriptEventHandler>(subscriptionId);
                session.Delete(subscription);
                session.Flush();
            }

            return(null);
        }
Ejemplo n.º 11
0
        public object LoadScript(HttpRequestParams request)
        {
            Guid id = request.GetRequiredGuid("id");

            using (var session = Context.OpenSession())
            {
                var script = session.Query <UserScript>()
                             .Select(x => new { id = x.Id, name = x.Name, body = x.Body })
                             .FirstOrDefault(x => x.id == id);

                return(script);
            }
        }
Ejemplo n.º 12
0
        public object DeleteScript(HttpRequestParams request)
        {
            Guid scriptId = request.GetRequiredGuid("scriptId");

            using (var session = Context.OpenSession())
            {
                var subscription = session.Load <UserScript>(scriptId);
                session.Delete(subscription);
                session.Flush();
            }

            return(null);
        }
Ejemplo n.º 13
0
        public object RunScript(HttpRequestParams request)
        {
            Guid scriptId = request.GetRequiredGuid("scriptId");

            using (var session = Context.OpenSession())
            {
                var script = session.Get <UserScript>(scriptId);

                Context.GetPlugin <ScriptsPlugin>().ExecuteScript(script, new object[0]);
            }

            return(null);
        }
Ejemplo n.º 14
0
        public HttpHandlerResult LoadScript(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = database.OpenSession())
            {
                var script = session.Set<UserScript>()
                    .Select(x => new { id = x.Id, name = x.Name, body = x.Body })
                    .Single(x => x.id == id);

                return HttpHandlerResult.Json(script);
            }
        }
Ejemplo n.º 15
0
        public object DeleteSubscription(HttpRequestParams request)
        {
            var subscriptionId = request.GetRequiredGuid("subscriptionId");

            using (var session = Context.Require <DatabasePlugin>().OpenSession())
            {
                var subscription = session.Set <ScriptEventHandler>().Single(s => s.Id == subscriptionId);
                session.Set <ScriptEventHandler>().Remove(subscription);
                session.SaveChanges();
            }

            return(null);
        }
Ejemplo n.º 16
0
        public HttpHandlerResult DeleteSubscription(HttpRequestParams request)
        {
            var subscriptionId = request.GetRequiredGuid("subscriptionId");

            using (var session = database.OpenSession())
            {
                var subscription = session.Set<ScriptEventHandler>().Single(s => s.Id == subscriptionId);
                session.Set<ScriptEventHandler>().Remove(subscription);
                session.SaveChanges();
            }

            return null;
        }
Ejemplo n.º 17
0
        public object DeleteTile(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.OpenSession())
            {
                var tile = session.Load <Tile>(id);
                session.Delete(tile);
                session.Flush();
            }

            return(null);
        }
Ejemplo n.º 18
0
        public object DeleteAlarm(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.OpenSession())
            {
                var alarmTime = session.Load <AlarmTime>(id);
                session.Delete(alarmTime);
                session.Flush();
            }

            Context.GetPlugin <AlarmClockPlugin>().ReloadTimes();
            return(null);
        }
Ejemplo n.º 19
0
        public object DeleteScript(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.Require <DatabasePlugin>().OpenSession())
            {
                var script = session.Set <UserScript>().Single(s => s.Id == id);

                session.Set <UserScript>().Remove(script);
                session.SaveChanges();
            }

            return(null);
        }
Ejemplo n.º 20
0
        public HttpHandlerResult DeleteScript(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = database.OpenSession())
            {
                var script = session.Set<UserScript>().Single(s => s.Id == id);

                session.Set<UserScript>().Remove(script);
                session.SaveChanges();
            }

            return null;
        }
Ejemplo n.º 21
0
        public object DeleteSensor(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            Logger.Debug("delete sensor: id={0}", id);

            using (var session = Context.OpenSession())
            {
                var sensor = session.Load <TemperatureSensor>(id);

                session.Delete(sensor);
                session.Flush();
            }

            return(null);
        }
Ejemplo n.º 22
0
        public object DeleteLocation(HttpRequestParams request)
        {
            var locationId = request.GetRequiredGuid("locationId");

            using (var session = Context.OpenSession())
            {
                var location = session.Get <Location>(locationId);

                if (location != null)
                {
                    session.Delete(location);
                    session.Flush();
                }
            }

            return(null);
        }
Ejemplo n.º 23
0
        private Widget CreateWidget(HttpRequestParams request, ISession session)
        {
            var type        = request.GetRequiredString("type");
            var dashboardId = request.GetRequiredGuid("dashboardId");

            var dashboard = session.Query <Dashboard>().Single(x => x.Id == dashboardId);

            var created = new Widget
            {
                Id        = Guid.NewGuid(),
                Dashboard = dashboard,
                TypeAlias = type,
                SortOrder = int.MaxValue
            };

            return(created);
        }
Ejemplo n.º 24
0
        public object EditorCreateWidget(HttpRequestParams request)
        {
            var dashboardId = request.GetRequiredGuid("dashboard");
            var type        = request.GetRequiredString("type");

            using (var session = Context.OpenSession())
            {
                var dashboard = session.Query <Dashboard>().Single(x => x.Id == dashboardId);
                var model     = GetEditorModel(type, dashboard.Id, dashboard.Title, session);

                return(new
                {
                    info = model.Item1,
                    fields = model.Item2
                });
            }
        }
Ejemplo n.º 25
0
        private Widget CreateWidget(HttpRequestParams request, ISession session)
        {
            var type    = request.GetRequiredString("type");
            var panelId = request.GetRequiredGuid("panelId");

            var panel = session.Query <Panel>().Single(x => x.Id == panelId);

            var created = new Widget
            {
                Id        = Guid.NewGuid(),
                Panel     = panel,
                TypeAlias = type,
                SortOrder = int.MaxValue
            };

            return(created);
        }
Ejemplo n.º 26
0
        public object EditorCreateWidget(HttpRequestParams request)
        {
            var panelId = request.GetRequiredGuid("panel");
            var type    = request.GetRequiredString("type");

            using (var session = Context.OpenSession())
            {
                var panel = session.Query <Panel>().Fetch(p => p.Dashboard).Single(x => x.Id == panelId);
                var model = GetEditorModel(type, panel, session);

                return(new
                {
                    info = model.Item1,
                    fields = model.Item2
                });
            }
        }
Ejemplo n.º 27
0
        public object DeleteTask(HttpRequestParams request)
        {
            var id = request.GetRequiredGuid("id");

            using (var session = Context.Require <DatabasePlugin>().OpenSession())
            {
                var task = session.Set <CronTask>().Single(s => s.Id == id);

                session.Set <CronTask>().Remove(task);
                session.SaveChanges();

                // reset cron event cache
                Context.Require <CronPlugin>().ReloadTasks();
            }

            return(null);
        }
Ejemplo n.º 28
0
        public object EditorDeleteWidget(HttpRequestParams request)
        {
            Guid id = request.GetRequiredGuid("id");

            using (var session = Context.OpenSession())
            {
                var widget = session.Get <Widget>(id);

                if (widget != null)
                {
                    session.Delete(widget);
                    session.Flush();
                }
            }

            return(null);
        }
Ejemplo n.º 29
0
        public object DeleteDashboard(HttpRequestParams request)
        {
            Guid id = request.GetRequiredGuid("id");

            using (var session = Context.OpenSession())
            {
                var dashboard = session.Get <Dashboard>(id);

                if (dashboard != null)
                {
                    session.Delete(dashboard);
                    session.Flush();
                }
            }

            return(null);
        }
Ejemplo n.º 30
0
        public object SetAlarmState(HttpRequestParams request)
        {
            var id      = request.GetRequiredGuid("id");
            var enabled = request.GetRequiredBool("enabled");

            using (var session = Context.OpenSession())
            {
                var alarmTime = session.Get <AlarmTime>(id);
                alarmTime.Enabled = enabled;

                session.Save(alarmTime);
                session.Flush();
            }

            Context.GetPlugin <AlarmClockPlugin>().ReloadTimes();
            return(null);
        }