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')
),
);
}