85 lines
No EOL
2.9 KiB
C#
85 lines
No EOL
2.9 KiB
C#
using Humanizer.Bytes;
|
|
using LANCommander.SDK.Enums;
|
|
|
|
namespace LANCommander.Server.Settings.Models;
|
|
|
|
public class MediaSettings
|
|
{
|
|
public string SteamGridDbApiKey { get; set; } = String.Empty;
|
|
|
|
public IEnumerable<MediaTypeSettings> MediaTypes { get; set; } =
|
|
[
|
|
new()
|
|
{
|
|
Type = MediaType.Icon,
|
|
MaxFileSize = 2 * ByteSize.BytesInMegabyte,
|
|
Thumbnails = new MediaTypeThumbnailSettings
|
|
{
|
|
MinSize = new ThumbnailSize(32, 32),
|
|
MaxSize = new ThumbnailSize(128, 128),
|
|
}
|
|
},
|
|
new()
|
|
{
|
|
Type = MediaType.Cover,
|
|
MaxFileSize = 6 * ByteSize.BytesInMegabyte,
|
|
Thumbnails = new MediaTypeThumbnailSettings
|
|
{
|
|
MinSize = new ThumbnailSize(240, 360),
|
|
MaxSize = new ThumbnailSize(600, 900),
|
|
}
|
|
},
|
|
new()
|
|
{
|
|
Type = MediaType.Background,
|
|
MaxFileSize = 8 * ByteSize.BytesInMegabyte,
|
|
Thumbnails = new MediaTypeThumbnailSettings
|
|
{
|
|
MinSize = new ThumbnailSize(690, 310),
|
|
MaxSize = new ThumbnailSize(3840, 1240),
|
|
}
|
|
},
|
|
new()
|
|
{
|
|
Type = MediaType.Avatar,
|
|
MaxFileSize = 2 * ByteSize.BytesInMegabyte,
|
|
Thumbnails = new MediaTypeThumbnailSettings
|
|
{
|
|
MinSize = new ThumbnailSize(64, 64),
|
|
MaxSize = new ThumbnailSize(256, 256),
|
|
}
|
|
},
|
|
new()
|
|
{
|
|
Type = MediaType.Logo,
|
|
MaxFileSize = 4 * ByteSize.BytesInMegabyte,
|
|
Thumbnails = new MediaTypeThumbnailSettings
|
|
{
|
|
MinSize = new ThumbnailSize(400, 400),
|
|
MaxSize = new ThumbnailSize(1000, 1000),
|
|
}
|
|
},
|
|
new()
|
|
{
|
|
Type = MediaType.Manual,
|
|
MaxFileSize = 4 * ByteSize.BytesInMegabyte,
|
|
Thumbnails = new MediaTypeThumbnailSettings
|
|
{
|
|
MinSize = new ThumbnailSize(240, 360),
|
|
MaxSize = new ThumbnailSize(600, 900),
|
|
}
|
|
},
|
|
new()
|
|
{
|
|
Type = MediaType.PageImage,
|
|
MaxFileSize = 4 * ByteSize.BytesInMegabyte,
|
|
Thumbnails = new MediaTypeThumbnailSettings
|
|
{
|
|
MinSize = new ThumbnailSize(480, 480),
|
|
MaxSize = new ThumbnailSize(1920, 1920),
|
|
}
|
|
},
|
|
];
|
|
|
|
public MediaTypeSettings? GetMediaTypeConfig(MediaType type) => MediaTypes.FirstOrDefault(x => x.Type == type);
|
|
} |