feat: add explicit content filter for Deezer tracks (#22)

This commit is contained in:
V1ck3s
2026-01-06 21:55:40 +01:00
committed by Vickes
parent 06f33b8e89
commit 3fd98ea3de
7 changed files with 400 additions and 13 deletions

View File

@@ -88,6 +88,12 @@ public class Song
/// Local file path (if available)
/// </summary>
public string? LocalPath { get; set; }
/// <summary>
/// Deezer explicit content lyrics value
/// 0 = Naturally clean, 1 = Explicit, 2 = Not applicable, 3 = Clean/edited version, 6/7 = Unknown
/// </summary>
public int? ExplicitContentLyrics { get; set; }
}
/// <summary>

View File

@@ -1,6 +1,36 @@
namespace octo_fiesta.Models;
public class SubsonicSettings
{
public string? Url { get; set; }
namespace octo_fiesta.Models;
/// <summary>
/// Explicit content filter mode for Deezer tracks
/// </summary>
public enum ExplicitFilter
{
/// <summary>
/// Show all tracks (no filtering)
/// </summary>
All,
/// <summary>
/// Exclude clean/edited versions (explicit_content_lyrics == 3)
/// Shows original explicit content and naturally clean content
/// </summary>
ExplicitOnly,
/// <summary>
/// Only show clean content (explicit_content_lyrics == 0 or 3)
/// Excludes tracks with explicit_content_lyrics == 1
/// </summary>
CleanOnly
}
public class SubsonicSettings
{
public string? Url { get; set; }
/// <summary>
/// Explicit content filter mode (default: All)
/// Environment variable: EXPLICIT_FILTER
/// Values: "All", "ExplicitOnly", "CleanOnly"
/// </summary>
public ExplicitFilter ExplicitFilter { get; set; } = ExplicitFilter.All;
}