Refactor
parent
ba569ac388
commit
32f191f7e3
|
@ -3,11 +3,11 @@ using System.Linq;
|
|||
using LinqToDB;
|
||||
using LinqToDB.Configuration;
|
||||
using LinqToDB.Data;
|
||||
using RTMPDash.DataModels.Tables;
|
||||
using RTMPDash.Backend.Database.Tables;
|
||||
|
||||
namespace RTMPDash.DataModels;
|
||||
namespace RTMPDash.Backend.Database;
|
||||
|
||||
public class AppDb {
|
||||
public class Database {
|
||||
public class ConnectionStringSettings : IConnectionStringSettings {
|
||||
public string ConnectionString { get; set; }
|
||||
public string Name { get; set; }
|
|
@ -1,6 +1,6 @@
|
|||
using LinqToDB.Mapping;
|
||||
|
||||
namespace RTMPDash.DataModels.Tables;
|
||||
namespace RTMPDash.Backend.Database.Tables;
|
||||
|
||||
[Table(Name = "DbInfo")]
|
||||
public class DbInfo {
|
|
@ -1,8 +1,8 @@
|
|||
using LinqToDB.Mapping;
|
||||
|
||||
namespace RTMPDash.DataModels.Tables;
|
||||
namespace RTMPDash.Backend.Database.Tables;
|
||||
|
||||
[Table(Name = "Invites")]
|
||||
public class Invite {
|
||||
[Column(Name = "Code"), PrimaryKey, NotNull] public string Code { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
using LinqToDB.Mapping;
|
||||
|
||||
namespace RTMPDash.DataModels.Tables;
|
||||
namespace RTMPDash.Backend.Database.Tables;
|
||||
|
||||
[Table(Name = "Users")]
|
||||
public class User {
|
|
@ -3,11 +3,10 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using LinqToDB;
|
||||
using LinqToDB.Data;
|
||||
using RTMPDash.DataModels;
|
||||
using RTMPDash.DataModels.Tables;
|
||||
using RTMPDash.Backend.Database.Tables;
|
||||
using RTMPDash.Pages;
|
||||
|
||||
namespace RTMPDash;
|
||||
namespace RTMPDash.Backend;
|
||||
|
||||
public static class Migrations {
|
||||
private const int DbVer = 2;
|
||||
|
@ -20,7 +19,7 @@ public static class Migrations {
|
|||
};
|
||||
|
||||
public static void RunMigrations() {
|
||||
using var db = new AppDb.DbConn();
|
||||
using var db = new Database.Database.DbConn();
|
||||
var ccolor = Console.ForegroundColor;
|
||||
|
||||
if (!db.DataProvider.GetSchemaProvider().GetSchema(db).Tables.Any()) {
|
||||
|
@ -82,7 +81,7 @@ public static class Migrations {
|
|||
|
||||
new Migration(0, "COMMIT TRANSACTION").Run(db);
|
||||
|
||||
var newdb = new AppDb.DbConn();
|
||||
var newdb = new Database.Database.DbConn();
|
||||
var dbinfo = newdb.DbInfo.First();
|
||||
dbinfo.DbVer = DbVer;
|
||||
newdb.Update(dbinfo);
|
|
@ -3,9 +3,8 @@ using System.Threading;
|
|||
using LinqToDB.Data;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using RTMPDash.DataModels;
|
||||
|
||||
namespace RTMPDash;
|
||||
namespace RTMPDash.Backend;
|
||||
|
||||
public class Program {
|
||||
public const string SiteName = "chaos.stream";
|
||||
|
@ -25,7 +24,7 @@ public class Program {
|
|||
"<a href=\"https://t.me/zotan\" target=\"_blank\">Telegram</a>, <a href=\"https://threema.id/S59S9U8J\" target=\"_blank\">Threema</a>, or via <a href=\"mailto:chaosstream-contact@zotan.email\" target=\"_blank\">email</a>.";
|
||||
|
||||
public static void Main(string[] args) {
|
||||
DataConnection.DefaultSettings = new AppDb.Settings();
|
||||
DataConnection.DefaultSettings = new Database.Database.Settings();
|
||||
ThreadPool.SetMinThreads(100, 100);
|
||||
Migrations.RunMigrations();
|
||||
CreateHostBuilder(args).Build().Run();
|
|
@ -5,7 +5,7 @@ using Microsoft.Extensions.Configuration;
|
|||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
|
||||
namespace RTMPDash;
|
||||
namespace RTMPDash.Backend;
|
||||
|
||||
public class Startup {
|
||||
public Startup(IConfiguration configuration) => Configuration = configuration;
|
||||
|
@ -62,4 +62,4 @@ public class Startup {
|
|||
endpoints.MapControllers();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,9 +2,8 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Xml.Serialization;
|
||||
using RTMPDash.DataModels;
|
||||
|
||||
namespace RTMPDash;
|
||||
namespace RTMPDash.Backend;
|
||||
|
||||
public static class StreamUtils {
|
||||
private static readonly XmlSerializer Serializer = new(typeof(StatsObject));
|
||||
|
@ -19,7 +18,7 @@ public static class StreamUtils {
|
|||
long.Parse(stats.Server.Applications.First(p => p.Name == "ingress").MethodLive.Streams.First(p => p.Name == user).Time);
|
||||
|
||||
public static int CountLiveRestreams(string user, StatsObject stats) {
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.Database.DbConn();
|
||||
var dbUser = db.Users.First(p => p.Username == user);
|
||||
return dbUser.RestreamTargets.Split(",")
|
||||
.Count(target => stats.Server.Applications.First(p => p.Name == "ingress")
|
||||
|
@ -27,7 +26,7 @@ public static class StreamUtils {
|
|||
}
|
||||
|
||||
public static int CountLiveRestreams(string user, string privateAccesskey, StatsObject stats) {
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.Database.DbConn();
|
||||
var dbUser = db.Users.First(p => p.Username == user);
|
||||
return dbUser.RestreamTargets.Split(",")
|
||||
.Count(target => stats.Server.Applications.First(p => p.Name == "ingress")
|
|
@ -1,6 +1,6 @@
|
|||
using System.Linq;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using RTMPDash.DataModels;
|
||||
using RTMPDash.Backend.Database;
|
||||
|
||||
namespace RTMPDash.Controllers;
|
||||
|
||||
|
@ -8,7 +8,7 @@ namespace RTMPDash.Controllers;
|
|||
public class RtmpAuthController : ControllerBase {
|
||||
[HttpGet]
|
||||
public string Get() {
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.DbConn();
|
||||
if (!db.Users.Any(p => p.StreamKey == Request.Query["name"])) {
|
||||
Response.StatusCode = 403;
|
||||
return "unauthorized";
|
||||
|
|
|
@ -2,14 +2,15 @@
|
|||
@inject IAntiforgery Antiforgery
|
||||
@using Microsoft.AspNetCore.Antiforgery
|
||||
@using Microsoft.AspNetCore.Http
|
||||
@using RTMPDash.DataModels
|
||||
@using RTMPDash.Backend
|
||||
@using RTMPDash.Backend.Database
|
||||
@model AdminModel
|
||||
@{
|
||||
ViewData["Title"] = "Admin";
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.DbConn();
|
||||
var tokenSet = Antiforgery.GetAndStoreTokens(HttpContext);
|
||||
|
||||
if (string.IsNullOrEmpty(HttpContext.Session.GetString("authenticatedUser")) || !new AppDb.DbConn().Users.First(p => p.Username == HttpContext.Session.GetString("authenticatedUser")).IsAdmin) {
|
||||
if (string.IsNullOrEmpty(HttpContext.Session.GetString("authenticatedUser")) || !new Database.DbConn().Users.First(p => p.Username == HttpContext.Session.GetString("authenticatedUser")).IsAdmin) {
|
||||
Response.Redirect("/");
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -3,8 +3,8 @@ using System.Linq;
|
|||
using LinqToDB;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using RTMPDash.DataModels;
|
||||
using RTMPDash.DataModels.Tables;
|
||||
using RTMPDash.Backend.Database;
|
||||
using RTMPDash.Backend.Database.Tables;
|
||||
|
||||
namespace RTMPDash.Pages;
|
||||
|
||||
|
@ -13,13 +13,13 @@ public class AdminModel : PageModel {
|
|||
|
||||
public void OnPost() {
|
||||
if (string.IsNullOrEmpty(HttpContext.Session.GetString("authenticatedUser"))
|
||||
|| !new AppDb.DbConn().Users.First(p => p.Username == HttpContext.Session.GetString("authenticatedUser")).IsAdmin)
|
||||
|| !new Database.DbConn().Users.First(p => p.Username == HttpContext.Session.GetString("authenticatedUser")).IsAdmin)
|
||||
return;
|
||||
|
||||
if (!Request.HasFormContentType || string.IsNullOrWhiteSpace(Request.Form["action"]))
|
||||
return;
|
||||
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.DbConn();
|
||||
|
||||
if (Request.Form["action"] == "invite_generate")
|
||||
db.Insert(new Invite { Code = Guid.NewGuid().ToString() });
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
@page
|
||||
@using RTMPDash.Backend
|
||||
@model ContentModel
|
||||
@{
|
||||
ViewData["Title"] = "Content Policy";
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
@page
|
||||
@using RTMPDash.Backend
|
||||
@model CreditsModel
|
||||
@{
|
||||
ViewData["Title"] = "Credits";
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
@inject IAntiforgery _antiforgery
|
||||
@using Microsoft.AspNetCore.Antiforgery
|
||||
@using Microsoft.AspNetCore.Http
|
||||
@using RTMPDash.DataModels
|
||||
@using RTMPDash.Backend
|
||||
@using RTMPDash.Backend.Database
|
||||
@model DashboardModel
|
||||
@{
|
||||
ViewData["Title"] = "Dashboard";
|
||||
|
@ -16,7 +17,7 @@
|
|||
</div>
|
||||
}
|
||||
else {
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.DbConn();
|
||||
var user = db.Users.First(p => p.Username == HttpContext.Session.GetString("authenticatedUser"));
|
||||
var stats = StreamUtils.GetStatsObject();
|
||||
<div class="alert alert-success" role="alert">
|
||||
|
|
|
@ -3,7 +3,7 @@ using System.Linq;
|
|||
using LinqToDB;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using RTMPDash.DataModels;
|
||||
using RTMPDash.Backend.Database;
|
||||
|
||||
namespace RTMPDash.Pages;
|
||||
|
||||
|
@ -14,7 +14,7 @@ public class DashboardModel : PageModel {
|
|||
if (!Request.HasFormContentType || string.IsNullOrWhiteSpace(Request.Form["action"]) || string.IsNullOrWhiteSpace(HttpContext.Session.GetString("authenticatedUser")))
|
||||
return;
|
||||
|
||||
using var db = new AppDb.DbConn();
|
||||
using var db = new Database.DbConn();
|
||||
var user = db.Users.FirstOrDefault(p => p.Username == HttpContext.Session.GetString("authenticatedUser"));
|
||||
|
||||
if (Request.Form["action"] == "password_change") {
|
||||
|
@ -69,14 +69,12 @@ public class DashboardModel : PageModel {
|
|||
}
|
||||
|
||||
if (Request.Form["action"] == "pronoun_plural") {
|
||||
var target = string.IsNullOrWhiteSpace(Request.Form["value"]) ? "their" : Request.Form["value"].ToString();
|
||||
user!.PronounPlural = true;
|
||||
db.Update(user);
|
||||
Response.Redirect("/Dashboard");
|
||||
}
|
||||
|
||||
if (Request.Form["action"] == "pronoun_singular") {
|
||||
var target = string.IsNullOrWhiteSpace(Request.Form["value"]) ? "their" : Request.Form["value"].ToString();
|
||||
user!.PronounPlural = false;
|
||||
db.Update(user);
|
||||
Response.Redirect("/Dashboard");
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
@page
|
||||
@using RTMPDash.DataModels
|
||||
@using RTMPDash.Backend.Database
|
||||
@using RTMPDash.Backend
|
||||
@model IndexModel
|
||||
@{
|
||||
ViewData["Title"] = "Home";
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.DbConn();
|
||||
var allStreams = StreamUtils.ListLiveUsers();
|
||||
var allUsers = db.Users.Where(p => !p.IsPrivate).Select(p => p.Username);
|
||||
var liveUsers = allStreams.Intersect(allUsers);
|
||||
|
|
|
@ -6,7 +6,7 @@ using System.Text;
|
|||
using System.Web;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using RTMPDash.DataModels;
|
||||
using RTMPDash.Backend.Database;
|
||||
|
||||
namespace RTMPDash.Pages;
|
||||
|
||||
|
@ -15,7 +15,7 @@ public class LoginModel : PageModel {
|
|||
if (!Request.HasFormContentType || string.IsNullOrWhiteSpace(Request.Form["user"]) || string.IsNullOrWhiteSpace(Request.Form["pass"]))
|
||||
return;
|
||||
|
||||
using var db = new AppDb.DbConn();
|
||||
using var db = new Database.DbConn();
|
||||
var user = db.Users.FirstOrDefault(p => p.Username == Request.Form["user"].ToString());
|
||||
|
||||
if (user == null)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
@page
|
||||
@using RTMPDash.Backend
|
||||
@model PrivacyModel
|
||||
@{
|
||||
ViewData["Title"] = "Privacy Policy";
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
@page "/{user}"
|
||||
@using RTMPDash.DataModels
|
||||
@using RTMPDash.Backend.Database
|
||||
@using RTMPDash.Backend
|
||||
@model ProfileModel
|
||||
@{
|
||||
ViewData["Title"] = Model.User;
|
||||
var db = new AppDb.DbConn();
|
||||
var db = new Database.DbConn();
|
||||
if (!db.Users.Any(p => p.Username == Model.User)) {
|
||||
Response.Redirect("/");
|
||||
return;
|
||||
|
|
|
@ -3,8 +3,8 @@ using System.Linq;
|
|||
using LinqToDB;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using RTMPDash.DataModels;
|
||||
using RTMPDash.DataModels.Tables;
|
||||
using RTMPDash.Backend.Database;
|
||||
using RTMPDash.Backend.Database.Tables;
|
||||
|
||||
namespace RTMPDash.Pages;
|
||||
|
||||
|
@ -16,7 +16,7 @@ public class RegisterModel : PageModel {
|
|||
|| string.IsNullOrWhiteSpace(Request.Form["code"]))
|
||||
return;
|
||||
|
||||
using var db = new AppDb.DbConn();
|
||||
using var db = new Database.DbConn();
|
||||
if (!db.Invites.Any(p => p.Code == Request.Form["code"]))
|
||||
return;
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
@using Microsoft.AspNetCore.Http
|
||||
@using RTMPDash.DataModels
|
||||
@using RTMPDash.Backend
|
||||
@using RTMPDash.Backend.Database
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
|
@ -33,7 +34,7 @@
|
|||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-page="/Stats">Stats</a>
|
||||
</li>
|
||||
@if (!string.IsNullOrEmpty(Context.Session.GetString("authenticatedUser")) && new AppDb.DbConn().Users.First(p => p.Username == Context.Session.GetString("authenticatedUser")).IsAdmin) {
|
||||
@if (!string.IsNullOrEmpty(Context.Session.GetString("authenticatedUser")) && new Database.DbConn().Users.First(p => p.Username == Context.Session.GetString("authenticatedUser")).IsAdmin) {
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-dark" asp-area="" asp-page="/Admin">Admin</a>
|
||||
</li>
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
@page
|
||||
@using RTMPDash.Backend
|
||||
@model StatsModel
|
||||
@{
|
||||
ViewData["Title"] = "Stats";
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
@using Microsoft.AspNetCore.Identity
|
||||
@using RTMPDash
|
||||
@namespace RTMPDash.Pages
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
|
@ -6,68 +6,72 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="linq2db" Version="3.2.3"/>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.2"/>
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="5.0.1"/>
|
||||
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.113.7"/>
|
||||
<PackageReference Include="linq2db" Version="3.2.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="5.0.1" />
|
||||
<PackageReference Include="System.Data.SQLite.Core" Version="1.0.113.7" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_ContentIncludedByDefault Remove="Areas\Identity\Pages\_ViewStart.cshtml"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\dark-mode.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\site.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\favicon.ico"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\js\dark-mode-switch.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\js\site.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.css.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.min.css"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.min.css.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.js.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.min.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.min.js.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\LICENSE"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.min.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation-unobtrusive\LICENSE.txt"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\additional-methods.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\additional-methods.min.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\jquery.validate.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\jquery.validate.min.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\LICENSE.md"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\dist\jquery.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\dist\jquery.min.js"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\dist\jquery.min.map"/>
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\LICENSE.txt"/>
|
||||
<_ContentIncludedByDefault Remove="Areas\Identity\Pages\_ViewStart.cshtml" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\dark-mode.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\css\site.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\favicon.ico" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\js\dark-mode-switch.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\js\site.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.min.css" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\css\bootstrap.min.css.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\dist\js\bootstrap.min.js.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\bootstrap\LICENSE" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation-unobtrusive\LICENSE.txt" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\additional-methods.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\additional-methods.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\jquery.validate.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\dist\jquery.validate.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery-validation\LICENSE.md" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\dist\jquery.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\dist\jquery.min.js" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\dist\jquery.min.map" />
|
||||
<_ContentIncludedByDefault Remove="wwwroot\lib\jquery\LICENSE.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="wwwroot\**"/>
|
||||
<Compile Remove="wwwroot\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Remove="wwwroot\**"/>
|
||||
<EmbeddedResource Remove="wwwroot\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="wwwroot\**"/>
|
||||
<None Remove="wwwroot\**" />
|
||||
<None Remove=".gitignore" />
|
||||
<None Remove="app.db" />
|
||||
<None Remove="app.db.bak" />
|
||||
<None Remove="example.db" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Remove="wwwroot\**"/>
|
||||
<Content Remove="wwwroot\**" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
Loading…
Reference in New Issue