From 47f382df1941fae215ec147655faac71d9f8ed12 Mon Sep 17 00:00:00 2001 From: Adam R Grey Date: Thu, 30 Nov 2023 12:49:40 -0500 Subject: [PATCH] more permission definition --- Models/ChannelPermissions.cs | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Models/ChannelPermissions.cs diff --git a/Models/ChannelPermissions.cs b/Models/ChannelPermissions.cs new file mode 100644 index 0000000..9eba502 --- /dev/null +++ b/Models/ChannelPermissions.cs @@ -0,0 +1,40 @@ +namespace vassago.Models; + +using System; +using System.ComponentModel.DataAnnotations.Schema; + +public class ChannelPermissions +{ + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] + public int Id { get; set; } + public ulong? MaxAttachmentBytes { get; set; } + public uint? MaxTextChars { get; set; } + public bool? LinksAllowed { get; set; } + public bool? ReactionsPossible { get; set; } + public Enumerations.LewdnessFilterLevel? LewdnessFilterLevel { get; set; } + public Enumerations.MeannessFilterLevel? MeannessFilterLevel { get; set; } + public Enumerations.VerbosityFilterLevel? VerbosityFilterLevel { get; set; } + + internal DefinitePermissionSettings Definite() + { + return new DefinitePermissionSettings() + { + MaxAttachmentBytes = this.MaxAttachmentBytes ?? 0, + MaxTextChars = this.MaxTextChars ?? 0, + LinksAllowed = this.LinksAllowed ?? false, + LewdnessFilterLevel = this.LewdnessFilterLevel ?? Enumerations.LewdnessFilterLevel.G, + MeannessFilterLevel = this.MeannessFilterLevel ?? Enumerations.MeannessFilterLevel.Strict, + VerbosityFilterLevel = this.VerbosityFilterLevel ?? Enumerations.VerbosityFilterLevel.Pithy, + ReactionsPossible = this.ReactionsPossible ?? false + }; + } +} +public class DefinitePermissionSettings +{ + public ulong MaxAttachmentBytes { get; set; } + public uint MaxTextChars { get; set; } + public bool LinksAllowed { get; set; } + public bool ReactionsPossible { get; set; } + public Enumerations.LewdnessFilterLevel LewdnessFilterLevel { get; set; } + public Enumerations.MeannessFilterLevel MeannessFilterLevel { get; set; } +} \ No newline at end of file