39 lines
1.5 KiB
C#
39 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using AyaNova.Biz;
|
|
namespace AyaNova.DataList
|
|
{
|
|
internal interface IAyaDataList
|
|
{
|
|
//Unique key to identify this list
|
|
string ListKey { get; set; }
|
|
|
|
//sql query from fragment with table joins et
|
|
string SQLFrom { get; set; }
|
|
|
|
//List of fields for this object
|
|
List<AyaDataListFieldDefinition> FieldDefinitions { get; set; }
|
|
|
|
//allowed roles to access the full list templated fields
|
|
AuthorizationRoles FullListAllowedRoles { get; set; }
|
|
|
|
//allowed roles to access mini list templated fields
|
|
//generally this will be *any* because most forms will need to allow this for picklists such as usernames etc
|
|
// but this is a safety valve for sensitive lists like financial reports where there is just no need for untrusted roles to see it
|
|
AuthorizationRoles MiniListAllowedRoles { get; set; }
|
|
|
|
|
|
//Default object type to open for rows of this list (use no object if no)
|
|
AyaType DefaultListObjectType { get; set; }
|
|
|
|
//Default list display template if none found in db or is invalid, this ensures the data will flow even if people fuck up the templates somehow
|
|
string DefaultDataListDisplayTemplate { get; set; }
|
|
|
|
Newtonsoft.Json.Linq.JArray GenerateMINIListColumnsJSON();
|
|
Newtonsoft.Json.Linq.JArray GenerateListColumnsJSONFromTemplate(string template);
|
|
|
|
bool ValidateTemplate(string template);
|
|
|
|
|
|
}
|
|
|
|
} |