Enhance channel management: add support for preferred weight multipliers and preferred hours in channel shows, update related data models and API endpoints, and implement validation for new properties. Refactor scheduling logic to utilize preferred hours for weight adjustments during show planning.

This commit is contained in:
Leonid Pershin
2026-07-25 18:44:28 +03:00
parent 358adbff21
commit 8718e8b6bf
36 changed files with 2921 additions and 97 deletions
@@ -209,7 +209,9 @@ public static class ChannelEndpoints
body.Weight,
body.BlockMode,
body.BlockValue,
body.IsEnabled
body.IsEnabled,
body.PreferredWeightMultiplier,
body.PreferredHours ?? []
),
cancellationToken
);
@@ -401,7 +403,8 @@ public static class ChannelEndpoints
body.NextLabel,
body.Line1,
body.Line2,
body.Trigger
body.Trigger,
body.Weight
),
cancellationToken
);
@@ -604,7 +607,9 @@ public sealed record UpdateChannelShowBody(
int Weight,
BlockMode BlockMode,
int BlockValue,
bool IsEnabled
bool IsEnabled,
int PreferredWeightMultiplier,
IReadOnlyList<HourWindowInput> PreferredHours
);
public sealed record AddChannelAdBody(Guid MediaAssetId);
@@ -622,7 +627,8 @@ public sealed record UpdateBumperVariantBody(
string NextLabel,
string Line1,
string Line2,
BumperTrigger Trigger
BumperTrigger Trigger,
int Weight
);
public sealed record UpdateBumperTemplateBody(