From 58fda0ba9aa6490b80dadf1974990c495efcf46c Mon Sep 17 00:00:00 2001 From: XShine555 Date: Mon, 1 Jun 2026 16:45:37 +0200 Subject: [PATCH] Extract storage key building into a shared StorageKey helper --- .../Configuration/PlayListConfiguration.cs | 34 ++++++-------- .../Configuration/TrackConfiguration.cs | 46 ++++++++----------- Application/Shared/StorageKey.cs | 12 +++++ 3 files changed, 46 insertions(+), 46 deletions(-) create mode 100644 Application/Shared/StorageKey.cs diff --git a/Application/Configuration/PlayListConfiguration.cs b/Application/Configuration/PlayListConfiguration.cs index c2fc6cc..39e0d39 100644 --- a/Application/Configuration/PlayListConfiguration.cs +++ b/Application/Configuration/PlayListConfiguration.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Musify.Application.Shared; namespace Musify.Application.Configuration { @@ -45,39 +46,32 @@ namespace Musify.Application.Configuration [Required] public string PresetLargePicture { get; set; } = "PresetLargePicture.webp"; - public string SmallPicturesPath => CombineKey(ParentFolders, SmallPicturesFolder); + public string SmallPicturesPath => StorageKey.Combine(ParentFolders, SmallPicturesFolder); - public string MediumPicturesPath => CombineKey(ParentFolders, MediumPicturesFolder); + public string MediumPicturesPath => StorageKey.Combine(ParentFolders, MediumPicturesFolder); - public string LargePicturesPath => CombineKey(ParentFolders, LargePicturesFolder); + public string LargePicturesPath => StorageKey.Combine(ParentFolders, LargePicturesFolder); - public string PresetSmallPicturePath => CombineKey(ParentFolders, PresetSmallPicture); + public string PresetSmallPicturePath => StorageKey.Combine(ParentFolders, PresetSmallPicture); - public string PresetMediumPicturePath => CombineKey(ParentFolders, PresetMediumPicture); + public string PresetMediumPicturePath => StorageKey.Combine(ParentFolders, PresetMediumPicture); - public string PresetLargePicturePath => CombineKey(ParentFolders, PresetLargePicture); + public string PresetLargePicturePath => StorageKey.Combine(ParentFolders, PresetLargePicture); - public string OriginalPicturesPath => CombineKey(ParentFolders, OriginalPicturesFolder); + public string OriginalPicturesPath => StorageKey.Combine(ParentFolders, OriginalPicturesFolder); - public string BuildOriginalPicturePath(string pictureName) => CombineKey(ParentFolders, OriginalPicturesFolder, pictureName); + public string BuildOriginalPicturePath(string pictureName) => StorageKey.Combine(ParentFolders, OriginalPicturesFolder, pictureName); - public string BuildOriginalPicturePath(long userId, string pictureName) => CombineKey(UploadsFolder, userId.ToString(), ParentFolders, OriginalPicturesFolder, pictureName); + public string BuildOriginalPicturePath(long userId, string pictureName) => StorageKey.Combine(UploadsFolder, userId.ToString(), ParentFolders, OriginalPicturesFolder, pictureName); - public string BuildSmallPicturePath(string pictureName) => CombineKey(ParentFolders, SmallPicturesFolder, pictureName); + public string BuildSmallPicturePath(string pictureName) => StorageKey.Combine(ParentFolders, SmallPicturesFolder, pictureName); - public string BuildMediumPicturePath(string pictureName) => CombineKey(ParentFolders, MediumPicturesFolder, pictureName); + public string BuildMediumPicturePath(string pictureName) => StorageKey.Combine(ParentFolders, MediumPicturesFolder, pictureName); - public string BuildLargePicturePath(string pictureName) => CombineKey(ParentFolders, LargePicturesFolder, pictureName); + public string BuildLargePicturePath(string pictureName) => StorageKey.Combine(ParentFolders, LargePicturesFolder, pictureName); public string BuildTempPicturePath(string tempRootPrefix, long userId, string objectName) => - CombineKey(tempRootPrefix, userId.ToString(), ParentFolders, objectName); - - static string CombineKey(params string[] segments) - { - return string.Join('/', segments - .Where(static s => !string.IsNullOrWhiteSpace(s)) - .Select(static s => s.Trim().Trim('/', '\\'))); - } + StorageKey.Combine(tempRootPrefix, userId.ToString(), ParentFolders, objectName); } public class PlayListPicturesSizes diff --git a/Application/Configuration/TrackConfiguration.cs b/Application/Configuration/TrackConfiguration.cs index ec3189f..1304e29 100644 --- a/Application/Configuration/TrackConfiguration.cs +++ b/Application/Configuration/TrackConfiguration.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Musify.Application.Shared; namespace Musify.Application.Configuration { @@ -51,52 +52,45 @@ namespace Musify.Application.Configuration [Required] public string ProcessedAudioFolder { get; set; } = "ProcessedAudios"; - public string SmallPicturesPath => CombineKey(ParentFolder, SmallPicturesFolder); + public string SmallPicturesPath => StorageKey.Combine(ParentFolder, SmallPicturesFolder); - public string MediumPicturesPath => CombineKey(ParentFolder, MediumPicturesFolder); + public string MediumPicturesPath => StorageKey.Combine(ParentFolder, MediumPicturesFolder); - public string LargePicturesPath => CombineKey(ParentFolder, LargePicturesFolder); + public string LargePicturesPath => StorageKey.Combine(ParentFolder, LargePicturesFolder); - public string PresetSmallPicturePath => CombineKey(ParentFolder, PresetSmallPicture); + public string PresetSmallPicturePath => StorageKey.Combine(ParentFolder, PresetSmallPicture); - public string PresetMediumPicturePath => CombineKey(ParentFolder, PresetMediumPicture); + public string PresetMediumPicturePath => StorageKey.Combine(ParentFolder, PresetMediumPicture); - public string PresetLargePicturePath => CombineKey(ParentFolder, PresetLargePicture); + public string PresetLargePicturePath => StorageKey.Combine(ParentFolder, PresetLargePicture); - public string OriginalPicturesPath => CombineKey(ParentFolder, OriginalPicturesFolder); + public string OriginalPicturesPath => StorageKey.Combine(ParentFolder, OriginalPicturesFolder); - public string OriginalAudiosPath => CombineKey(ParentFolder, OriginalAudiosFolder); + public string OriginalAudiosPath => StorageKey.Combine(ParentFolder, OriginalAudiosFolder); - public string ProcessedAudiosPath => CombineKey(ParentFolder, ProcessedAudioFolder); + public string ProcessedAudiosPath => StorageKey.Combine(ParentFolder, ProcessedAudioFolder); - public string BuildOriginalPicturePath(string pictureName) => CombineKey(OriginalPicturesPath, pictureName); + public string BuildOriginalPicturePath(string pictureName) => StorageKey.Combine(OriginalPicturesPath, pictureName); - public string BuildOriginalPicturePath(long userId, string pictureName) => CombineKey(UploadsFolder, userId.ToString(), OriginalPicturesPath, pictureName); + public string BuildOriginalPicturePath(long userId, string pictureName) => StorageKey.Combine(UploadsFolder, userId.ToString(), OriginalPicturesPath, pictureName); - public string BuildSmallPicturePath(string pictureName) => CombineKey(SmallPicturesPath, pictureName); + public string BuildSmallPicturePath(string pictureName) => StorageKey.Combine(SmallPicturesPath, pictureName); - public string BuildMediumPicturePath(string pictureName) => CombineKey(MediumPicturesPath, pictureName); + public string BuildMediumPicturePath(string pictureName) => StorageKey.Combine(MediumPicturesPath, pictureName); - public string BuildLargePicturePath(string pictureName) => CombineKey(LargePicturesPath, pictureName); + public string BuildLargePicturePath(string pictureName) => StorageKey.Combine(LargePicturesPath, pictureName); - public string BuildOriginalAudioPath(string audioName) => CombineKey(OriginalAudiosPath, audioName); + public string BuildOriginalAudioPath(string audioName) => StorageKey.Combine(OriginalAudiosPath, audioName); - public string BuildOriginalAudioPath(long userId, string audioName) => CombineKey(UploadsFolder, userId.ToString(), OriginalAudiosPath, audioName); + public string BuildOriginalAudioPath(long userId, string audioName) => StorageKey.Combine(UploadsFolder, userId.ToString(), OriginalAudiosPath, audioName); - public string BuildProcessedAudioPath(string audioName) => CombineKey(ProcessedAudiosPath, audioName); + public string BuildProcessedAudioPath(string audioName) => StorageKey.Combine(ProcessedAudiosPath, audioName); public string BuildTempPicturePath(string tempRootPrefix, long userId, string objectName) => - CombineKey(tempRootPrefix, userId.ToString(), ParentFolder, objectName); + StorageKey.Combine(tempRootPrefix, userId.ToString(), ParentFolder, objectName); public string BuildTempAudioPath(string tempRootPrefix, long userId, string objectName) => - CombineKey(tempRootPrefix, userId.ToString(), ParentFolder, objectName); - - static string CombineKey(params string[] segments) - { - return string.Join('/', segments - .Where(static s => !string.IsNullOrWhiteSpace(s)) - .Select(static s => s.Trim().Trim('/', '\\'))); - } + StorageKey.Combine(tempRootPrefix, userId.ToString(), ParentFolder, objectName); } public class TrackPicturesSizes diff --git a/Application/Shared/StorageKey.cs b/Application/Shared/StorageKey.cs new file mode 100644 index 0000000..82ddca8 --- /dev/null +++ b/Application/Shared/StorageKey.cs @@ -0,0 +1,12 @@ +namespace Musify.Application.Shared +{ + public static class StorageKey + { + public static string Combine(params string[] segments) + { + return string.Join('/', segments + .Where(static s => !string.IsNullOrWhiteSpace(s)) + .Select(static s => s.Trim().Trim('/', '\\'))); + } + } +}