using System.Text.Json; namespace Bit.SeederApi.Services; /// /// Service for executing query operations. /// /// /// The query service provides a mechanism to execute read-only query operations by name with optional JSON arguments. /// Queries retrieve existing data from the system without modifying state or tracking entities. /// public interface IQueryService { /// /// Executes a query with the given query name and arguments. /// Queries are read-only and do not track entities or create seed IDs. /// /// The name of the query (e.g., "EmergencyAccessInviteQuery") /// Optional JSON arguments to pass to the query's Execute method /// The result of the query execution /// Thrown when the query is not found /// Thrown when there's an error executing the query object ExecuteQuery(string queryName, JsonElement? arguments); }