namespace Monitoring.Core.Domain.UserSettingsManagement;

public record PositioningStrategy(string Value)
{
    public static PositioningStrategy Create(string value)
    {
        if (string.IsNullOrWhiteSpace(value))
            throw new ArgumentException("Positioning strategy cannot be empty", nameof(value));

        var validStrategies = new[]
        {
            "center_of_all_objects",
            "active_alarm_object", 
            "asset_group_center",
            "manual_start_position",
            "current_view_center"
        };

        if (!validStrategies.Contains(value))
            throw new ArgumentException($"Invalid positioning strategy: {value}", nameof(value));

        return new PositioningStrategy(value);
    }
} 