This commit is contained in:
Eugenio Chiodo
2022-02-14 01:51:37 +01:00
parent 6d7138479e
commit ba4a4b14c8
87 changed files with 22561 additions and 294 deletions

View File

@ -0,0 +1,6 @@
namespace decePubClient.Models;
public class ActionBarFilter
{
}

22
Models/AuthData.cs Normal file
View File

@ -0,0 +1,22 @@
namespace decePubClient.Models
{
public class AuthData
{
public string Token { get; set; }
public long? TokenExpiration { get; set; }
public string CurrentLanguageCode { get; set; } = "en";
public User User { get; set; }
//public bool UserHasPolicies(params string[] policies)
//{
// var hasAllPolicies = true;
// foreach (var policy in policies)
// if (!(User?.Policies?.Any(p => p == policy) ?? false))
// {
// hasAllPolicies = false;
// break;
// }
// return hasAllPolicies;
//}
}
}

39
Models/ClientLogs.cs Normal file
View File

@ -0,0 +1,39 @@
namespace decePubClient.Models
{
public class ClientLogs
{
public long Id { get; set; }
public string Where { get; set; }
public string WarningMessage { get; set; }
public ClientLogException Exception { get; set; }
public DateTime TimeStamp { get; set; } = DateTime.Now;
public string ErrorMessage()
{
if (Exception.InnerExceptionMessage != null)
{
return @$"<b>Type</b>: {Exception.Type ?? "N/A"} <b>HelpLink</b>: {Exception.HelpLink ?? "N/A"} <b>HResult</b>: {Exception.HResult ?? "N/A"}<br>
<b>Source</b>: {Exception.Source ?? "N/A"} <b>StackTrace</b>: {Exception.StackTrace ?? "N/A"} <b>MemberName</b>: {Exception.TargetSiteName ?? "N/A"}<br>
<b>Message</b>: {Exception.Message ?? "N/A"}<br>
<b>InnerExceptionMessage</b>:{Exception.InnerExceptionMessage ?? "N/A"}";
}
else
{
return @$"<b>Type</b>: {Exception.Type ?? "N/A"} <b>HelpLink</b>: {Exception.HelpLink ?? "N/A"} <b>HResult</b>: {Exception.HResult ?? "N/A"}<br>
<b>Source</b>: {Exception.Source ?? "N/A"} <b>StackTrace</b>: {Exception.StackTrace ?? "N/A"} <b>MemberName</b>: {Exception.TargetSiteName ?? "N/A"}<br>
<b>Message</b>: {Exception.Message ?? "N/A"}";
}
}
}
public class ClientLogException
{
public string Type { get; set; }
public string HelpLink { get; set; }
public string HResult { get; set; }
public string Source { get; set; }
public string StackTrace { get; set; }
public string TargetSiteName { get; set; }
public string Message { get; set; }
public string InnerExceptionMessage { get; set; }
}
}

View File

@ -0,0 +1,13 @@
using System.Security.Principal;
namespace decePubClient.Models
{
public interface CustomIPrincipal : IPrincipal
{
string UserId { get; set; }
string UserName { get; set; }
string DisplayName { get; set; }
string PictureUrl { get; set; }
string ProfileUrl { get; set; }
}
}

20
Models/CustomPrincipal.cs Normal file
View File

@ -0,0 +1,20 @@
using System.Security.Principal;
namespace decePubClient.Models
{
public class CustomPrincipal : CustomIPrincipal
{
public string UserId { get; set; }
public string UserName { get; set; }
public string DisplayName { get; set; }
public string PictureUrl { get; set; }
public string ProfileUrl { get; set; }
public bool IsAdmin { get; set; } = false;
public IIdentity Identity { get; }
public CustomPrincipal(string userName, string authType) =>
Identity = new GenericIdentity(userName, authType);
public bool IsInRole(string role) => false;
}
}

6
Models/MessageForm.cs Normal file
View File

@ -0,0 +1,6 @@
namespace decePubClient.Models;
public class MessageForm
{
}

16
Models/PublicCacheData.cs Normal file
View File

@ -0,0 +1,16 @@
using System.Collections.ObjectModel;
namespace decePubClient.Models
{
public class PublicCacheData
{
public IReadOnlyList<ViewLanguage> Languages { get; set; } = new List<ViewLanguage>();
public string LastPage { get; set; }
public IReadOnlyDictionary<string, string> Policies { get; set; } = new ReadOnlyDictionary<string, string>(new Dictionary<string, string>());
public string CurrentLanguageCode { get; set; } = "en-GB";
public bool NativeNotificationsEnabled { get; set; } = false;
public short ThemeIndexColour { get; set; } = 25;
public bool ThemeIsDarkMode { get; set; } = false;
}
}

View File

@ -0,0 +1,6 @@
namespace decePubClient.Models.Types;
public class ContentType
{
}

10
Models/Types/MediaType.cs Normal file
View File

@ -0,0 +1,10 @@
namespace decePubClient.Models.Types
{
public enum MediaType
{
Images,
Video,
Audio,
Documents
}
}

View File

@ -0,0 +1,3 @@
namespace decePubClient.Models.Types;
public enum TimeSortingType { }

View File

@ -0,0 +1,9 @@
namespace decePubClient.Models.Types
{
public enum TimelineType
{
Home,
Local,
Federation
}
}

6
Models/UploadMedia.cs Normal file
View File

@ -0,0 +1,6 @@
namespace decePubClient.Models;
public class UploadMedia
{
}

8
Models/ViewLanguage.cs Normal file
View File

@ -0,0 +1,8 @@
namespace decePubClient.Models
{
public class ViewLanguage
{
public string Name { get; set; }
public string International2Code { get; set; }
}
}