using System;
using System.Collections.Generic;

namespace PhotoboothUploader.Models;

public sealed class PhotoboothSettings
{
    public string? BaseUrl { get; set; }
    public string? EventName { get; set; }
    public string? UploadUrl { get; set; }
    public string? Username { get; set; }
    public string? Password { get; set; }
    public string? ResponseFormat { get; set; }
    public string? WatchFolder { get; set; }
    public string? IncludePatterns { get; set; }
    public string? ExcludePatterns { get; set; }
    public List<string> PendingUploads { get; set; } = new();
    public Dictionary<string, string> UploadedFiles { get; set; } = new(StringComparer.OrdinalIgnoreCase);
    public List<PhotoboothProfile> Profiles { get; set; } = new();
    public string? ConnectExpiresAt { get; set; }
    public string? LastSeenFile { get; set; }
    public string? LastSeenAt { get; set; }
    public string? LastError { get; set; }
    public string? LastErrorAt { get; set; }
    public int MaxConcurrentUploads { get; set; } = 2;
    public int UploadDelayMs { get; set; } = 500;
    public double WindowWidth { get; set; }
    public double WindowHeight { get; set; }
}
