using Sarand.Net.Standard.Base.App; using System; using System.Collections.Generic; using System.Text; namespace Saxonite.Net.Standard.Base.App { //======================================================================= // S A X S y s t e m - C o n f i g //======================================================================= static partial class Sax { //------------------------------------------------------------------- // Application configuration defaults. public static class Config { public static String Context_Defaults { get; } = "Defaults"; public static class Security { public static class Password { } public static class Activation { public static int EmailLinkExpiresMins_Default { get; } = 60; public static int EmailLinkExpiresMins_Min { get; } = 30; public static int EmailLinkExpiresMins_Max { get; } = 60 * 24; } public static class SignIn { public static class PasswordRequest { public static int EmailLinkExpiresMins_Default { get; } = 60; public static int EmailLinkExpiresMins_Min { get; } = 30; public static int EmailLinkExpiresMins_Max { get; } = 60 * 24; } public static class KeepLoggedIn { public static bool Allowed_Default { get; } = true; public static int CookieExpiresDays_Default { get; } = 10; public static int CookieExpiresDays_Min { get; } = 1; public static int CookieExpiresDays_Max { get; } = 30; } } } public class Online { public static class Session { public static class Cookie { /// Default cookie name: '.AspNetCore.Session' public static String Name { get; } = "Saxonite.Online.Session"; public static bool HttpOnly { get; } = true; public static TimeSpan IdleTimeout { get; } = SacsSystem.DebugMode ? TimeSpan.FromMinutes(5) : TimeSpan.FromMinutes(60); public static long RememberMeTimeoutMilis { get; } = (long)(SacsSystem.DebugMode ? TimeSpan.FromMinutes(1) : TimeSpan.FromMinutes(15)).TotalMilliseconds; } public static class DataCommit { public static class IntervalSecs { public static int Initial { get; } = SacsSystem.DebugMode ? 10 : 10; public static int DataWaiting { get; } = SacsSystem.DebugMode ? 1 : 2; public static int NoDataWaiting { get; } = SacsSystem.DebugMode ? 5 : 10; } } } public static class DataCache { public static class RefreshIntervalSecs { public static int Initial { get; } = SacsSystem.DebugMode ? 2 : 5; public static int Periodic { get; } = SacsSystem.DebugMode ? 120 : 1800; } } public static class Profile { public static class User { public static class Image { public static ushort WidthMax { get; } = 320; public static ushort HeightMax { get; } = 400; } } } public static class Articles { public static class Segments { public static ushort Max { get; } = 12; public static ushort CharsMax { get; } = 8000; } public static class Images { public static ushort WidthMax { get; } = 800; public static ushort HeightMax { get; } = 640; } public static ushort PublishMaxDaysBefore { get; } = 7; public static ushort PublishMaxDaysAhead { get; } = 10; } public static class Search { public static class Users { public static ushort PageLengthDefault { get; } = 8; public static ushort PageLengthMax { get; } = 20; } public static class Organisations { public static ushort PageLengthDefault { get; } = 8; public static ushort PageLengthMax { get; } = 20; } } } public class Admin { public static class Session { public static class Cookie { /// Default cookie name: '.AspNetCore.Session' public static String Name { get; } = "Saxonite.Admin.Session"; public static bool HttpOnly { get; } = true; public static TimeSpan IdleTimeout { get; } = SacsSystem.DebugMode ? TimeSpan.FromMinutes(5) : TimeSpan.FromMinutes(15); public static long KeepLoggedInTimeoutMillis { get; } = (long)(SacsSystem.DebugMode ? TimeSpan.FromMinutes(1) : TimeSpan.FromMinutes(5)).TotalMilliseconds; } } } } //------------------------------------------------------------------- } }