*
ID int mandatory
* IBLOCK_ID int mandatory
* GROUP_CODE string(50) mandatory
* ENTITY_TYPE string(32) mandatory
* ENTITY_ID int mandatory
* DO_INHERIT string(1) mandatory
* TASK_ID int mandatory
* OP_SREAD string(1) mandatory
* OP_EREAD string(1) mandatory
* XML_ID string(32) optional
* IBLOCK_ID reference to {@link IblockTable}
* TASK_ID reference to {@link TaskOperationTable}
*
*
* @package Bitrix\Iblock
**/
class IblockRightTable extends DataManager
{
public static function getTableName(): string
{
return 'b_iblock_right';
}
public static function getMap(): array
{
return [
new IntegerField(
'ID',
[
'primary' => true,
'autocomplete' => true,
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_ID_FIELD'),
]
),
new IntegerField(
'IBLOCK_ID',
[
'required' => true,
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_IBLOCK_ID_FIELD'),
]
),
new StringField(
'GROUP_CODE',
[
'required' => true,
'validation' => function()
{
return [
new LengthValidator(null, 50),
];
},
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_GROUP_CODE_FIELD'),
]
),
new StringField(
'ENTITY_TYPE',
[
'required' => true,
'validation' => function()
{
return [
new LengthValidator(null, 32),
];
},
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_ENTITY_TYPE_FIELD'),
]
),
new IntegerField(
'ENTITY_ID',
[
'required' => true,
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_ENTITY_ID_FIELD'),
]
),
new BooleanField(
'DO_INHERIT',
[
'required' => true,
'data_type' => 'boolean',
'values' => ['N', 'Y'],
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_DO_INHERIT_FIELD'),
]
),
new IntegerField(
'TASK_ID',
[
'required' => true,
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_TASK_ID_FIELD'),
]
),
new BooleanField(
'OP_SREAD',
[
'data_type' => 'boolean',
'values' => ['N', 'Y'],
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_OP_SREAD_FIELD'),
]
),
new BooleanField(
'OP_EREAD',
[
'data_type' => 'boolean',
'values' => ['N', 'Y'],
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_OP_EREAD_FIELD'),
]
),
new StringField(
'XML_ID',
[
'validation' => function()
{
return [
new LengthValidator(null, 32),
];
},
'title' => Loc::getMessage('IBLOCK_RIGHTS_ENTITY_XML_ID_FIELD'),
]
),
new Reference(
'IBLOCK',
IblockTable::class,
['=this.IBLOCK_ID' => 'ref.ID'],
['join_type' => 'LEFT']
),
new Reference(
'TASK',
TaskOperationTable::class,
['=this.TASK_ID' => 'ref.ID'],
['join_type' => 'LEFT']
),
];
}
public static function add(array $data): AddResult
{
$result = new AddResult();
$result->addError(new EntityError(
Loc::getMessage('IBLOCK_RIGHTS_ENTITY_ADD_BLOCK')
));
return $result;
}
public static function update($primary, array $data): UpdateResult
{
$result = new UpdateResult();
$result->addError(new EntityError(
Loc::getMessage('IBLOCK_RIGHTS_ENTITY_UPDATE_BLOCK')
));
return $result;
}
public static function delete($primary): DeleteResult
{
$result = new DeleteResult();
$result->addError(new EntityError(
Loc::getMessage('IBLOCK_RIGHTS_ENTITY_DELETE_BLOCK')
));
return $result;
}
}