using e_suite.API.Common.models;
using e_suite.Database.Audit;
using eSuite.Core.Miscellaneous;

namespace e_suite.API.Common;

public interface IGlossariesManager
{
    Task AddGlossaryItem(AuditUserDetails auditUserDetails, NewGlossaryItem glossaryItem, CancellationToken cancellationToken);
    Task AddGlossaryItems(AuditUserDetails auditUserDetails, IEnumerable<NewGlossaryItem> glossaryItems, CancellationToken cancellationToken);
    Task DeleteGlossaryItem(AuditUserDetails auditUserDetails, GeneralIdRef generalIdRef, CancellationToken cancellationToken);
    Task<GlossaryItem?> GetGlossaryItem(AuditUserDetails auditUserDetails, GeneralIdRef generalIdRef, CancellationToken cancellationToken);
    Task UpdateGlossaryItem(AuditUserDetails auditUserDetails, EditGlossaryItem editGlossaryItem, CancellationToken cancellationToken);
}