Merge branch 'main' into StatisticSystem

This commit is contained in:
Daniel Balk
2023-04-06 22:24:57 +02:00
committed by GitHub
10 changed files with 42 additions and 118 deletions

View File

@@ -37,7 +37,7 @@ public class User
public DateTime TokenValidTime { get; set; } = DateTime.Now; public DateTime TokenValidTime { get; set; } = DateTime.Now;
// Discord // Discord
public long DiscordId { get; set; } = -1; public ulong DiscordId { get; set; }
// Date stuff // Date stuff
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime CreatedAt { get; set; } = DateTime.UtcNow;

View File

@@ -115,7 +115,7 @@ public class DiscordOAuth2Service
Email = getData.GetValue<string>("email"), Email = getData.GetValue<string>("email"),
FirstName = "User", FirstName = "User",
LastName = "User", LastName = "User",
DiscordId = getData.GetValue<long>("id"), DiscordId = getData.GetValue<ulong>("id"),
Status = UserStatus.DataPending Status = UserStatus.DataPending
}; };
} }

View File

@@ -69,7 +69,7 @@ public class UserService
State = "", State = "",
Status = UserStatus.Unverified, Status = UserStatus.Unverified,
CreatedAt = DateTime.UtcNow, CreatedAt = DateTime.UtcNow,
DiscordId = -1, DiscordId = 0,
TotpEnabled = false, TotpEnabled = false,
TotpSecret = "", TotpSecret = "",
UpdatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow,

View File

@@ -52,14 +52,6 @@ else
<span class="menu-title"><TL>Websites</TL></span> <span class="menu-title"><TL>Websites</TL></span>
</a> </a>
</div> </div>
<div class="menu-item">
<a class="menu-link" href="/databases">
<span class="menu-icon">
<i class="bx bx-data"></i>
</span>
<span class="menu-title"><TL>Databases</TL></span>
</a>
</div>
<div class="menu-item"> <div class="menu-item">
<a class="menu-link" href="/domains"> <a class="menu-link" href="/domains">
<span class="menu-icon"> <span class="menu-icon">

View File

@@ -2,13 +2,12 @@
@using Moonlight.App.Repositories.Servers @using Moonlight.App.Repositories.Servers
@using Moonlight.Shared.Components.FileManagerPartials @using Moonlight.Shared.Components.FileManagerPartials
@using Moonlight.App.Database.Entities @using Moonlight.App.Database.Entities
@using Moonlight.App.Helpers
@using Moonlight.App.Helpers.Files @using Moonlight.App.Helpers.Files
@using Moonlight.App.Services @using Moonlight.App.Services
@inject ServerRepository ServerRepository @inject ServerRepository ServerRepository
@inject WingsApiHelper WingsApiHelper
@inject SmartTranslateService SmartTranslateService @inject SmartTranslateService SmartTranslateService
@inject ServerService ServerService
<div class="col"> <div class="col">
<div class="card card-body"> <div class="card card-body">
@@ -42,14 +41,9 @@
private FileSelectModal FileSelectModal; private FileSelectModal FileSelectModal;
private LazyLoader LazyLoader; private LazyLoader LazyLoader;
protected override void OnInitialized() protected override async Task OnInitializedAsync()
{ {
Access = new WingsFileAccess(WingsApiHelper, Access = await ServerService.CreateFileAccess(CurrentServer, null!);
null!,
CurrentServer,
null!,
null!
);
} }
private async Task Load(LazyLoader lazyLoader) private async Task Load(LazyLoader lazyLoader)

View File

@@ -7,7 +7,7 @@
@using Moonlight.App.Services @using Moonlight.App.Services
@inject ServerRepository ServerRepository @inject ServerRepository ServerRepository
@inject WingsApiHelper WingsApiHelper @inject ServerService ServerService
@inject SmartTranslateService SmartTranslateService @inject SmartTranslateService SmartTranslateService
<div class="col"> <div class="col">
@@ -42,14 +42,9 @@
private FileSelectModal FileSelectModal; private FileSelectModal FileSelectModal;
private LazyLoader LazyLoader; private LazyLoader LazyLoader;
protected override void OnInitialized() protected override async Task OnInitializedAsync()
{ {
Access = new WingsFileAccess(WingsApiHelper, Access = await ServerService.CreateFileAccess(CurrentServer, null!);
null!,
CurrentServer,
null!,
null!
);
} }
private async Task Load(LazyLoader lazyLoader) private async Task Load(LazyLoader lazyLoader)

View File

@@ -7,8 +7,6 @@
@inject SmartTranslateService SmartTranslateService @inject SmartTranslateService SmartTranslateService
@inject AlertService AlertService @inject AlertService AlertService
@inject ToastService ToastService @inject ToastService ToastService
@inject WingsApiHelper WingsApiHelper
@inject ConfigService ConfigService
@inject ServerService ServerService @inject ServerService ServerService
<WButton Text="@(SmartTranslateService.Translate("Reset"))" <WButton Text="@(SmartTranslateService.Translate("Reset"))"
@@ -35,13 +33,7 @@
{ {
await ToastService.CreateProcessToast("serverReset", SmartTranslateService.Translate("Resetting server")); await ToastService.CreateProcessToast("serverReset", SmartTranslateService.Translate("Resetting server"));
var access = new WingsFileAccess( var access = await ServerService.CreateFileAccess(CurrentServer, null!);
WingsApiHelper,
null!,
CurrentServer,
ConfigService,
null!
);
var files = await access.Ls(); var files = await access.Ls();

View File

@@ -1,9 +1,12 @@
@page "/admin" @page "/admin"
@using Moonlight.App.Repositories.Servers @using Moonlight.App.Repositories.Servers
@using Moonlight.App.Repositories @using Moonlight.App.Repositories
@using Moonlight.App.Repositories.Domains
@inject ServerRepository ServerRepository @inject ServerRepository ServerRepository
@inject UserRepository UserRepository @inject UserRepository UserRepository
@inject WebsiteRepository WebsiteRepository
@inject DomainRepository DomainRepository
<OnlyAdmin> <OnlyAdmin>
<LazyLoader Load="Load"> <LazyLoader Load="Load">
@@ -38,7 +41,7 @@
<TL>Websites</TL> <TL>Websites</TL>
</h6> </h6>
<span class="h2 mb-0"> <span class="h2 mb-0">
0 @(WebsiteCount)
</span> </span>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -50,27 +53,6 @@
</div> </div>
</a> </a>
</div> </div>
<div class="col-12 col-lg-6 col-xl">
<div class="mt-4 card" href="/databases">
<div class="card-body">
<div class="row align-items-center gx-0">
<div class="col">
<h6 class="text-uppercase text-muted mb-2">
<TL>Databases</TL>
</h6>
<span class="h2 mb-0">
@(DatabaseCount)
</span>
</div>
<div class="col-auto">
<span class="h2 text-muted mb-0">
<i class="text-primary bx bx-data bx-lg"></i>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 col-lg-6 col-xl"> <div class="col-12 col-lg-6 col-xl">
<a class="mt-4 card" href="/domains"> <a class="mt-4 card" href="/domains">
<div class="card-body"> <div class="card-body">
@@ -80,7 +62,7 @@
<TL>Domains</TL> <TL>Domains</TL>
</h6> </h6>
<span class="h2 mb-0"> <span class="h2 mb-0">
0 @(DomainCount)
</span> </span>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -119,15 +101,17 @@
@code @code
{ {
private int DatabaseCount = 0;
private int ServerCount = 0; private int ServerCount = 0;
private int UserCount = 0; private int UserCount = 0;
private int DomainCount = 0;
private int WebsiteCount = 0;
private Task Load(LazyLoader lazyLoader) private Task Load(LazyLoader lazyLoader)
{ {
DatabaseCount = 0;
ServerCount = ServerRepository.Get().Count(); ServerCount = ServerRepository.Get().Count();
UserCount = UserRepository.Get().Count(); UserCount = UserRepository.Get().Count();
DomainCount = DomainRepository.Get().Count();
WebsiteCount = WebsiteRepository.Get().Count();
return Task.CompletedTask; return Task.CompletedTask;
} }

View File

@@ -3,8 +3,12 @@
@using Moonlight.App.Repositories.Servers @using Moonlight.App.Repositories.Servers
@using Microsoft.EntityFrameworkCore @using Microsoft.EntityFrameworkCore
@using Moonlight.App.Database.Entities @using Moonlight.App.Database.Entities
@using Moonlight.App.Repositories
@using Moonlight.App.Repositories.Domains
@inject ServerRepository ServerRepository @inject ServerRepository ServerRepository
@inject WebsiteRepository WebsiteRepository
@inject DomainRepository DomainRepository
<LazyLoader Load="Load"> <LazyLoader Load="Load">
<div class="row mb-5"> <div class="row mb-5">
@@ -38,7 +42,7 @@
<TL>Websites</TL> <TL>Websites</TL>
</h6> </h6>
<span class="h2 mb-0"> <span class="h2 mb-0">
0 @(WebsiteCount)
</span> </span>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -50,27 +54,6 @@
</div> </div>
</a> </a>
</div> </div>
<div class="col-12 col-lg-6 col-xl">
<div class="mt-4 card" href="/databases">
<div class="card-body">
<div class="row align-items-center gx-0">
<div class="col">
<h6 class="text-uppercase text-muted mb-2">
<TL>Databases</TL>
</h6>
<span class="h2 mb-0">
@(DatabaseCount)
</span>
</div>
<div class="col-auto">
<span class="h2 text-muted mb-0">
<i class="text-primary bx bx-data bx-lg"></i>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 col-lg-6 col-xl"> <div class="col-12 col-lg-6 col-xl">
<a class="mt-4 card" href="/domains"> <a class="mt-4 card" href="/domains">
<div class="card-body"> <div class="card-body">
@@ -80,7 +63,7 @@
<TL>Domains</TL> <TL>Domains</TL>
</h6> </h6>
<span class="h2 mb-0"> <span class="h2 mb-0">
0 @(DomainCount)
</span> </span>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -119,20 +102,6 @@
</div> </div>
</div> </div>
<div class="separator mb-2 mt-2"></div> <div class="separator mb-2 mt-2"></div>
<div class="d-flex align-items-center">
<div class="symbol symbol-50px me-3">
<i class="bx bx-md bx-data"></i>
</div>
<div class="d-flex justify-content-start flex-column">
<a href="/databases/create" class="text-gray-800 text-hover-primary mb-1 fs-5">
<TL>Create a database</TL>
</a>
<span class="text-gray-400 fw-semibold d-block fs-6">
<TL>A quick way to store your data and manage it from all around the world</TL>
</span>
</div>
</div>
<div class="separator mb-2 mt-2"></div>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<div class="symbol symbol-50px me-3"> <div class="symbol symbol-50px me-3">
<i class="bx bx-md bx-globe"></i> <i class="bx bx-md bx-globe"></i>
@@ -188,20 +157,6 @@
</div> </div>
</div> </div>
<div class="separator mb-2 mt-2"></div> <div class="separator mb-2 mt-2"></div>
<div class="d-flex align-items-center">
<div class="symbol symbol-50px me-3">
<i class="bx bx-md bx-data"></i>
</div>
<div class="d-flex justify-content-start flex-column">
<a href="/databases" class="text-gray-800 text-hover-primary mb-1 fs-5">
<TL>Manage your databases</TL>
</a>
<span class="text-gray-400 fw-semibold d-block fs-6">
<TL>Insert, delete and update the data in your databases</TL>
</span>
</div>
</div>
<div class="separator mb-2 mt-2"></div>
<div class="d-flex align-items-center"> <div class="d-flex align-items-center">
<div class="symbol symbol-50px me-3"> <div class="symbol symbol-50px me-3">
<i class="bx bx-md bx-globe"></i> <i class="bx bx-md bx-globe"></i>
@@ -239,16 +194,27 @@
[CascadingParameter] [CascadingParameter]
public User User { get; set; } public User User { get; set; }
private int DatabaseCount = 0;
private int ServerCount = 0; private int ServerCount = 0;
private int DomainCount = 0;
private int WebsiteCount = 0;
private async Task Load(LazyLoader lazyLoader) private Task Load(LazyLoader lazyLoader)
{ {
DatabaseCount = 0;
ServerCount = ServerRepository ServerCount = ServerRepository
.Get() .Get()
.Include(x => x.Owner) .Include(x => x.Owner)
.Count(x => x.Owner.Id == User.Id); .Count(x => x.Owner.Id == User.Id);
DomainCount = DomainRepository
.Get()
.Include(x => x.Owner)
.Count(x => x.Owner.Id == User.Id);
WebsiteCount = WebsiteRepository
.Get()
.Include(x => x.Owner)
.Count(x => x.Owner.Id == User.Id);
return Task.CompletedTask;
} }
} }

View File

@@ -517,3 +517,4 @@ Day;Day
Month;Month Month;Month
Year;Year Year;Year
All time;All time All time;All time
SRV records cannot be updated thanks to the cloudflare api client. Please delete the record and create a new one;SRV records cannot be updated thanks to the cloudflare api client. Please delete the record and create a new one