Files: logo colors moved to conf

This commit is contained in:
pavelbannov 2023-09-08 17:35:17 +03:00
parent 95f52fbeaf
commit bf0ef4cbd1
3 changed files with 32 additions and 6 deletions

View File

@ -401,6 +401,19 @@
}
]
},
"logocolors":[
{"r":255, "g":102, "b":128},
{"r":255, "g":143, "b":64},
{"r":242, "g":210, "b":48},
{"r":97, "g":192, "b":89},
{"r":112, "g":224, "b":150},
{"r":31, "g":206, "b":203},
{"r":92, "g":195, "b":247},
{"r":97, "g":145, "b":242},
{"r":119, "g":87, "b":217},
{"r":182, "g":121, "b":242},
{"r":255, "g":127, "b":212}
],
"radicale": {
"admin": "",
"path": ""

View File

@ -29,7 +29,6 @@ namespace ASC.Web.Files.Services.WCFService;
[Scope]
public class FileStorageService //: IFileStorageService
{
private static readonly FileEntrySerializer _serializer = new FileEntrySerializer();
private readonly CompressToArchive _compressToArchive;
private readonly OFormRequestManager _oFormRequestManager;
private readonly ThirdPartySelector _thirdPartySelector;
@ -46,7 +45,6 @@ public class FileStorageService //: IFileStorageService
private readonly FilesLinkUtility _filesLinkUtility;
private readonly BaseCommonLinkUtility _baseCommonLinkUtility;
private readonly CoreBaseSettings _coreBaseSettings;
private readonly CustomNamingPeople _customNamingPeople;
private readonly DisplayUserSettingsHelper _displayUserSettingsHelper;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly PathProvider _pathProvider;
@ -88,6 +86,7 @@ public class FileStorageService //: IFileStorageService
private readonly QuotaSocketManager _quotaSocketManager;
private readonly ExternalShare _externalShare;
private readonly TenantUtil _tenantUtil;
private readonly FileUtilityConfiguration _fileUtilityConfiguration;
public FileStorageService(
Global global,
@ -100,7 +99,6 @@ public class FileStorageService //: IFileStorageService
FilesLinkUtility filesLinkUtility,
BaseCommonLinkUtility baseCommonLinkUtility,
CoreBaseSettings coreBaseSettings,
CustomNamingPeople customNamingPeople,
DisplayUserSettingsHelper displayUserSettingsHelper,
IHttpContextAccessor httpContextAccessor,
ILoggerProvider optionMonitor,
@ -147,7 +145,8 @@ public class FileStorageService //: IFileStorageService
TenantQuotaFeatureStatHelper tenantQuotaFeatureStatHelper,
QuotaSocketManager quotaSocketManager,
ExternalShare externalShare,
TenantUtil tenantUtil)
TenantUtil tenantUtil,
FileUtilityConfiguration fileUtilityConfiguration)
{
_global = global;
_globalStore = globalStore;
@ -159,7 +158,6 @@ public class FileStorageService //: IFileStorageService
_filesLinkUtility = filesLinkUtility;
_baseCommonLinkUtility = baseCommonLinkUtility;
_coreBaseSettings = coreBaseSettings;
_customNamingPeople = customNamingPeople;
_displayUserSettingsHelper = displayUserSettingsHelper;
_httpContextAccessor = httpContextAccessor;
_pathProvider = pathProvider;
@ -207,6 +205,7 @@ public class FileStorageService //: IFileStorageService
_quotaSocketManager = quotaSocketManager;
_externalShare = externalShare;
_tenantUtil = tenantUtil;
_fileUtilityConfiguration = fileUtilityConfiguration;
}
public async Task<Folder<T>> GetFolderAsync<T>(T folderId)
@ -638,7 +637,8 @@ public class FileStorageService //: IFileStorageService
string GetRandomColour()
{
var rand = new Random();
var result = Color.FromRgb((byte)rand.Next(256), (byte)rand.Next(256), (byte)rand.Next(256)).ToHex();
var color = _fileUtilityConfiguration.LogoColors[rand.Next(_fileUtilityConfiguration.LogoColors.Count - 1)];
var result = Color.FromRgba(color.R, color.G, color.B, 1).ToHex();
return result.Substring(0, result.Length - 2);//without opacity
}
}

View File

@ -132,6 +132,12 @@ public class FileUtilityConfiguration
get => _masterFormExtension ??= _configuration["files:docservice:internal-form"] ?? ".docxf";
}
private List<LogoColor> _logoColors;
public List<LogoColor> LogoColors
{
get => _logoColors ??= _configuration.GetSection("logocolors").Get<List<LogoColor>>() ?? new List<LogoColor>();
}
public Dictionary<FileType, string> InternalExtension
{
get => new Dictionary<FileType, string>
@ -174,6 +180,13 @@ public class FileUtilityConfiguration
}
}
public class LogoColor
{
public byte R { get; set; }
public byte G { get; set; }
public byte B { get; set; }
}
public enum Accessability
{
ImageView,