namespace Core.Blueprint.Mongo
{
    /// 
    /// Represents the context for interacting with MongoDB, providing access to connection-related information,
    /// such as the connection string, database name, and audience for authentication.
    /// 
    public interface IMongoContext
    {
        /// 
        /// Gets the connection string used to connect to the MongoDB instance.
        /// 
        /// A string representing the MongoDB connection string.
        string GetConnectionString();
        /// 
        /// Gets the name of the MongoDB database.
        /// 
        /// A string representing the MongoDB database name.
        string GetDatabasename();
        /// 
        /// Gets the audience (resource identifier) used for MongoDB authentication.
        /// 
        /// A string representing the MongoDB audience (typically the resource identifier for authentication).
        string GetAudience();
        /// 
        /// Gets or sets the MongoDB connection string used to connect to the database.
        /// 
        /// A string representing the MongoDB connection string.
        string ConnectionString { get; set; }
        /// 
        /// Gets or sets the name of the MongoDB database.
        /// 
        /// A string representing the MongoDB database name.
        string Databasename { get; set; }
        /// 
        /// Gets or sets the audience (resource identifier) for MongoDB authentication.
        /// 
        /// A string representing the MongoDB audience (resource identifier for authentication).
        string Audience { get; set; }
    }
}