using System.Collections.Generic;
using Sockeye.Biz;
namespace Sockeye.DataList
{
    internal interface IDataListProcessing
    {
        //sql query from fragment with table joins et
        string SQLFrom { get; set; }
        //List of fields for this object
        List<DataListFieldDefinition> FieldDefinitions { get; set; }
        //allowed roles to access this list
        AuthorizationRoles AllowedRoles { get; set; }
        //Default object type to open for rows of this list (use no object if no)
        SockType DefaultListAType { get; set; }
        //Defaults when none is specified (see DataListOptions for formats and notes)
        List<string> DefaultColumns { get; set; }
        Dictionary<string, string> DefaultSortBy { get; set; }
        void SetListOptionDefaultsIfNecessary(Models.DataListProcessingBase listOptions);
        Newtonsoft.Json.Linq.JArray GenerateReturnListColumns(List<string> columns);

        //long CurrentUserTranslationId { get; set; }
    }
}