@page
@inject IAntiforgery Antiforgery
@using Microsoft.AspNetCore.Antiforgery
@using Microsoft.AspNetCore.Http
@using RTMPDash.DataModels
@model AdminModel
@{
ViewData["Title"] = "Admin";
var db = new AppDb.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) {
Response.Redirect("/");
return;
}
var stats = StreamUtils.GetStatsObject();
}
Users
Username |
Stream status |
c Actions |
@foreach (var user in db.Users) {
@user.Username |
@if (StreamUtils.IsLive(user.Username)) {
var uptimestr = stats.Server.Applications.First(p => p.Name == "ingress").MethodLive.Streams.First(p => p.Name == user.Username).Time;
var uptime = TimeSpan.FromMilliseconds(long.Parse(uptimestr)).StripMilliseconds();
if (user.AllowRestream && !string.IsNullOrWhiteSpace(user.RestreamTargets)) {
var restreams = StreamUtils.CountLiveRestreams(user.Username);
if (restreams > 0) {
}
else {
}
}
else {
}
}
else {
}
|
@if (user.IsAdmin) {
if (user.Username != HttpContext.Session.GetString("authenticatedUser")) {
}
else {
}
}
else {
}
@if (user.AllowRestream) {
}
else {
}
@if (user.IsAdmin) {
}
else {
}
|
}
Invites
Code |
Actions |
@foreach (var invite in db.Invites) {
@invite.Code |
|
}