using CareFix.Api.Infrastructure;
using CareFix.Api.Options;
using CareFix.Api.Security;
using CareFix.Core;
using Dapper;
using Microsoft.Extensions.Caching.Memory;
using Microsoft.Extensions.Options;
namespace CareFix.Api.Hospitals;
/// The only component that talks to hospital databases.
public interface IHospitalExecutor
{
Task RunSelectAsync(int hospitalId, string sql, CancellationToken ct);
Task AnyRowsAsync(int hospitalId, string sql, string pkValue, CancellationToken ct);
Task GetValueAsync(int hospitalId, string table, string pkColumn, string pkValue, string column, CancellationToken ct);
Task?> GetRowAsync(int hospitalId, string table, string pkColumn, string pkValue, CancellationToken ct);
Task ApplyStepsAsync(int hospitalId, IReadOnlyList steps, string ticketRef, CancellationToken ct);
Task> ReadSchemaAsync(int hospitalId, CancellationToken ct);
Task