static function getMap()
{
return array(
'ID' => new EntityIntegerField('ID', array(
'primary' => true,
'autocomplete' => true,
)),
'TIMESTAMP_X' => new EntityDatetimeField('TIMESTAMP_X', array(
'default_value' => new TypeDateTime
)),
'MODULE_ID' => new EntityStringField('MODULE_ID', array(
'validation' => array(__CLASS__, 'validateModuleId'),
)),
'HEIGHT' => new EntityIntegerField('HEIGHT'),
'WIDTH' => new EntityIntegerField('WIDTH'),
'FILE_SIZE' => new EntityIntegerField('FILE_SIZE'),
'CONTENT_TYPE' => new EntityStringField('CONTENT_TYPE', array(
'validation' => array(__CLASS__, 'validateContentType'),
)),
'SUBDIR' => new EntityStringField('SUBDIR', array(
'validation' => array(__CLASS__, 'validateSubdir'),
)),
'FILE_NAME' => new EntityStringField('FILE_NAME', array(
'validation' => array(__CLASS__, 'validateFileName'),
'required' => true,
)),
'ORIGINAL_NAME' => new EntityStringField('ORIGINAL_NAME', array(
'validation' => array(__CLASS__, 'validateOriginalName'),
)),
'DESCRIPTION' => new EntityStringField('DESCRIPTION', array(
'validation' => array(__CLASS__, 'validateDescription'),
)),
'HANDLER_ID' => new EntityStringField('HANDLER_ID', array(
'validation' => array(__CLASS__, 'validateHandlerId'),
)),
'EXTERNAL_ID' => new EntityStringField('EXTERNAL_ID', array(
'validation' => array(__CLASS__, 'validateExternalId'),
)),
(new FieldsRelationsReference(
'HASH',
InternalFileHashTable::class,
QueryJoin::on('this.ID', 'ref.FILE_ID')
))
->configureJoinType(QueryJoin::TYPE_LEFT),
);
}