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;
|
|
|
|
using RTMPDash.DataModels.Tables;
|
|
|
|
|
|
|
|
namespace RTMPDash.Pages {
|
|
|
|
public class RegisterModel : PageModel {
|
|
|
|
public void OnPost() {
|
|
|
|
if (!Request.HasFormContentType
|
|
|
|
|| string.IsNullOrWhiteSpace(Request.Form["user"])
|
|
|
|
|| string.IsNullOrWhiteSpace(Request.Form["pass"])
|
|
|
|
|| string.IsNullOrWhiteSpace(Request.Form["code"]))
|
|
|
|
return;
|
|
|
|
|
|
|
|
using var db = new AppDb.DbConn();
|
|
|
|
if (!db.Invites.Any(p => p.Code == Request.Form["code"]))
|
|
|
|
return;
|
|
|
|
|
|
|
|
var user = db.Users.FirstOrDefault(p => p.Username == Request.Form["user"].ToString());
|
|
|
|
if (user != null) {
|
|
|
|
//user already exists
|
|
|
|
Response.Redirect("/Register?e=user_exists");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
user = new User {
|
|
|
|
Username = Request.Form["user"].ToString(),
|
|
|
|
Password = Request.Form["pass"].ToString().Sha256(),
|
2021-01-26 00:55:10 +01:00
|
|
|
StreamKey = Guid.NewGuid().ToString(),
|
2021-01-24 04:04:16 +01:00
|
|
|
PronounSubject = "they",
|
2021-01-25 19:43:05 +01:00
|
|
|
PronounPossessive = "their"
|
2021-01-24 04:04:16 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
db.Insert(user);
|
|
|
|
|
|
|
|
db.Delete(db.Invites.First(p => p.Code == Request.Form["code"]));
|
|
|
|
|
|
|
|
HttpContext.Session.SetString("authenticatedUser", user.Username);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|