• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/preset/integration.php
  • Класс: BitrixRestPresetIntegrationTable
  • Вызов: IntegrationTable::getMap
static function getMap()
{
	return array(
		'ID' => array(
			'data_type' => 'integer',
			'primary' => true,
			'autocomplete' => true,
			'title' => Loc::getMessage('INTEGRATION_ENTITY_ID_FIELD'),
		),
		'USER_ID' => array(
			'data_type' => 'integer',
			'validation' => array(__CLASS__, 'validateUser'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_USER_ID_FIELD'),
		),
		'ELEMENT_CODE' => array(
			'data_type' => 'string',
			'required' => true,
			'validation' => array(__CLASS__, 'validateElementCode'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_ELEMENT_CODE_FIELD'),
		),
		'TITLE' => array(
			'data_type' => 'string',
			'required' => true,
			'validation' => array(__CLASS__, 'validateTitle'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_TITLE_FIELD'),
		),
		'PASSWORD_ID' => array(
			'data_type' => 'integer',
			'validation' => array(__CLASS__, 'validatePassword'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_PASSWORD_ID_FIELD'),
		),
		'APP_ID' => array(
			'data_type' => 'integer',
			'validation' => array(__CLASS__, 'validateApp'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_APP_ID_FIELD'),
		),
		'SCOPE' => array(
			'data_type' => 'text',
			'save_data_modification' => function()
			{
				return array(
					function($value)
					{
						return is_array($value) ? implode(',', $value) : '';
					}
				);
			},
			'fetch_data_modification' => function()
			{
				return array(
					function($value)
					{
						return explode(',', $value);
					}
				);
			},
			'title' => Loc::getMessage('INTEGRATION_ENTITY_SCOPE_FIELD'),
		),
		'QUERY' => array(
			'data_type' => 'text',
			'serialized' => true,
			'title' => Loc::getMessage('INTEGRATION_ENTITY_QUERY_FIELD'),
		),
		'OUTGOING_EVENTS' => array(
			'data_type' => 'text',
			'save_data_modification' => function()
			{
				return array(
					function($value)
					{
						return is_array($value) ? implode(',', $value) : '';
					}
				);
			},
			'fetch_data_modification' => function()
			{
				return array(
					function($value)
					{
						return explode(',', $value);
					}
				);
			},
			'title' => Loc::getMessage('INTEGRATION_ENTITY_OUTGOING_EVENTS_FIELD'),
		),
		'OUTGOING_NEEDED' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateOutgoingQueryNeeded'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_OUTGOING_NEEDED_FIELD'),
		),
		'OUTGOING_HANDLER_URL' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateOutgoingHandlerUrl'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_OUTGOING_HANDLER_URL_FIELD'),
		),
		'WIDGET_NEEDED' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateWidgetNeeded'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_WIDGET_NEEDED_FIELD'),
		),
		'WIDGET_HANDLER_URL' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateWidgetHandlerUrl'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_WIDGET_HANDLER_URL_FIELD'),
		),
		'WIDGET_LIST' => array(
			'data_type' => 'text',
			'save_data_modification' => function()
			{
				return array(
					function($value)
					{
						return is_array($value) ? implode(',', $value) : '';
					}
				);
			},
			'fetch_data_modification' => function()
			{
				return array(
					function($value)
					{
						return explode(',', $value);
					}
				);
			},
			'title' => Loc::getMessage('INTEGRATION_ENTITY_WIDGET_LIST_FIELD'),
		),
		'APPLICATION_TOKEN' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateApplicationToken'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_APPLICATION_TOKEN_FIELD'),
		),
		'APPLICATION_NEEDED' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateApplicationNeeded'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_APPLICATION_NEEDED_FIELD'),
		),
		'APPLICATION_ONLY_API' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateApplicationOnlyApi'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_APPLICATION_ONLY_API_FIELD'),
		),
		'BOT_ID' => array(
			'data_type' => 'integer',
			'title' => Loc::getMessage('INTEGRATION_ENTITY_BOT_ID_FIELD'),
		),
		'BOT_HANDLER_URL' => array(
			'data_type' => 'string',
			'validation' => array(__CLASS__, 'validateBotHandlerUrl'),
			'title' => Loc::getMessage('INTEGRATION_ENTITY_BOT_HANDLER_URL_FIELD'),
		),
		'USER' => new ReferenceField(
			'USER',
			'BitrixMainUserTable',
			array('=this.USER_ID' => 'ref.ID')
		),
	);
}