using e_suite.Database.Audit;
using e_suite.Database.Core;
using e_suite.Database.Core.Tables.CustomFields;
using eSuite.Core.Miscellaneous;

namespace e_suite.API.Common.repository;

public interface ICustomFieldRepository : IRepository
{
    Task<CustomField?> GetByIdAsync(IGeneralIdRef id, CancellationToken cancellationToken);

    Task<CustomField?> GetByNameAsync(string name, CancellationToken cancellationToken);
    Task EditAsync(AuditUserDetails auditUserDetails, CustomField customField, CancellationToken cancellationToken);

    Task CreateAsync(AuditUserDetails auditUserDetails, CustomField customField, CancellationToken cancellationToken);

    IQueryable<CustomField> GetCustomFieldList();
}
