static function getMap(): array
{
return [
new IntegerField('ID', [
'primary' => true,
'autocomplete' => true,
'title' => Loc::getMessage('QUEUE_ENTITY_ID_FIELD'),
]),
new IntegerField('SORT'),
new IntegerField('CONFIG_ID', [
'required' => true,
'title' => Loc::getMessage('QUEUE_ENTITY_CONFIG_ID_FIELD'),
]),
new IntegerField('USER_ID', [
'required' => true,
'title' => Loc::getMessage('QUEUE_ENTITY_CONFIG_ID_FIELD'),
]),
new IntegerField('DEPARTMENT_ID', [
'default_value' => 0,
]),
new DatetimeField('LAST_ACTIVITY_DATE', [
'title' => Loc::getMessage('QUEUE_ENTITY_LAST_ACTIVITY_DATE_FIELD'),
'default_value' => [__CLASS__, 'getCurrentDate'],
]),
new IntegerField('LAST_ACTIVITY_DATE_EXACT', [
'title' => Loc::getMessage('QUEUE_ENTITY_LAST_ACTIVITY_DATE_EXACT_FIELD'),
]),
new StringField('USER_NAME', [
'validation' => [__CLASS__, 'validateString'],
'title' => Loc::getMessage('QUEUE_ENTITY_USER_NAME_FIELD'),
]),
new StringField('USER_WORK_POSITION', [
'validation' => [__CLASS__, 'validateString'],
'title' => Loc::getMessage('QUEUE_ENTITY_USER_WORK_POSITION_FIELD'),
]),
new StringField('USER_AVATAR', [
'title' => Loc::getMessage('QUEUE_ENTITY_USER_AVATAR_FIELD'),
]),
new IntegerField('USER_AVATAR_ID', [
'title' => Loc::getMessage('QUEUE_ENTITY_USER_AVATAR_FILE_ID_FIELD'),
'default_value' => 0,
]),
new Reference(
'USER',
UserTable::class,
Join::on('this.USER_ID', 'ref.ID')
),
new Reference(
'CONFIG',
ConfigTable::class,
Join::on('this.CONFIG_ID', 'ref.ID')
)
];
}