using System;
namespace StellaOps.Scheduler.Storage.Mongo.Options;
///
/// Configures MongoDB connectivity and collection names for Scheduler storage.
///
public sealed class SchedulerMongoOptions
{
public string ConnectionString { get; set; } = "mongodb://localhost:27017";
public string Database { get; set; } = "stellaops_scheduler";
public string SchedulesCollection { get; set; } = "schedules";
public string RunsCollection { get; set; } = "runs";
public string ImpactSnapshotsCollection { get; set; } = "impact_snapshots";
public string AuditCollection { get; set; } = "audit";
public string RunSummariesCollection { get; set; } = "run_summaries";
public string GraphJobsCollection { get; set; } = "graph_jobs";
public string LocksCollection { get; set; } = "locks";
public string MigrationsCollection { get; set; } = "_scheduler_migrations";
///
/// Optional TTL applied to completed runs. When zero or negative no TTL index is created.
///
public TimeSpan CompletedRunRetention { get; set; } = TimeSpan.FromDays(180);
public bool UseMajorityReadConcern { get; set; } = true;
public bool UseMajorityWriteConcern { get; set; } = true;
}