Compare commits

..

17 Commits

Author SHA1 Message Date
d01140add6
deleted build files 2023-05-26 13:52:01 +01:00
d43c1326f2 Merge branch 'bug-fix' into 'master'
Allow installation of local modules

See merge request murphg62/2023-ca400-murphg62-byrnm257!21
2023-05-08 20:19:32 +00:00
6560377c7e Upload User Manual 2023-05-06 22:59:51 +00:00
91b3ffad9f Upload Tech spec 2023-05-06 22:57:55 +00:00
b747ad94f6
Allow installation of local modules 2023-05-06 23:41:20 +01:00
069aed2c7a Merge branch 'docker' into 'master'
Added dockerfile for backend

See merge request murphg62/2023-ca400-murphg62-byrnm257!20
2023-05-06 22:00:54 +00:00
1192ca62f2
Added dockerfile for backend 2023-05-06 22:54:41 +01:00
8a071e61e0 Merge branch 'get-post-endpoints' into 'master'
Added endpoints for modules to request outside resources

See merge request murphg62/2023-ca400-murphg62-byrnm257!19
2023-05-06 21:12:06 +00:00
70a566ee2d
Added endpoints for modules to request outside resources 2023-05-06 22:09:39 +01:00
e86a515fcf Merge branch 'module-create-fix' into 'master'
Fixed issue where backend sent wrong data format

See merge request murphg62/2023-ca400-murphg62-byrnm257!18
2023-05-06 20:53:13 +00:00
797c74b03c
Fixed issue where backend sent wrong data format 2023-05-06 21:47:50 +01:00
70db0e92b0 Merge branch 'env-var' into 'master'
Switched frontend urls to env variables and fixed bug in module creation

See merge request murphg62/2023-ca400-murphg62-byrnm257!17
2023-05-06 20:36:21 +00:00
06c4acf4fb
Switched frontend urls to env variables and fixed bug in module creation 2023-05-06 21:31:11 +01:00
e44c7001a4 Merge branch 'routing' into 'master'
Routing for modules

See merge request murphg62/2023-ca400-murphg62-byrnm257!16
2023-05-06 19:31:49 +00:00
8bcb72b259 updated dynamic component layout 2023-05-06 20:14:56 +01:00
dcff10e984 fixed nav menu routes 2023-05-06 19:48:30 +01:00
5817300283 dynamic routing for modules 2023-05-06 19:41:42 +01:00
66 changed files with 171 additions and 23707 deletions

Binary file not shown.

View File

@ -1,6 +1,7 @@
@using ApexCharts
@using System.Collections.Generic
@using PanoptesFrontend.Data;
@using System
@using System.Timers
@implements IDisposable
@inject IHttpService httpService
@ -39,6 +40,8 @@
public string SelectedChartType {get; set;}
[Parameter]
public int ChartId {get; set;}
[Parameter]
public string module {get; set;}
protected override void OnAfterRender(bool firstRender)
{
@ -53,8 +56,8 @@
private async Task UpdateChartSeries()
{
string module = "localhost:8080";
var response = await httpService.GetAsync<GraphComponent>($"http://localhost:10000/{module}/{ChartId}");
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
var response = await httpService.GetAsync<GraphComponent>($"http://{panoptesHost}/component/{module}/{ChartId}");
StatsList = response.Stats;
await chart.UpdateSeriesAsync(true);
await InvokeAsync(() => StateHasChanged());

View File

@ -1,6 +1,7 @@
@using System.Linq.Dynamic.Core
@inject IHttpService httpService
@using PanoptesFrontend.Services
@using System
<RadzenDataGrid @bind-Value=@selectedItems Data="@data" TItem="IDictionary<string, object>" ColumnWidth="200px"
AllowFiltering="true" FilterPopupRenderMode="PopupRenderMode.OnDemand" FilterMode="FilterMode.Advanced" AllowPaging="true" AllowSorting="true">
@ -25,6 +26,8 @@
public List<Dictionary<string, object>> data { get; set; }
[Parameter]
public int TableId {get; set;}
[Parameter]
public string module {get; set;}
public IDictionary<string, Type> columns { get; set; }
public string GetColumnPropertyExpression(string name, Type type)
@ -63,9 +66,8 @@
private async Task Update()
{
string module = "localhost:8080";
var response = await httpService.GetAsync<TableComponent>($"http://localhost:10000/{module}/{TableId}");
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
var response = await httpService.GetAsync<TableComponent>($"http://{panoptesHost}/component/{module}/{TableId}");
if (response.Data != null)
{
@ -74,4 +76,4 @@
}
await InvokeAsync(() => StateHasChanged());
}
}
}

View File

@ -4,7 +4,8 @@
@using Newtonsoft.Json
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.JSInterop
@using System.Net;
@using System
@using System.Net
@using PanoptesFrontend.Data
@using PanoptesFrontend.Services
@inject IHttpService httpService
@ -71,27 +72,33 @@
</div>
<div class="card-body">
<div class="form-group">
<label for="key2">Key</label>
<label for="key2">Host</label>
<input type="text" class="form-control" name="vol_key" @bind="Key2" />
</div>
<div class="form-group">
<label for="value2">Value</label>
<label for="value2">Local</label>
<input type="text" class="form-control" name="vol_val" @bind="Value2" />
</div>
<div class="form-group">
<label for="value3">Tag</label>
<input type="text" class="form-control" name="vol_tag" @bind="Tag" />
</div>
<button class="btn btn-primary" @onclick="AddKeyValuePair2">Add</button>
<table class="table mt-2" name="vol_table">
<thead>
<tr>
<th>Key</th>
<th>Value</th>
<th>Host</th>
<th>Local</th>
<th>Tag</th>
</tr>
</thead>
<tbody>
@foreach (Dictionary<string, string> kvp in ModuleConfig.volumes)
{
<tr>
<td>@kvp["val"]</td>
<td>@kvp["var"]</td>
<td>@kvp["host"]</td>
<td>@kvp["local"]</td>
<td>@kvp["tag"]</td>
</tr>
}
</tbody>
@ -114,6 +121,7 @@
private string Value1 { get; set; }
private string Key2 { get; set; }
private string Value2 { get; set; }
private string Tag { get; set; }
public ModuleConfig ModuleConfig { get; set; } = new ModuleConfig();
@ -134,8 +142,9 @@
{
var vols = new Dictionary<string, string>()
{
{ "var", Key2 },
{ "val", Value2 }
{ "host", Key2 },
{ "local", Value2 },
{ "tag", Tag }
};
ModuleConfig.volumes.Add(vols);
Key2 = "";
@ -148,7 +157,8 @@
var config = JsonConvert.SerializeObject(ModuleConfig);
Console.WriteLine(config);
var payload = new StringContent(config, Encoding.UTF8, "application/json");
await httpService.PostAsync("http://localhost:10000/create_module", ModuleConfig);
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
await httpService.PostAsync($"http://{panoptesHost}/create_module", ModuleConfig);
}
}
}

View File

@ -1,55 +1,85 @@
@page "/test"
@page "/module/{moduleId}"
@using System.Net;
@using PanoptesFrontend.Data
@using PanoptesFrontend.Services
@using System.Text.Json;
@using System
@using System.Text.Json
@using Microsoft.AspNetCore.Components.Web
@inject IHttpService httpService
@inject IJSRuntime JSRuntime
@if (tables != null | graphs != null)
@if (tables != null || graphs != null)
{
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
@foreach (var component in tables)
<div class="row">
@if (graphs != null)
{
<div class="card mb-3">
<div class="card-body">
<DynamicTable data="@component.Data" TableId="@component.Id"/>
@for (int i = 0; i < graphs.Length; i += 2)
{
<div class="col-md-12">
<div class="row">
@if (i < graphs.Length)
{
<div class="col-md-6">
<div class="card mb-3">
<div class="card-body">
<DynamicChart StatsList="@graphs[i].Stats"
SelectedChartType="@graphs[i].Graph"
ChartTitle="@graphs[i].Title"
ChartId="@graphs[i].Id"
module="@moduleId"/>
</div>
</div>
</div>
}
@if (i + 1 < graphs.Length)
{
<div class="col-md-6">
<div class="card mb-3">
<div class="card-body">
<DynamicChart StatsList="@graphs[i + 1].Stats"
SelectedChartType="@graphs[i + 1].Graph"
ChartTitle="@graphs[i + 1].Title"
ChartId="@graphs[i + 1].Id"
module="@moduleId"/>
</div>
</div>
</div>
}
</div>
</div>
</div>
}
}
</div>
<div class="col-md-6">
@foreach (var component in graphs)
@if (tables != null)
{
<div class="card mb-3">
<div class="card-body">
<DynamicChart StatsList="@component.Stats"
SelectedChartType="@component.Graph"
ChartTitle="@component.Title"
ChartId="@component.Id"/>
</div>
<div class="col-md-12">
@foreach (var table in tables)
{
<div class="card mb-3">
<div class="card-body">
<DynamicTable data="@table.Data" TableId="@table.Id" module="@moduleId"/>
</div>
</div>
}
</div>
}
</div>
</div>
</div>
}
@code {
private TableComponent[] tables;
private GraphComponent[] graphs;
private string module = "localhost:8080";
[Parameter]
public string moduleId { get; set; }
protected async override Task OnInitializedAsync()
{
var schema = await httpService.GetAsync<Schema>($"http://localhost:10000/{module}/schema");
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
var schema = await httpService.GetAsync<Schema>($"http://{panoptesHost}/{moduleId}/schema");
tables = schema.tables;
graphs = schema.graphs;
}

View File

@ -1,5 +1,6 @@
@inject IHttpService httpService
@using PanoptesFrontend.Services
@using System
<RadzenTextArea @bind-Value="sqlQuery" Style="width: 100%; height: 300px" />
<button class="btn btn-primary" @onclick="ExecuteSqlQuery">Execute Query</button>
@ -10,7 +11,8 @@
private async Task ExecuteSqlQuery()
{
// Send the SQL query to your backend and handle the response
var response = await httpService.PostAsync($"http://localhost:10000/sqlquery", sqlQuery);
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
var response = await httpService.PostAsync($"http://{panoptesHost}/sqlquery", sqlQuery);
}
}
}

View File

@ -2,6 +2,7 @@ using PanoptesFrontend.Data.Account;
using PanoptesFrontend.Data;
using Blazored.LocalStorage;
using System.Text.Json;
using System;
namespace PanoptesFrontend.Services;
@ -26,11 +27,13 @@ public class AccountService : IAccountService
public async Task Register(AddUser model){
await httpService.PostAsync("http://localhost:10000/user/register", model);
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
await httpService.PostAsync($"http://{panoptesHost}/user/register", model);
}
public async Task Login(LoginUser model){
var response = await httpService.PostAsync("http://localhost:10000/user/login", model);
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
var response = await httpService.PostAsync($"http://panoptesHost/user/login", model);
var jsonDoc = JsonDocument.Parse(response);
var token = jsonDoc.RootElement.GetProperty("token").GetString();
@ -43,7 +46,8 @@ public class AccountService : IAccountService
var authtoken = await localStorage.GetItemAsStringAsync("authToken");
await httpService.PostAsync("http://localhost:10000/user/logout", authtoken);
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
await httpService.PostAsync($"http://{panoptesHost}/user/logout", authtoken);
await localStorage.RemoveItemAsync("authToken");
}
@ -51,4 +55,4 @@ public class AccountService : IAccountService
{
return await localStorage.GetItemAsStringAsync("authToken");
}
}
}

View File

@ -1,5 +1,6 @@
@using PanoptesFrontend.Data;
@using PanoptesFrontend.Services;
@using System
@using System.Text.Json;
@inject IHttpService httpService
@ -18,7 +19,7 @@
{
@foreach (var module in response){
<div class="nav-item px-3">
<NavLink class="nav-link" href=@module.Name Match="NavLinkMatch.All">
<NavLink class="nav-link" href=@($"/module/{module.Name}") Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> @module.Name
</NavLink>
</div>
@ -38,7 +39,8 @@
protected override async Task OnInitializedAsync()
{
response = await httpService.GetAsync<Module[]>("http://localhost:10000/modules");
var panoptesHost = Environment.GetEnvironmentVariable("PANOPTESHOST");
response = await httpService.GetAsync<Module[]>($"http://{panoptesHost}/modules");
}
private bool collapseNavMenu = true;

View File

@ -1,246 +0,0 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v6.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v6.0": {
"PanoptesFrontend/1.0.0": {
"dependencies": {
"Blazor-ApexCharts": "0.9.20-beta"
},
"runtime": {
"PanoptesFrontend.dll": {}
}
},
"Blazor-ApexCharts/0.9.20-beta": {
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.3",
"Microsoft.AspNetCore.Components.Web": "6.0.3"
},
"runtime": {
"lib/net6.0/Blazor-ApexCharts.dll": {
"assemblyVersion": "0.9.20.0",
"fileVersion": "0.9.20.0"
}
}
},
"Microsoft.AspNetCore.Authorization/6.0.3": {
"dependencies": {
"Microsoft.AspNetCore.Metadata": "6.0.3",
"Microsoft.Extensions.Logging.Abstractions": "6.0.1",
"Microsoft.Extensions.Options": "6.0.0"
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Authorization.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.322.12401"
}
}
},
"Microsoft.AspNetCore.Components/6.0.3": {
"dependencies": {
"Microsoft.AspNetCore.Authorization": "6.0.3",
"Microsoft.AspNetCore.Components.Analyzers": "6.0.3"
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.322.12401"
}
}
},
"Microsoft.AspNetCore.Components.Analyzers/6.0.3": {},
"Microsoft.AspNetCore.Components.Forms/6.0.3": {
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.3"
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.322.12401"
}
}
},
"Microsoft.AspNetCore.Components.Web/6.0.3": {
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.3",
"Microsoft.AspNetCore.Components.Forms": "6.0.3",
"Microsoft.Extensions.DependencyInjection": "6.0.0",
"Microsoft.JSInterop": "6.0.3",
"System.IO.Pipelines": "6.0.2"
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.Web.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.322.12401"
}
}
},
"Microsoft.AspNetCore.Metadata/6.0.3": {
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Metadata.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.322.12401"
}
}
},
"Microsoft.Extensions.DependencyInjection/6.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {},
"Microsoft.Extensions.Logging.Abstractions/6.0.1": {
"runtime": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.322.12309"
}
}
},
"Microsoft.Extensions.Options/6.0.0": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"Microsoft.Extensions.Primitives": "6.0.0"
}
},
"Microsoft.Extensions.Primitives/6.0.0": {
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
}
},
"Microsoft.JSInterop/6.0.3": {
"runtime": {
"lib/net6.0/Microsoft.JSInterop.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.322.12401"
}
}
},
"System.IO.Pipelines/6.0.2": {
"runtime": {
"lib/net6.0/System.IO.Pipelines.dll": {
"assemblyVersion": "6.0.0.0",
"fileVersion": "6.0.222.6406"
}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {}
}
},
"libraries": {
"PanoptesFrontend/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Blazor-ApexCharts/0.9.20-beta": {
"type": "package",
"serviceable": true,
"sha512": "sha512-gRYtKIbrR+S9y8GP6zpXwM/zZENHeXkfuQLj2KtGVzGcOmLn/PO4Exv7MZLeuxs5gKvCP6Sj/CZMAdsuxyRd2w==",
"path": "blazor-apexcharts/0.9.20-beta",
"hashPath": "blazor-apexcharts.0.9.20-beta.nupkg.sha512"
},
"Microsoft.AspNetCore.Authorization/6.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-eWgsWE7IY7Az2lGBvoYk20290ZqTI0Y9ATyprrwfaC7w8MvBXu2jU+tv90Zt6lbEE3RP55XL+dFydGExcunHbw==",
"path": "microsoft.aspnetcore.authorization/6.0.3",
"hashPath": "microsoft.aspnetcore.authorization.6.0.3.nupkg.sha512"
},
"Microsoft.AspNetCore.Components/6.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Mqk/tAA+RWBnaz8uhn18VaEqVIY/G6LTpBX+Ap65/3vq4RwFZIDFK8gYMrV3JSQXkBYk3rYxPtwgEutCt4ZGww==",
"path": "microsoft.aspnetcore.components/6.0.3",
"hashPath": "microsoft.aspnetcore.components.6.0.3.nupkg.sha512"
},
"Microsoft.AspNetCore.Components.Analyzers/6.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-zM6GIzF9bAnjVhiXNFQ2viF7W9FPASHjiDmV53M+ArRKBS8LFvzTfC4sgGYDoaikxm+zdx9mH7x98I1Dh3/INQ==",
"path": "microsoft.aspnetcore.components.analyzers/6.0.3",
"hashPath": "microsoft.aspnetcore.components.analyzers.6.0.3.nupkg.sha512"
},
"Microsoft.AspNetCore.Components.Forms/6.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bSGNnkAAzalMJl3Kv4HIOZ2sVeIc/+UopY27fO8v5Km9mS3jMzDiuCdvi4pXgnSsJj/bFjjO5KASd/KB9feFkw==",
"path": "microsoft.aspnetcore.components.forms/6.0.3",
"hashPath": "microsoft.aspnetcore.components.forms.6.0.3.nupkg.sha512"
},
"Microsoft.AspNetCore.Components.Web/6.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-otsm2nj+nFPI1rGENDkbbDWWsdn4VKMa3nY6crAMzgXESIiaT0iLSWN3cC3yCUIarTsNJOz4nhT+z6/lkiqKEQ==",
"path": "microsoft.aspnetcore.components.web/6.0.3",
"hashPath": "microsoft.aspnetcore.components.web.6.0.3.nupkg.sha512"
},
"Microsoft.AspNetCore.Metadata/6.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-I3FVSfaLdSLs4XmBq5DbK7PuVF/aSf0Xc63/AeNIJFt6/chYvcJaxnKbd4yZo9OXGw5OT9KOIxGWZ/2CucvgJw==",
"path": "microsoft.aspnetcore.metadata/6.0.3",
"hashPath": "microsoft.aspnetcore.metadata.6.0.3.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
"path": "microsoft.extensions.dependencyinjection/6.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==",
"path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/6.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==",
"path": "microsoft.extensions.logging.abstractions/6.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.6.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
"path": "microsoft.extensions.options/6.0.0",
"hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==",
"path": "microsoft.extensions.primitives/6.0.0",
"hashPath": "microsoft.extensions.primitives.6.0.0.nupkg.sha512"
},
"Microsoft.JSInterop/6.0.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3QCDEyxcjhfQQeGRGtJFP4F8ne4D6Gf2w1nkdQCRy79yzSGHcoUbBkziVVmoppRbipIh9ickyHD7wXB+m0GiIw==",
"path": "microsoft.jsinterop/6.0.3",
"hashPath": "microsoft.jsinterop.6.0.3.nupkg.sha512"
},
"System.IO.Pipelines/6.0.2": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cb5OfQjnz+zjpJJei+f3QYK7+wWZrDdNHf3DykO6QCacpNZ80tuNgq1DC2kqlrjfEu+cMUTvulxPIrCMbBkjqg==",
"path": "system.io.pipelines/6.0.2",
"hashPath": "system.io.pipelines.6.0.2.nupkg.sha512"
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
}
}
}

View File

@ -1,19 +0,0 @@
{
"runtimeOptions": {
"tfm": "net6.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "6.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

View File

@ -1 +0,0 @@
{"ContentRoots":["C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\","C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\","C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\bundle\\"],"Root":{"Children":{"css":{"Children":{"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null},"site.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/site.css"},"Patterns":null}},"Asset":null,"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"_content":{"Children":{"Blazor-ApexCharts":{"Children":{"css":{"Children":{"apexcharts.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"css/apexcharts.css"},"Patterns":null}},"Asset":null,"Patterns":null},"js":{"Children":{"apex-charts.min.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"js/apex-charts.min.js"},"Patterns":null},"blazor-apex-charts.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"js/blazor-apex-charts.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"PanoptesFrontend.styles.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"PanoptesFrontend.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}

View File

@ -1,9 +0,0 @@
{
"DetailedErrors": true,
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}
}

View File

@ -1,9 +0,0 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}

View File

@ -1,4 +0,0 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = "")]

View File

@ -1,22 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("PanoptesFrontend")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("PanoptesFrontend")]
[assembly: System.Reflection.AssemblyTitleAttribute("PanoptesFrontend")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +0,0 @@
d974e8d8149fb6e6df7cd75e0135c298c2487c12

View File

@ -1,68 +0,0 @@
is_global = true
build_property.TargetFramework = net6.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = true
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = PanoptesFrontend
build_property.RootNamespace = PanoptesFrontend
build_property.ProjectDir = C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\
build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend
build_property._RazorSourceGeneratorDebug =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/App.razor]
build_metadata.AdditionalFiles.TargetPath = QXBwLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/Counter.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQ291bnRlci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/FetchData.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcRmV0Y2hEYXRhLnJhem9y
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/Index.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcSW5kZXgucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/TestCard.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcVGVzdENhcmQucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/TestRequest.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcVGVzdFJlcXVlc3QucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Shared/SurveyPrompt.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXFN1cnZleVByb21wdC5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/_Imports.razor]
build_metadata.AdditionalFiles.TargetPath = X0ltcG9ydHMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Shared/MainLayout.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXE1haW5MYXlvdXQucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-pvwrbdq41a
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Shared/NavMenu.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXE5hdk1lbnUucmF6b3I=
build_metadata.AdditionalFiles.CssScope = b-bam9vtvtdz
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/Error.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcRXJyb3IuY3NodG1s
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/_Host.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcX0hvc3QuY3NodG1s
build_metadata.AdditionalFiles.CssScope =
[C:/Users/user/Documents/Panoptes/2023-ca400-murphg62-byrnm257/src/PanoptesFrontend/Pages/_Layout.cshtml]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcX0xheW91dC5jc2h0bWw=
build_metadata.AdditionalFiles.CssScope =

View File

@ -1,17 +0,0 @@
// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@ -1 +0,0 @@
5860763757f4f08c7ebdea1b3a94a18109f17861

View File

@ -1,17 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ProvideApplicationPartFactoryAttribute("Microsoft.AspNetCore.Mvc.ApplicationParts.ConsolidatedAssemblyApplicationPartFact" +
"ory, Microsoft.AspNetCore.Mvc.Razor")]
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +0,0 @@
4a1535a7fb15a874d72e6ea5ebeaec6792f63437

View File

@ -1,37 +0,0 @@
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.csproj.AssemblyReference.cache
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.GeneratedMSBuildEditorConfig.editorconfig
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.AssemblyInfoInputs.cache
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.AssemblyInfo.cs
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.csproj.CoreCompileInputs.cache
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.MvcApplicationPartsAssemblyInfo.cache
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.RazorAssemblyInfo.cache
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.RazorAssemblyInfo.cs
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\appsettings.Development.json
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\appsettings.json
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\PanoptesFrontend.staticwebassets.runtime.json
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\PanoptesFrontend.exe
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\PanoptesFrontend.deps.json
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\PanoptesFrontend.runtimeconfig.json
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\PanoptesFrontend.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\PanoptesFrontend.pdb
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\staticwebassets.build.json
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\staticwebassets.development.json
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\scopedcss\Shared\MainLayout.razor.rz.scp.css
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\scopedcss\Shared\NavMenu.razor.rz.scp.css
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\scopedcss\bundle\PanoptesFrontend.styles.css
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\scopedcss\projectbundle\PanoptesFrontend.bundle.scp.css
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\refint\PanoptesFrontend.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.pdb
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.genruntimeconfig.cache
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\ref\PanoptesFrontend.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Blazor-ApexCharts.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Microsoft.AspNetCore.Authorization.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Microsoft.AspNetCore.Components.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Microsoft.AspNetCore.Components.Forms.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Microsoft.AspNetCore.Components.Web.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Microsoft.AspNetCore.Metadata.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Microsoft.Extensions.Logging.Abstractions.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\Microsoft.JSInterop.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\bin\Debug\net6.0\System.IO.Pipelines.dll
C:\Users\user\Documents\Panoptes\2023-ca400-murphg62-byrnm257\src\PanoptesFrontend\obj\Debug\net6.0\PanoptesFrontend.csproj.CopyComplete

View File

@ -1 +0,0 @@
4e7bbc1e2b48e9163112b8b8b666c0996d4dff13

File diff suppressed because it is too large Load Diff

View File

@ -1,70 +0,0 @@
.page[b-pvwrbdq41a] {
position: relative;
display: flex;
flex-direction: column;
}
main[b-pvwrbdq41a] {
flex: 1;
}
.sidebar[b-pvwrbdq41a] {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row[b-pvwrbdq41a] {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row[b-pvwrbdq41a] a, .top-row .btn-link[b-pvwrbdq41a] {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child[b-pvwrbdq41a] {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth)[b-pvwrbdq41a] {
display: none;
}
.top-row.auth[b-pvwrbdq41a] {
justify-content: space-between;
}
.top-row a[b-pvwrbdq41a], .top-row .btn-link[b-pvwrbdq41a] {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page[b-pvwrbdq41a] {
flex-direction: row;
}
.sidebar[b-pvwrbdq41a] {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row[b-pvwrbdq41a] {
position: sticky;
top: 0;
z-index: 1;
}
.top-row[b-pvwrbdq41a], article[b-pvwrbdq41a] {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}

View File

@ -1,62 +0,0 @@
.navbar-toggler[b-bam9vtvtdz] {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row[b-bam9vtvtdz] {
height: 3.5rem;
background-color: rgba(0,0,0,0.4);
}
.navbar-brand[b-bam9vtvtdz] {
font-size: 1.1rem;
}
.oi[b-bam9vtvtdz] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-bam9vtvtdz] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-bam9vtvtdz] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-bam9vtvtdz] {
padding-bottom: 1rem;
}
.nav-item[b-bam9vtvtdz] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item[b-bam9vtvtdz] a.active {
background-color: rgba(255,255,255,0.25);
color: white;
}
.nav-item[b-bam9vtvtdz] a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
.navbar-toggler[b-bam9vtvtdz] {
display: none;
}
.collapse[b-bam9vtvtdz] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

View File

@ -1,134 +0,0 @@
/* _content/PanoptesFrontend/Shared/MainLayout.razor.rz.scp.css */
.page[b-pvwrbdq41a] {
position: relative;
display: flex;
flex-direction: column;
}
main[b-pvwrbdq41a] {
flex: 1;
}
.sidebar[b-pvwrbdq41a] {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row[b-pvwrbdq41a] {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row[b-pvwrbdq41a] a, .top-row .btn-link[b-pvwrbdq41a] {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child[b-pvwrbdq41a] {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth)[b-pvwrbdq41a] {
display: none;
}
.top-row.auth[b-pvwrbdq41a] {
justify-content: space-between;
}
.top-row a[b-pvwrbdq41a], .top-row .btn-link[b-pvwrbdq41a] {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page[b-pvwrbdq41a] {
flex-direction: row;
}
.sidebar[b-pvwrbdq41a] {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row[b-pvwrbdq41a] {
position: sticky;
top: 0;
z-index: 1;
}
.top-row[b-pvwrbdq41a], article[b-pvwrbdq41a] {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
/* _content/PanoptesFrontend/Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-bam9vtvtdz] {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row[b-bam9vtvtdz] {
height: 3.5rem;
background-color: rgba(0,0,0,0.4);
}
.navbar-brand[b-bam9vtvtdz] {
font-size: 1.1rem;
}
.oi[b-bam9vtvtdz] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-bam9vtvtdz] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-bam9vtvtdz] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-bam9vtvtdz] {
padding-bottom: 1rem;
}
.nav-item[b-bam9vtvtdz] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item[b-bam9vtvtdz] a.active {
background-color: rgba(255,255,255,0.25);
color: white;
}
.nav-item[b-bam9vtvtdz] a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
.navbar-toggler[b-bam9vtvtdz] {
display: none;
}
.collapse[b-bam9vtvtdz] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

View File

@ -1,134 +0,0 @@
/* _content/PanoptesFrontend/Shared/MainLayout.razor.rz.scp.css */
.page[b-pvwrbdq41a] {
position: relative;
display: flex;
flex-direction: column;
}
main[b-pvwrbdq41a] {
flex: 1;
}
.sidebar[b-pvwrbdq41a] {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row[b-pvwrbdq41a] {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row[b-pvwrbdq41a] a, .top-row .btn-link[b-pvwrbdq41a] {
white-space: nowrap;
margin-left: 1.5rem;
}
.top-row a:first-child[b-pvwrbdq41a] {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row:not(.auth)[b-pvwrbdq41a] {
display: none;
}
.top-row.auth[b-pvwrbdq41a] {
justify-content: space-between;
}
.top-row a[b-pvwrbdq41a], .top-row .btn-link[b-pvwrbdq41a] {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page[b-pvwrbdq41a] {
flex-direction: row;
}
.sidebar[b-pvwrbdq41a] {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row[b-pvwrbdq41a] {
position: sticky;
top: 0;
z-index: 1;
}
.top-row[b-pvwrbdq41a], article[b-pvwrbdq41a] {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
/* _content/PanoptesFrontend/Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-bam9vtvtdz] {
background-color: rgba(255, 255, 255, 0.1);
}
.top-row[b-bam9vtvtdz] {
height: 3.5rem;
background-color: rgba(0,0,0,0.4);
}
.navbar-brand[b-bam9vtvtdz] {
font-size: 1.1rem;
}
.oi[b-bam9vtvtdz] {
width: 2rem;
font-size: 1.1rem;
vertical-align: text-top;
top: -2px;
}
.nav-item[b-bam9vtvtdz] {
font-size: 0.9rem;
padding-bottom: 0.5rem;
}
.nav-item:first-of-type[b-bam9vtvtdz] {
padding-top: 1rem;
}
.nav-item:last-of-type[b-bam9vtvtdz] {
padding-bottom: 1rem;
}
.nav-item[b-bam9vtvtdz] a {
color: #d7d7d7;
border-radius: 4px;
height: 3rem;
display: flex;
align-items: center;
line-height: 3rem;
}
.nav-item[b-bam9vtvtdz] a.active {
background-color: rgba(255,255,255,0.25);
color: white;
}
.nav-item[b-bam9vtvtdz] a:hover {
background-color: rgba(255,255,255,0.1);
color: white;
}
@media (min-width: 641px) {
.navbar-toggler[b-bam9vtvtdz] {
display: none;
}
.collapse[b-bam9vtvtdz] {
/* Never collapse the sidebar for wide screens */
display: block;
}
}

View File

@ -1,326 +0,0 @@
{
"Version": 1,
"Hash": "1nn/Soy1gCBN539Fqp6zXCqveCzRTWKw604gAHQ+gKg=",
"Source": "PanoptesFrontend",
"BasePath": "_content/PanoptesFrontend",
"Mode": "Default",
"ManifestType": "Build",
"ReferencedProjectsConfiguration": [],
"DiscoveryPatterns": [
{
"Name": "PanoptesFrontend\\wwwroot",
"Source": "PanoptesFrontend",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"Pattern": "**"
}
],
"Assets": [
{
"Identity": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\css\\apexcharts.css",
"SourceId": "Blazor-ApexCharts",
"SourceType": "Package",
"ContentRoot": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\",
"BasePath": "_content/Blazor-ApexCharts",
"RelativePath": "css/apexcharts.css",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\css\\apexcharts.css"
},
{
"Identity": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\js\\apex-charts.min.js",
"SourceId": "Blazor-ApexCharts",
"SourceType": "Package",
"ContentRoot": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\",
"BasePath": "_content/Blazor-ApexCharts",
"RelativePath": "js/apex-charts.min.js",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Always",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\js\\apex-charts.min.js"
},
{
"Identity": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\js\\blazor-apex-charts.js",
"SourceId": "Blazor-ApexCharts",
"SourceType": "Package",
"ContentRoot": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\",
"BasePath": "_content/Blazor-ApexCharts",
"RelativePath": "js/blazor-apex-charts.js",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\js\\blazor-apex-charts.js"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\bundle\\PanoptesFrontend.styles.css",
"SourceId": "PanoptesFrontend",
"SourceType": "Computed",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\bundle\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "PanoptesFrontend.styles.css",
"AssetKind": "All",
"AssetMode": "CurrentProject",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "ScopedCss",
"AssetTraitValue": "ApplicationBundle",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\bundle\\PanoptesFrontend.styles.css"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\projectbundle\\PanoptesFrontend.bundle.scp.css",
"SourceId": "PanoptesFrontend",
"SourceType": "Computed",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\projectbundle\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "PanoptesFrontend.bundle.scp.css",
"AssetKind": "All",
"AssetMode": "Reference",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "ScopedCss",
"AssetTraitValue": "ProjectBundle",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\projectbundle\\PanoptesFrontend.bundle.scp.css"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\bootstrap\\bootstrap.min.css",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/bootstrap/bootstrap.min.css",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\bootstrap\\bootstrap.min.css"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\bootstrap\\bootstrap.min.css.map",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/bootstrap/bootstrap.min.css.map",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\bootstrap\\bootstrap.min.css.map"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\FONT-LICENSE",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/FONT-LICENSE",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\FONT-LICENSE"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\font\\css\\open-iconic-bootstrap.min.css",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/font/css/open-iconic-bootstrap.min.css",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\font\\css\\open-iconic-bootstrap.min.css"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.eot",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/font/fonts/open-iconic.eot",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.eot"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.otf",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/font/fonts/open-iconic.otf",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.otf"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.svg",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/font/fonts/open-iconic.svg",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.svg"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.ttf",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/font/fonts/open-iconic.ttf",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.ttf"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.woff",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/font/fonts/open-iconic.woff",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\font\\fonts\\open-iconic.woff"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\ICON-LICENSE",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/ICON-LICENSE",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\ICON-LICENSE"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\open-iconic\\README.md",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/open-iconic/README.md",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\open-iconic\\README.md"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\css\\site.css",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "css/site.css",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\css\\site.css"
},
{
"Identity": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\favicon.ico",
"SourceId": "PanoptesFrontend",
"SourceType": "Discovered",
"ContentRoot": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\",
"BasePath": "_content/PanoptesFrontend",
"RelativePath": "favicon.ico",
"AssetKind": "All",
"AssetMode": "All",
"AssetRole": "Primary",
"RelatedAsset": "",
"AssetTraitName": "",
"AssetTraitValue": "",
"CopyToOutputDirectory": "Never",
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\favicon.ico"
}
]
}

View File

@ -1 +0,0 @@
{"ContentRoots":["C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\wwwroot\\","C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\staticwebassets\\","C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\Debug\\net6.0\\scopedcss\\bundle\\"],"Root":{"Children":{"css":{"Children":{"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null},"site.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/site.css"},"Patterns":null}},"Asset":null,"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"_content":{"Children":{"Blazor-ApexCharts":{"Children":{"css":{"Children":{"apexcharts.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"css/apexcharts.css"},"Patterns":null}},"Asset":null,"Patterns":null},"js":{"Children":{"apex-charts.min.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"js/apex-charts.min.js"},"Patterns":null},"blazor-apex-charts.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"js/blazor-apex-charts.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"PanoptesFrontend.styles.css":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"PanoptesFrontend.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}

View File

@ -1,70 +0,0 @@
{
"format": 1,
"restore": {
"C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\PanoptesFrontend.csproj": {}
},
"projects": {
"C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\PanoptesFrontend.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\PanoptesFrontend.csproj",
"projectName": "PanoptesFrontend",
"projectPath": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\PanoptesFrontend.csproj",
"packagesPath": "C:\\Users\\user\\.nuget\\packages\\",
"outputPath": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\user\\AppData\\Roaming\\NuGet\\NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Blazor-ApexCharts": {
"target": "Package",
"version": "[0.9.20-beta, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.405\\RuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\user\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.3.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\user\.nuget\packages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)blazor-apexcharts\0.9.20-beta\buildTransitive\Blazor-ApexCharts.props" Condition="Exists('$(NuGetPackageRoot)blazor-apexcharts\0.9.20-beta\buildTransitive\Blazor-ApexCharts.props')" />
</ImportGroup>
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\6.0.3\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.aspnetcore.components.analyzers\6.0.3\buildTransitive\netstandard2.0\Microsoft.AspNetCore.Components.Analyzers.targets')" />
</ImportGroup>
</Project>

View File

@ -1,652 +0,0 @@
{
"version": 3,
"targets": {
"net6.0": {
"Blazor-ApexCharts/0.9.20-beta": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.3",
"Microsoft.AspNetCore.Components.Web": "6.0.3"
},
"compile": {
"lib/net6.0/Blazor-ApexCharts.dll": {}
},
"runtime": {
"lib/net6.0/Blazor-ApexCharts.dll": {}
},
"build": {
"buildTransitive/Blazor-ApexCharts.props": {}
},
"buildMultiTargeting": {
"buildMultiTargeting/Blazor-ApexCharts.props": {}
}
},
"Microsoft.AspNetCore.Authorization/6.0.3": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Metadata": "6.0.3",
"Microsoft.Extensions.Logging.Abstractions": "6.0.1",
"Microsoft.Extensions.Options": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Authorization.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Authorization.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Components/6.0.3": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Authorization": "6.0.3",
"Microsoft.AspNetCore.Components.Analyzers": "6.0.3"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Components.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Components.Analyzers/6.0.3": {
"type": "package",
"build": {
"buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets": {}
}
},
"Microsoft.AspNetCore.Components.Forms/6.0.3": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.3"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Components.Web/6.0.3": {
"type": "package",
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.3",
"Microsoft.AspNetCore.Components.Forms": "6.0.3",
"Microsoft.Extensions.DependencyInjection": "6.0.0",
"Microsoft.JSInterop": "6.0.3",
"System.IO.Pipelines": "6.0.2"
},
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Components.Web.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Components.Web.dll": {
"related": ".xml"
}
}
},
"Microsoft.AspNetCore.Metadata/6.0.3": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.AspNetCore.Metadata.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.AspNetCore.Metadata.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.DependencyInjection/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.Extensions.Logging.Abstractions/6.0.1": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.Extensions.Options/6.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0",
"Microsoft.Extensions.Primitives": "6.0.0"
},
"compile": {
"lib/netstandard2.1/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/netstandard2.1/Microsoft.Extensions.Options.dll": {
"related": ".xml"
}
}
},
"Microsoft.Extensions.Primitives/6.0.0": {
"type": "package",
"dependencies": {
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
},
"compile": {
"lib/net6.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.Extensions.Primitives.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"Microsoft.JSInterop/6.0.3": {
"type": "package",
"compile": {
"lib/net6.0/Microsoft.JSInterop.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/Microsoft.JSInterop.dll": {
"related": ".xml"
}
}
},
"System.IO.Pipelines/6.0.2": {
"type": "package",
"compile": {
"lib/net6.0/System.IO.Pipelines.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/System.IO.Pipelines.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"type": "package",
"compile": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/netcoreapp3.1/_._": {}
}
}
}
},
"libraries": {
"Blazor-ApexCharts/0.9.20-beta": {
"sha512": "gRYtKIbrR+S9y8GP6zpXwM/zZENHeXkfuQLj2KtGVzGcOmLn/PO4Exv7MZLeuxs5gKvCP6Sj/CZMAdsuxyRd2w==",
"type": "package",
"path": "blazor-apexcharts/0.9.20-beta",
"files": [
".nupkg.metadata",
".signature.p7s",
"blazor-apexcharts.0.9.20-beta.nupkg.sha512",
"blazor-apexcharts.nuspec",
"build/Blazor-ApexCharts.props",
"build/Microsoft.AspNetCore.StaticWebAssets.props",
"buildMultiTargeting/Blazor-ApexCharts.props",
"buildTransitive/Blazor-ApexCharts.props",
"lib/net6.0/Blazor-ApexCharts.dll",
"staticwebassets/css/apexcharts.css",
"staticwebassets/js/apex-charts.min.js",
"staticwebassets/js/blazor-apex-charts.js"
]
},
"Microsoft.AspNetCore.Authorization/6.0.3": {
"sha512": "eWgsWE7IY7Az2lGBvoYk20290ZqTI0Y9ATyprrwfaC7w8MvBXu2jU+tv90Zt6lbEE3RP55XL+dFydGExcunHbw==",
"type": "package",
"path": "microsoft.aspnetcore.authorization/6.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Authorization.dll",
"lib/net461/Microsoft.AspNetCore.Authorization.xml",
"lib/net6.0/Microsoft.AspNetCore.Authorization.dll",
"lib/net6.0/Microsoft.AspNetCore.Authorization.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Authorization.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Authorization.xml",
"microsoft.aspnetcore.authorization.6.0.3.nupkg.sha512",
"microsoft.aspnetcore.authorization.nuspec"
]
},
"Microsoft.AspNetCore.Components/6.0.3": {
"sha512": "Mqk/tAA+RWBnaz8uhn18VaEqVIY/G6LTpBX+Ap65/3vq4RwFZIDFK8gYMrV3JSQXkBYk3rYxPtwgEutCt4ZGww==",
"type": "package",
"path": "microsoft.aspnetcore.components/6.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"lib/net6.0/Microsoft.AspNetCore.Components.dll",
"lib/net6.0/Microsoft.AspNetCore.Components.xml",
"microsoft.aspnetcore.components.6.0.3.nupkg.sha512",
"microsoft.aspnetcore.components.nuspec"
]
},
"Microsoft.AspNetCore.Components.Analyzers/6.0.3": {
"sha512": "zM6GIzF9bAnjVhiXNFQ2viF7W9FPASHjiDmV53M+ArRKBS8LFvzTfC4sgGYDoaikxm+zdx9mH7x98I1Dh3/INQ==",
"type": "package",
"path": "microsoft.aspnetcore.components.analyzers/6.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"analyzers/dotnet/cs/Microsoft.AspNetCore.Components.Analyzers.dll",
"build/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets",
"buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets",
"microsoft.aspnetcore.components.analyzers.6.0.3.nupkg.sha512",
"microsoft.aspnetcore.components.analyzers.nuspec"
]
},
"Microsoft.AspNetCore.Components.Forms/6.0.3": {
"sha512": "bSGNnkAAzalMJl3Kv4HIOZ2sVeIc/+UopY27fO8v5Km9mS3jMzDiuCdvi4pXgnSsJj/bFjjO5KASd/KB9feFkw==",
"type": "package",
"path": "microsoft.aspnetcore.components.forms/6.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.dll",
"lib/net6.0/Microsoft.AspNetCore.Components.Forms.xml",
"microsoft.aspnetcore.components.forms.6.0.3.nupkg.sha512",
"microsoft.aspnetcore.components.forms.nuspec"
]
},
"Microsoft.AspNetCore.Components.Web/6.0.3": {
"sha512": "otsm2nj+nFPI1rGENDkbbDWWsdn4VKMa3nY6crAMzgXESIiaT0iLSWN3cC3yCUIarTsNJOz4nhT+z6/lkiqKEQ==",
"type": "package",
"path": "microsoft.aspnetcore.components.web/6.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.txt",
"lib/net6.0/Microsoft.AspNetCore.Components.Web.dll",
"lib/net6.0/Microsoft.AspNetCore.Components.Web.xml",
"microsoft.aspnetcore.components.web.6.0.3.nupkg.sha512",
"microsoft.aspnetcore.components.web.nuspec"
]
},
"Microsoft.AspNetCore.Metadata/6.0.3": {
"sha512": "I3FVSfaLdSLs4XmBq5DbK7PuVF/aSf0Xc63/AeNIJFt6/chYvcJaxnKbd4yZo9OXGw5OT9KOIxGWZ/2CucvgJw==",
"type": "package",
"path": "microsoft.aspnetcore.metadata/6.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.AspNetCore.Metadata.dll",
"lib/net461/Microsoft.AspNetCore.Metadata.xml",
"lib/net6.0/Microsoft.AspNetCore.Metadata.dll",
"lib/net6.0/Microsoft.AspNetCore.Metadata.xml",
"lib/netstandard2.0/Microsoft.AspNetCore.Metadata.dll",
"lib/netstandard2.0/Microsoft.AspNetCore.Metadata.xml",
"microsoft.aspnetcore.metadata.6.0.3.nupkg.sha512",
"microsoft.aspnetcore.metadata.nuspec"
]
},
"Microsoft.Extensions.DependencyInjection/6.0.0": {
"sha512": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.DependencyInjection.dll",
"lib/net461/Microsoft.Extensions.DependencyInjection.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml",
"microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/6.0.0": {
"sha512": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==",
"type": "package",
"path": "microsoft.extensions.dependencyinjection.abstractions/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
"microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512",
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Logging.Abstractions/6.0.1": {
"sha512": "dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==",
"type": "package",
"path": "microsoft.extensions.logging.abstractions/6.0.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
"analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
"analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
"build/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net461/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Logging.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
"microsoft.extensions.logging.abstractions.6.0.1.nupkg.sha512",
"microsoft.extensions.logging.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Options/6.0.0": {
"sha512": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
"type": "package",
"path": "microsoft.extensions.options/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/Microsoft.Extensions.Options.dll",
"lib/net461/Microsoft.Extensions.Options.xml",
"lib/netstandard2.0/Microsoft.Extensions.Options.dll",
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
"lib/netstandard2.1/Microsoft.Extensions.Options.dll",
"lib/netstandard2.1/Microsoft.Extensions.Options.xml",
"microsoft.extensions.options.6.0.0.nupkg.sha512",
"microsoft.extensions.options.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Primitives/6.0.0": {
"sha512": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==",
"type": "package",
"path": "microsoft.extensions.primitives/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/Microsoft.Extensions.Primitives.dll",
"lib/net461/Microsoft.Extensions.Primitives.xml",
"lib/net6.0/Microsoft.Extensions.Primitives.dll",
"lib/net6.0/Microsoft.Extensions.Primitives.xml",
"lib/netcoreapp3.1/Microsoft.Extensions.Primitives.dll",
"lib/netcoreapp3.1/Microsoft.Extensions.Primitives.xml",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
"microsoft.extensions.primitives.6.0.0.nupkg.sha512",
"microsoft.extensions.primitives.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.JSInterop/6.0.3": {
"sha512": "3QCDEyxcjhfQQeGRGtJFP4F8ne4D6Gf2w1nkdQCRy79yzSGHcoUbBkziVVmoppRbipIh9ickyHD7wXB+m0GiIw==",
"type": "package",
"path": "microsoft.jsinterop/6.0.3",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"THIRD-PARTY-NOTICES.TXT",
"lib/net6.0/Microsoft.JSInterop.dll",
"lib/net6.0/Microsoft.JSInterop.xml",
"microsoft.jsinterop.6.0.3.nupkg.sha512",
"microsoft.jsinterop.nuspec"
]
},
"System.IO.Pipelines/6.0.2": {
"sha512": "cb5OfQjnz+zjpJJei+f3QYK7+wWZrDdNHf3DykO6QCacpNZ80tuNgq1DC2kqlrjfEu+cMUTvulxPIrCMbBkjqg==",
"type": "package",
"path": "system.io.pipelines/6.0.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/System.IO.Pipelines.dll",
"lib/net461/System.IO.Pipelines.xml",
"lib/net6.0/System.IO.Pipelines.dll",
"lib/net6.0/System.IO.Pipelines.xml",
"lib/netcoreapp3.1/System.IO.Pipelines.dll",
"lib/netcoreapp3.1/System.IO.Pipelines.xml",
"lib/netstandard2.0/System.IO.Pipelines.dll",
"lib/netstandard2.0/System.IO.Pipelines.xml",
"system.io.pipelines.6.0.2.nupkg.sha512",
"system.io.pipelines.nuspec",
"useSharedDesignerContext.txt"
]
},
"System.Runtime.CompilerServices.Unsafe/6.0.0": {
"sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
"type": "package",
"path": "system.runtime.compilerservices.unsafe/6.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets",
"buildTransitive/netcoreapp3.1/_._",
"lib/net461/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net461/System.Runtime.CompilerServices.Unsafe.xml",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll",
"lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml",
"system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"system.runtime.compilerservices.unsafe.nuspec",
"useSharedDesignerContext.txt"
]
}
},
"projectFileDependencyGroups": {
"net6.0": [
"Blazor-ApexCharts >= 0.9.20-beta"
]
},
"packageFolders": {
"C:\\Users\\user\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\PanoptesFrontend.csproj",
"projectName": "PanoptesFrontend",
"projectPath": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\PanoptesFrontend.csproj",
"packagesPath": "C:\\Users\\user\\.nuget\\packages\\",
"outputPath": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\user\\AppData\\Roaming\\NuGet\\NuGet.Config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
"Blazor-ApexCharts": {
"target": "Package",
"version": "[0.9.20-beta, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.405\\RuntimeIdentifierGraph.json"
}
}
}
}

View File

@ -1,24 +0,0 @@
{
"version": 2,
"dgSpecHash": "gPoV7dk73vtJ1TMak9eMEtIujEuztJqXrAxBP9du5XMdjJNkIN6C2RIRiClH8c07hErVVH7GpQJzzabWcWYX2w==",
"success": true,
"projectFilePath": "C:\\Users\\user\\Documents\\Panoptes\\2023-ca400-murphg62-byrnm257\\src\\PanoptesFrontend\\PanoptesFrontend.csproj",
"expectedPackageFiles": [
"C:\\Users\\user\\.nuget\\packages\\blazor-apexcharts\\0.9.20-beta\\blazor-apexcharts.0.9.20-beta.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.authorization\\6.0.3\\microsoft.aspnetcore.authorization.6.0.3.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.components\\6.0.3\\microsoft.aspnetcore.components.6.0.3.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.components.analyzers\\6.0.3\\microsoft.aspnetcore.components.analyzers.6.0.3.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.components.forms\\6.0.3\\microsoft.aspnetcore.components.forms.6.0.3.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.components.web\\6.0.3\\microsoft.aspnetcore.components.web.6.0.3.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.aspnetcore.metadata\\6.0.3\\microsoft.aspnetcore.metadata.6.0.3.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\6.0.0\\microsoft.extensions.dependencyinjection.6.0.0.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\6.0.0\\microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\6.0.1\\microsoft.extensions.logging.abstractions.6.0.1.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.options\\6.0.0\\microsoft.extensions.options.6.0.0.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.extensions.primitives\\6.0.0\\microsoft.extensions.primitives.6.0.0.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\microsoft.jsinterop\\6.0.3\\microsoft.jsinterop.6.0.3.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\system.io.pipelines\\6.0.2\\system.io.pipelines.6.0.2.nupkg.sha512",
"C:\\Users\\user\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\6.0.0\\system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
],
"logs": []
}

View File

@ -1,19 +0,0 @@
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0

View File

@ -10,7 +10,7 @@ COPY . ./
RUN go mod download
# Build
RUN CGO_ENABLED=0 GOOS=linux go build -o /charts .
RUN CGO_ENABLED=0 GOOS=linux go build -o /panoptes cmd/main.go
# Optional:
# To bind to a TCP port, runtime parameters must be supplied to the docker command.
@ -20,6 +20,5 @@ RUN CGO_ENABLED=0 GOOS=linux go build -o /charts .
EXPOSE 8080
# Run
CMD ["/charts"]
CMD ["/panoptes"]

View File

@ -5,27 +5,24 @@ import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"os"
//"bytes"
"net/http"
"github.com/dgrijalva/jwt-go"
"golang.org/x/crypto/bcrypt"
"github.com/labstack/echo/v4"
"github.com/google/uuid"
"gitlab.computing.dcu.ie/murphg62/2023-ca400-murphg62-byrnm257/src/backend/pkg/database"
"gitlab.computing.dcu.ie/murphg62/2023-ca400-murphg62-byrnm257/src/backend/pkg/docker"
_ "golang.org/x/mod/module"
)
const (
host = "localhost"
port = 5432
user = "postgres"
password = "Gcvy4266"
dbname = "Panoptes"
)
var db, err = database.ConnectDB(host, port, user, password, dbname)
var db, err = database.ConnectDB(os.Getenv("db"), port, os.Getenv("db_user"), os.Getenv("db_pass"), os.Getenv("db_name"))
var jwtSecret = []byte("fAHr+Hlho9qhCePEuMxLVG2i/1tiEqtocAWkcYRJx0s=")
type Schema struct {
@ -53,17 +50,17 @@ func getSchema(c echo.Context) error {
key := c.Param("container")
requestURL := fmt.Sprintf("http://%s/schema", key)
requestURL := fmt.Sprintf("http://%s:8080/schema", key)
resp, err := http.Get(requestURL)
if err != nil {
log.Fatalf("Request to container failed: %v", err)
panic(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalf("Failed to print Body: %v", err)
panic(err)
}
return c.JSONBlob(resp.StatusCode, body)
@ -76,14 +73,14 @@ func getComponent(c echo.Context) error {
requestURL := fmt.Sprintf("http://%s:8080/component/%s", container, component)
resp, err := http.Get(requestURL)
if err != nil {
log.Fatalf("Request to container failed: %v", err)
panic(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalf("Failed to print Body: %v", err)
panic(err)
}
return c.JSONBlob(http.StatusOK, body)
@ -96,14 +93,14 @@ func postComponent(c echo.Context) error {
requestURL := fmt.Sprintf("http://%s:8080/component/%s", container, component)
resp, err := http.Post(requestURL, "application/json", c.Request().Body)
if err != nil {
log.Fatalf("Request to container failed: %v", err)
panic(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalf("Failed to print Body: %v", err)
panic(err)
}
return c.JSONBlob(http.StatusOK, body)
@ -114,6 +111,7 @@ func GetModules(db *sql.DB) echo.HandlerFunc {
modules := make([]Module, 0)
rows, err := db.Query("SELECT name, container_name FROM Module")
if err != nil {
fmt.Println("test")
return err
}
defer rows.Close()
@ -130,6 +128,45 @@ func GetModules(db *sql.DB) echo.HandlerFunc {
}
}
func getFromModule(c echo.Context) error {
url := c.Param("url")
requestURL := fmt.Sprintf("http://%s", url)
fmt.Println(requestURL)
resp, err := http.Get(requestURL)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
return c.JSONBlob(http.StatusOK, body)
}
func postFromModule(c echo.Context) error {
url := c.Param("url")
requestURL := fmt.Sprintf("http://%s", url)
resp, err := http.Post(requestURL, "application/json", c.Request().Body)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
return c.JSONBlob(http.StatusOK, body)
}
func RegisterUser(db *sql.DB) echo.HandlerFunc {
return func(c echo.Context) error {
user := new(User)
@ -216,12 +253,13 @@ func CreateModule(c echo.Context) error {
if err := c.Bind(&module); err != nil {
panic(err)
}
module.ID = uuid.New().String()
s, _ := json.MarshalIndent(module, "", " ")
fmt.Println(string(s))
mod_id := docker.CreateModule(module)
fmt.Println(mod_id)
stmt, err := db.Prepare(`INSERT INTO Module (name, container_name) VALUES ($1, $2);`)
if err != nil {
fmt.Println("lmao")
panic(err)
}
_, err = stmt.Exec(module.Name, mod_id)
@ -253,6 +291,8 @@ func main() {
e.POST("/user/login", LoginUser(db, jwtSecret))
e.POST("/user/logout", LogoutUser())
e.POST("/create_module", CreateModule)
e.GET("/get/:url", getFromModule)
e.POST("/post/:url", postFromModule)
e.Logger.Fatal(e.Start(":10000"))
defer db.Close()
}

View File

@ -4,6 +4,8 @@ go 1.19
require (
github.com/DATA-DOG/go-sqlmock v1.5.0
github.com/docker/docker v23.0.5+incompatible
github.com/docker/go-connections v0.4.0
github.com/labstack/echo/v4 v4.10.2
github.com/lib/pq v1.10.8
github.com/stretchr/testify v1.8.2
@ -15,10 +17,9 @@ require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
github.com/docker/distribution v2.8.1+incompatible // indirect
github.com/docker/docker v23.0.5+incompatible // indirect
github.com/docker/go-connections v0.4.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/labstack/gommon v0.4.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.17 // indirect

View File

@ -17,6 +17,8 @@ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=

View File

@ -74,17 +74,18 @@ func CreateModule(module Module) string {
ContainerConfig(module, &container, &host, &network)
image_out, err := cli.ImagePull(ctx, module.Image, types.ImagePullOptions{})
if err != nil {
panic(err)
if err == nil {
defer image_out.Close()
io.Copy(ioutil.Discard, image_out)
}
defer image_out.Close()
io.Copy(ioutil.Discard, image_out)
fmt.Println("test1")
resp, err := cli.ContainerCreate(ctx, &container, &host, &network, nil, module.Name)
if err != nil {
panic(err)
}
fmt.Println("test2")
if _, err := cli.NetworkInspect(ctx, module.ID, types.NetworkInspectOptions{}); err != nil {
networkConfig := types.NetworkCreate{
@ -94,14 +95,17 @@ func CreateModule(module Module) string {
panic(err)
}
}
fmt.Println("test3")
if err := cli.ContainerStart(ctx, resp.ID, types.ContainerStartOptions{}); err != nil {
panic(err)
}
fmt.Println("test3")
if err := cli.NetworkConnect(ctx, module.ID, os.Getenv("hostname"), &networktypes.EndpointSettings{}); err != nil {
panic(err)
}
fmt.Println("test4")
return resp.ID
}

View File

@ -1,147 +0,0 @@
package main
import (
"net/http"
"fmt"
"math/rand"
"strconv"
"time"
"github.com/labstack/echo/v4"
)
type Stats struct {
Label string `json:"Label"`
Value uint64 `json:"Value"`
}
type TableComponent[T any] struct {
Id int `json:"id"`
Data []T `json:"Data"`
}
type GraphComponent struct {
Id int `json:"id"`
Graph string `json:graph,omitempty"`
Title string `json:title,omitempty"`
Stats []Stats `json:"stats,omitempty"`
}
// Create the first list of stats
var statsList1 = []Stats{
{Label: "Sales", Value: uint64(rand.Intn(100))},
{Label: "Profit", Value: uint64(rand.Intn(100))},
{Label: "Expenses", Value: uint64(rand.Intn(100))},
{Label: "Revenue", Value: uint64(rand.Intn(100))},
}
var statsList2 = []Stats{
{Label: "Active Users", Value: uint64(rand.Intn(1000))},
{Label: "New Users", Value: uint64(rand.Intn(100))},
{Label: "Page Views", Value: uint64(rand.Intn(10000))},
{Label: "Time Spent", Value: uint64(rand.Intn(100))},
}
var statsList3 = []Stats{
{Label: "Tickets Solved", Value: uint64(rand.Intn(100))},
{Label: "Open Tickets", Value: uint64(rand.Intn(100))},
{Label: "Response Time", Value: uint64(rand.Intn(10))},
{Label: "Customer Satisfaction", Value: uint64(rand.Intn(100))},
}
var statsList4 = []Stats{
{Label: "Temperature", Value: uint64(rand.Intn(100))},
{Label: "Humidity", Value: uint64(rand.Intn(100))},
{Label: "Pressure", Value: uint64(rand.Intn(100))},
{Label: "Wind Speed", Value: uint64(rand.Intn(100))},
}
func getSchema(c echo.Context) error {
var Tablecomponent []TableComponent[string]
Graphcomponents := []GraphComponent{
{Id: 1, Graph: "donut", Stats: statsList1, Title: "Sales"},
{Id: 2, Graph: "radial-bar", Stats: statsList2, Title: "Traffic"},
{Id: 3, Graph: "pie", Stats: statsList3, Title: "Tickets"},
{Id: 4, Graph: "bar", Stats: statsList4, Title: "Weather"},
}
response := map[string]interface{}{
"tables": Tablecomponent,
"graphs": Graphcomponents,
}
return c.JSON(http.StatusOK, response)
}
func updateGraphComponent(c echo.Context) error {
component := c.Param("Id")
var newStatsList1 = []Stats{
{Label: "Sales", Value: uint64(rand.Intn(100))},
{Label: "Profit", Value: uint64(rand.Intn(100))},
{Label: "Expenses", Value: uint64(rand.Intn(100))},
{Label: "Revenue", Value: uint64(rand.Intn(100))},
}
var newStatsList2 = []Stats{
{Label: "Active Users", Value: uint64(rand.Intn(1000))},
{Label: "New Users", Value: uint64(rand.Intn(100))},
{Label: "Page Views", Value: uint64(rand.Intn(10000))},
{Label: "Time Spent", Value: uint64(rand.Intn(100))},
}
var newStatsList3 = []Stats{
{Label: "Tickets Solved", Value: uint64(rand.Intn(100))},
{Label: "Open Tickets", Value: uint64(rand.Intn(100))},
{Label: "Response Time", Value: uint64(rand.Intn(10))},
{Label: "Customer Satisfaction", Value: uint64(rand.Intn(100))},
}
var newStatsList4 = []Stats{
{Label: "Temperature", Value: uint64(rand.Intn(100))},
{Label: "Humidity", Value: uint64(rand.Intn(100))},
{Label: "Pressure", Value: uint64(rand.Intn(100))},
{Label: "Wind Speed", Value: uint64(rand.Intn(100))},
}
Graphcomponents := []GraphComponent{
{Id: 1, Graph: "donut", Stats: newStatsList1, Title: "Sales"},
{Id: 2, Graph: "radial-bar", Stats: newStatsList2, Title: "Traffic"},
{Id: 3, Graph: "pie", Stats: newStatsList3, Title: "Tickets"},
{Id: 4, Graph: "bar", Stats: newStatsList4, Title: "Weather"},
}
componentMap := make(map[int]GraphComponent)
for _, component := range Graphcomponents {
componentMap[component.Id] = component
}
targetComponent, err := strconv.Atoi(component)
if err != nil {
fmt.Println("Error converting string to int:", err);
}
return c.JSON(http.StatusOK, componentMap[targetComponent])
}
func main() {
// Seed the random number generator
rand.Seed(time.Now().UnixNano())
e := echo.New()
e.GET("/schema", getSchema)
e.GET("/component/:Id", updateGraphComponent)
e.Logger.Fatal(e.Start(":8080"))
}

View File

@ -1,18 +0,0 @@
module localhost.com
go 1.19
require github.com/labstack/echo/v4 v4.10.2
require (
github.com/labstack/gommon v0.4.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.17 // indirect
github.com/stretchr/testify v1.8.2 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect
golang.org/x/crypto v0.6.0 // indirect
golang.org/x/net v0.7.0 // indirect
golang.org/x/sys v0.6.0 // indirect
golang.org/x/text v0.7.0 // indirect
)

View File

@ -1,42 +0,0 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/labstack/echo/v4 v4.10.2 h1:n1jAhnq/elIFTHr1EYpiYtyKgx4RW9ccVgkqByZaN2M=
github.com/labstack/echo/v4 v4.10.2/go.mod h1:OEyqf2//K1DFdE57vw2DRgWY0M7s65IVQO2FzvI4J5k=
github.com/labstack/gommon v0.4.0 h1:y7cvthEAEbU0yHOf4axH8ZG2NH8knB9iNSoTO8dyIk8=
github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM=
github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=