using GB5Shared.DTO.Framework.Login; namespace GB5Shared.Addon { public class AddonResult { public int Id { get; set; } public string? FeAddon { get; set; } } public interface IAddonService { /// /// Returns the addon row for a single FK value as a JSON string (FeAddon). /// Returns null if no addon row exists for the given key. /// Task GetAddonJsonAsync( string addonTable, string fkColumn, int fkValue, LoginDTO loginDTO, CancellationToken ct = default); /// /// Returns addon JSON for multiple FK values in one query. /// Only entries that have addon rows are returned — missing entries mean no addon. /// Task> GetAddonJsonBatchAsync( string addonTable, string fkColumn, IEnumerable fkValues, LoginDTO loginDTO, CancellationToken ct = default); } }