瀏覽代碼

Added some handy interfaces to security tokens and configurations

Kenric Nugteren 1 月之前
父節點
當前提交
f2fd60a73d

+ 1 - 1
InABox.Core/Configuration/GlobalConfiguration.cs

@@ -11,7 +11,7 @@ namespace InABox.Configuration
 
     [UserTracking(false)]
     [Unrecoverable]
-    public class GlobalSettings : Entity, IPersistent, IRemotable, ILicense<CoreLicense>
+    public class GlobalSettings : Entity, IPersistent, IRemotable, ILicense<CoreLicense>, IDatabaseStoredSettings
     {
         public string Section { get; set; } = "";
 

+ 8 - 0
InABox.Core/Configuration/IConfiguration.cs

@@ -49,6 +49,14 @@ namespace InABox.Configuration
     public interface IConfigurationSettings
     {
     }
+    public interface IDatabaseStoredSettings
+    {
+        string Section { get; set; }
+
+        string Key { get; set; }
+
+        string Contents { get; set; }
+    }
     
     public delegate T LoadSettings<T>(object sender) where T : IConfigurationSettings;
     

+ 1 - 1
InABox.Core/Configuration/UserConfiguration.cs

@@ -34,7 +34,7 @@ namespace InABox.Configuration
 
     [UserTracking(false)]
     [Unrecoverable]
-    public class UserSettings : Entity, IPersistent, IRemotable, ILicense<CoreLicense>
+    public class UserSettings : Entity, IPersistent, IRemotable, ILicense<CoreLicense>, IDatabaseStoredSettings
     {
         public string Section { get; set; }
 

+ 1 - 1
InABox.Core/Security/GlobalSecurityToken.cs

@@ -5,7 +5,7 @@ namespace InABox.Core
     [UserTracking(typeof(User))]
     [Caption("Security Defaults")]
     [Unrecoverable]
-    public class GlobalSecurityToken : Entity, IPersistent, IRemotable, ILicense<CoreLicense>
+    public class GlobalSecurityToken : Entity, IPersistent, IRemotable, ILicense<CoreLicense>, ISecurityToken
     {
         [ComboLookupEditor(typeof(SecurityRestrictionGenerator))]
         public string Descriptor { get; set; }

+ 13 - 0
InABox.Core/Security/ISecurityToken.cs

@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace InABox.Core
+{
+    public interface ISecurityToken
+    {
+        string Descriptor { get; set; }
+
+        bool Enabled { get; set; }
+    }
+}

+ 2 - 2
InABox.Core/Security/Security.cs

@@ -45,7 +45,7 @@ namespace InABox.Core
 
                     var auto = Task.Run(() =>
                     {
-                        var entities = CoreUtils.Entities.Where( x => !x.IsGenericType && x.IsSubclassOf(typeof(Entity))).ToArray();
+                        var entities = CoreUtils.Entities.Where(x => !x.IsGenericType && x.IsSubclassOf(typeof(Entity)) && !x.HasAttribute<ObsoleteAttribute>()).ToArray();
                         var view = Task.Run(() =>
                         {
                             return entities
@@ -255,7 +255,7 @@ namespace InABox.Core
                 _ => null,
             };
         }
-        private static ISecurityDescriptor SecurityDescriptorOverride(IAutoSecurityDescriptor auto)
+        public static ISecurityDescriptor SecurityDescriptorOverride(IAutoSecurityDescriptor auto)
         {
             while (true)
             {

+ 1 - 1
InABox.Core/Security/SecurityToken.cs

@@ -5,7 +5,7 @@ namespace InABox.Core
     [UserTracking(typeof(User))]
     [Caption("Security Defaults")]
     [Unrecoverable]
-    public class SecurityToken : Entity, IPersistent, IRemotable, ILicense<CoreLicense>
+    public class SecurityToken : Entity, IPersistent, IRemotable, ILicense<CoreLicense>, ISecurityToken
     {
         [NullEditor]
         [EntityRelationship(DeleteAction.Cascade)]

+ 1 - 1
InABox.Core/Security/UserSecurityToken.cs

@@ -5,7 +5,7 @@ namespace InABox.Core
     [UserTracking(typeof(User))]
     [Caption("Security Overrides")]
     [Unrecoverable]
-    public class UserSecurityToken : Entity, IPersistent, IRemotable, ILicense<CoreLicense>
+    public class UserSecurityToken : Entity, IPersistent, IRemotable, ILicense<CoreLicense>, ISecurityToken
     {
         [NullEditor]
         [EntityRelationship(DeleteAction.Cascade)]