using MongoDB.Driver;

namespace StellaOps.Authority.Storage.Mongo.Migrations;

/// <summary>
/// Represents a Mongo migration run during Authority bootstrap.
/// </summary>
public interface IAuthorityMongoMigration
{
    /// <summary>
    /// Executes the migration.
    /// </summary>
    /// <param name="database">Mongo database instance.</param>
    /// <param name="cancellationToken">Cancellation token.</param>
    ValueTask ExecuteAsync(IMongoDatabase database, CancellationToken cancellationToken);
}
