2021-01-24 04:04:16 +01:00
|
|
|
|
using System;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using LinqToDB;
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
|
|
|
using RTMPDash.DataModels;
|
|
|
|
|
|
|
|
|
|
namespace RTMPDash.Pages {
|
|
|
|
|
public class DashboardModel : PageModel {
|
|
|
|
|
public void OnGet() { }
|
|
|
|
|
|
|
|
|
|
public void OnPost() {
|
|
|
|
|
if (!Request.HasFormContentType
|
|
|
|
|
|| string.IsNullOrWhiteSpace(Request.Form["action"])
|
|
|
|
|
|| string.IsNullOrWhiteSpace(HttpContext.Session.GetString("authenticatedUser")))
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
using var db = new AppDb.DbConn();
|
|
|
|
|
var user = db.Users.FirstOrDefault(p => p.Username == HttpContext.Session.GetString("authenticatedUser"));
|
|
|
|
|
|
|
|
|
|
if (Request.Form["action"] == "password_change") {
|
|
|
|
|
var newPass = Request.Form["pass"];
|
|
|
|
|
user!.Password = newPass.ToString().Sha256();
|
|
|
|
|
db.Update(user);
|
|
|
|
|
Response.Redirect("/Logout");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Request.Form["action"] == "chaturl_set") {
|
|
|
|
|
user!.ChatUrl = Request.Form["value"];
|
|
|
|
|
db.Update(user);
|
|
|
|
|
Response.Redirect("/Dashboard");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Request.Form["action"] == "announceurl_set") {
|
|
|
|
|
user!.AnnouncementUrl = Request.Form["value"];
|
|
|
|
|
db.Update(user);
|
|
|
|
|
Response.Redirect("/Dashboard");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (user!.AllowRestream) {
|
|
|
|
|
if (Request.Form["action"] == "restream_urls_set") {
|
|
|
|
|
user!.RestreamUrls = Request.Form["value"];
|
|
|
|
|
db.Update(user);
|
|
|
|
|
Response.Redirect("/Dashboard");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Request.Form["action"] == "restream_targets_set") {
|
|
|
|
|
var newtgts = Request.Form["value"].ToString();
|
|
|
|
|
if (newtgts.Contains("localhost")
|
|
|
|
|
|| newtgts.Contains("127.0.0.1")
|
|
|
|
|
|| newtgts.Contains(user.StreamKey))
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
user!.RestreamTargets = newtgts;
|
|
|
|
|
db.Update(user);
|
|
|
|
|
Response.Redirect("/Dashboard");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Request.Form["action"] == "pronoun_subj_set") {
|
|
|
|
|
var target = string.IsNullOrWhiteSpace(Request.Form["value"])
|
|
|
|
|
? "they"
|
|
|
|
|
: Request.Form["value"].ToString();
|
|
|
|
|
user!.PronounSubject = target.ToLowerInvariant();
|
|
|
|
|
db.Update(user);
|
|
|
|
|
Response.Redirect("/Dashboard");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Request.Form["action"] == "pronoun_poss_set") {
|
|
|
|
|
var target = string.IsNullOrWhiteSpace(Request.Form["value"])
|
|
|
|
|
? "their"
|
|
|
|
|
: Request.Form["value"].ToString();
|
|
|
|
|
user!.PronounPossessive = target.ToLowerInvariant();
|
|
|
|
|
db.Update(user);
|
|
|
|
|
Response.Redirect("/Dashboard");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Request.Form["action"] == "streamkey_reset") {
|
2021-01-26 00:55:10 +01:00
|
|
|
|
user!.StreamKey = Guid.NewGuid().ToString();
|
2021-01-24 04:04:16 +01:00
|
|
|
|
db.Update(user);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|