172 lines
6.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using MQTTnet;
using MQTTnet.Client;
using MQTTnet.Server;
using MyCore.Interfaces.Models;
using MyCore.Services;
using static MyCore.Services.OddService;
namespace MyCore.Controllers
{
[Authorize] // TODO Add ROLES (Roles = "User")
[Route("api/layout")]
[ApiController]
public class LayoutController : ControllerBase
{
/// <summary>
/// It's a test ! :)
/// </summary>
[ProducesResponseType(typeof(IEnumerable<PanelSection>), 200)]
[AllowAnonymous]
[HttpGet("panelSection")]
public ActionResult<IEnumerable<PanelSection>> Get()
{
List<PanelSection> panelSectionList = new List<PanelSection>();
// Main view
/*PanelSection panelSectionMain = new PanelSection();
panelSectionMain.Label = "Main";
panelSectionMain.Icon = "fas fa-eye";
panelSectionMain.DefaultRoute = "main";
panelSectionMain.Color = "red";*/
// Energy
PanelSection panelSectionEnergy = new PanelSection();
panelSectionEnergy.Label = "Energy";
panelSectionEnergy.Icon = "fas fa-seedling";
panelSectionEnergy.DefaultRoute = "energy";
panelSectionEnergy.Color = "green";
List<PanelMenuItem> panelSectionEnergyList = new List<PanelMenuItem>();
PanelMenuItem panelMenuItemElectricity = new PanelMenuItem();
panelMenuItemElectricity.Label = "Electricity";
panelMenuItemElectricity.Icon = "fas fa-bolt";
panelMenuItemElectricity.Route = "electricity";
panelMenuItemElectricity.Color = "yellow";
panelMenuItemElectricity.BadgeType = null;
panelMenuItemElectricity.BadgeValue = 0;
PanelMenuItem panelMenuItemGas = new PanelMenuItem();
panelMenuItemGas.Label = "Gas";
panelMenuItemGas.Icon = "fas fa-burn";
panelMenuItemGas.Route = "gas";
panelMenuItemGas.Color = "orange";
panelMenuItemGas.BadgeType = null;
panelMenuItemGas.BadgeValue = 0;
PanelMenuItem panelMenuItemWater = new PanelMenuItem();
panelMenuItemWater.Label = "Water";
panelMenuItemWater.Icon = "fas fa-tint";
panelMenuItemWater.Route = "water";
panelMenuItemWater.Color = "blue";
panelMenuItemWater.BadgeType = null;
panelMenuItemWater.BadgeValue = 0;
panelSectionEnergyList.Add(panelMenuItemElectricity);
panelSectionEnergyList.Add(panelMenuItemGas);
panelSectionEnergyList.Add(panelMenuItemWater);
panelSectionEnergy.Children = panelSectionEnergyList;
// Security
PanelSection panelSectionSecurity = new PanelSection();
panelSectionSecurity.Label = "Security";
panelSectionSecurity.Icon = "fas fa-lock";
panelSectionSecurity.Color = "yellow";
panelSectionSecurity.DefaultRoute = "security";
List<PanelMenuItem> panelMenuItemSecurityList = new List<PanelMenuItem>();
PanelMenuItem panelMenuItemAlarm = new PanelMenuItem();
panelMenuItemAlarm.Label = "Alarm";
panelMenuItemAlarm.Icon = "fas fa-bell";
panelMenuItemAlarm.Color = "yellow";
panelMenuItemAlarm.Route = "alarm";
panelMenuItemAlarm.BadgeType = null;
panelMenuItemAlarm.BadgeValue = 0;
PanelMenuItem panelMenuItemCamera = new PanelMenuItem();
panelMenuItemCamera.Label = "Camera";
panelMenuItemCamera.Icon = "fas fa-video";
panelMenuItemCamera.Route = "camera";
panelMenuItemCamera.Color = "black";
panelMenuItemCamera.BadgeType = null;
panelMenuItemCamera.BadgeValue = 0;
panelMenuItemSecurityList.Add(panelMenuItemAlarm);
panelMenuItemSecurityList.Add(panelMenuItemCamera);
panelSectionSecurity.Children = panelMenuItemSecurityList;
// Entertainment
PanelSection panelSectionEntertainment = new PanelSection();
panelSectionEntertainment.Label = "Entertainment";
panelSectionEntertainment.Icon = "fas fa-music";
panelSectionEntertainment.Color = "blue";
panelSectionEntertainment.DefaultRoute = "entertainment";
List<PanelMenuItem> panelMenuItemEntertainmentList = new List<PanelMenuItem>();
PanelMenuItem panelMenuItemMusic = new PanelMenuItem();
panelMenuItemMusic.Label = "Music";
panelMenuItemMusic.Icon = "fas fa-music";
panelMenuItemMusic.Route = "music";
panelMenuItemMusic.Color = "black";
panelMenuItemMusic.BadgeType = null;
panelMenuItemMusic.BadgeValue = 0;
PanelMenuItem panelMenuItemTv = new PanelMenuItem();
panelMenuItemTv.Label = "Tv";
panelMenuItemTv.Icon = "fas fa-tv";
panelMenuItemTv.Route = "tv";
panelMenuItemTv.BadgeType = null;
panelMenuItemTv.BadgeValue = 0;
panelMenuItemEntertainmentList.Add(panelMenuItemMusic);
panelMenuItemEntertainmentList.Add(panelMenuItemTv);
panelSectionEntertainment.Children = panelMenuItemEntertainmentList;
// Health
PanelSection panelSectionHealth = new PanelSection();
panelSectionHealth.Label = "Health";
panelSectionHealth.Icon = "fas fa-heartbeat";
panelSectionHealth.DefaultRoute = "health";
panelSectionHealth.Color = "#ff4c4c";
List<PanelMenuItem> panelSectionHealthList = new List<PanelMenuItem>();
PanelMenuItem panelMenuItemMyBody = new PanelMenuItem();
panelMenuItemMyBody.Label = "My body";
panelMenuItemMyBody.Icon = "fas fa-user-alt";
panelMenuItemMyBody.Route = "body";
panelMenuItemMyBody.BadgeType = null;
panelMenuItemMyBody.BadgeValue = 0;
PanelMenuItem panelMenuItemFitness = new PanelMenuItem();
panelMenuItemFitness.Label = "Fitness";
panelMenuItemFitness.Icon = "fas fa-running";
panelMenuItemFitness.Route = "fitness";
panelMenuItemFitness.BadgeType = null;
panelMenuItemFitness.BadgeValue = 0;
panelSectionHealthList.Add(panelMenuItemMyBody);
panelSectionHealthList.Add(panelMenuItemFitness);
panelSectionHealth.Children = panelSectionHealthList;
// panelSectionList
panelSectionList.Add(panelSectionEnergy);
panelSectionList.Add(panelSectionSecurity);
panelSectionList.Add(panelSectionEntertainment);
panelSectionList.Add(panelSectionHealth);
return panelSectionList;
}
}
}