• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/internal/entity/restrictiontable.php
  • Класс: BitrixMessageServiceInternalEntityRestrictionTable
  • Вызов: RestrictionTable::getMap
static function getMap()
{
	return [
		'ID' => (new IntegerField('ID', []))
			->configurePrimary(true)
			->configureAutocomplete(true)
		,
		'CODE' => (new StringField('CODE', [
			'validation' => function()
				{
					return[
						new LengthValidator(null, 128),
					];
				},
			]))
			->configureRequired(true)
		,
		'COUNTER' => (new IntegerField('COUNTER', [])),
		'DATE_CREATE' => (new DateField('DATE_CREATE', []))
			->configureRequired(true)
		,
		'ADDITIONAL_PARAMS' => (new ArrayField('ADDITIONAL_PARAMS', []))
			->configureSerializeCallback(static function($value) {
				$preparedValue = [];
				foreach($value as $entity)
				{
					$preparedValue[] = "|$entity|";
				}
				$result = implode(' ', $preparedValue);

				return $result;
			})
			->configureUnserializeCallback(static function($value) {
				if ((string)$value === '')
				{
					return [];
				}

				$result = [];
				foreach(explode(' ', $value) as $entity)
				{
					$result[] = trim($entity, '|');
				}

				return $result;
			})
		,
	];
}