Сущности / Модель данных
Сущность описывается в json файле
{
"code" : "session", ## id сущности
"name": { ## имя в разных локализациях
"_def" : "Сессия"
},
"baloon": { ## всплывающее сообщение
"_def": "Системная сессия"
},
"parent": "core/Entity", ## родительская сущность
"info" : null, ## информация о сущности (для разработчика)
"uniques": [ ## уникальные свойства
"ip4,ip4x,proxy"
],
"props": [ ## массив свойств
{
"code": "sysuser_id", ## код
"name": { ## имя
"_def" : "Пользователь"
},
"label": "©", ## метка (для интерфейсов)
"baloon": { ## всплывающее обозначение
"_def" : "Пользователь, инициировавший сессию"
},
"type": "association", ## тип свойства
"length" : null, ## длина свойства в символах
"nn": true, ## признак обязательности
"index": null, ## необходимость индексации
"default": 2, ## значение по умолчанию
"info": null, ## информация о свойстве (для разработчика)
"association": { ## ассоциативная связь свойств
"entity" : "core/co_Sysuser", ## сущность
"prop" : "id" ## связанное свойство
}
}
]
}
Тип свойства
- ::id:: – тип, присущий счётчикам
- ::hid:: – строка в 32 символа
- timestamp
- string
- integer
- real
- bool
- text
Значение свойства по умолчанию
- ::counter:: – следующее значение счётчика, связанного с этим свойствам сущности
- для PostgrSQL это nextval('<имя_счётчика>'), имя счётчика генерируется автоматически
- ::hid:: – уникальная md5 строка (32 символа)
- для PostgrSQL это md5(to_char(now(), 'DDDYYYYNNDDHH24MISSUS') || random())
- ::now:: – текущий штапм времени (обычно current_timestamp)
- <число>
- <строка>