using IWS5.Core.Models.Request;
using IWS5.DatabaseAccess.IwsDataModels;

namespace IWS5.DatabaseAccess.Interfaces;

public interface IFieldDefinitionRepository : IIWSRepository<AtfieldDefinition>
{
    Task<List<AtfieldDefinition>> ListFieldDefinitionsAndInstancesByWorkItemReferenceIdAsync(int workItemReferenceId, string userName);
    Task<List<AtfieldDefinition>> ListFieldDefinitionsAndInstancesByWorkItemIdAndQueueIdAsync(int[] workItemIds, int queueId, string userName);
    Task<int> UpdateFieldListOfValues(List<UpdateFolderFieldValueRequest> dateFields,List<UpdateFolderFieldValueRequest> numberFields,List<UpdateFolderFieldValueRequest> stringFields,List<UpdateFolderFieldValueRequest> optionFields,int workItemId);
    Task<List<string>> ListFieldOptionsByInitialValueSqlAsync(string initialValueSql);
    Task<List<string>> ListFieldOptionsByFieldIdAsync(int fieldId);
}