• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_restservice.php
  • Класс: CCalendarRestService
  • Вызов: CCalendarRestService::OnRestServiceBuildDescription
static function OnRestServiceBuildDescription()
{
	$methods = [
		//Methods list
		"calendar.event.get" => [__CLASS__, "EventGet"],
		"calendar.event.add" => [__CLASS__, "EventAdd"],
		"calendar.event.update" => [__CLASS__, "EventUpdate"],
		"calendar.event.delete" => [__CLASS__, "EventDelete"],
		"calendar.event.get.nearest" => [__CLASS__, "EventGetNearest"],
		"calendar.event.getbyid" => [__CLASS__, "EventGetById"],

		"calendar.section.get" => [__CLASS__, "SectionGet"],
		"calendar.section.add" => [__CLASS__, "SectionAdd"],
		"calendar.section.update" => [__CLASS__, "SectionUpdate"],
		"calendar.section.delete" => [__CLASS__, "SectionDelete"],

		"calendar.resource.list" => [__CLASS__, "ResourceList"],
		"calendar.resource.add" => [__CLASS__, "ResourceAdd"],
		"calendar.resource.update" => [__CLASS__, "ResourceUpdate"],
		"calendar.resource.delete" => [__CLASS__, "ResourceDelete"],

		"calendar.resource.booking.list" => [__CLASS__, "ResourceBookingList"],
//			"calendar.resource.booking.add" => [__CLASS__, "ResourceBookingAdd"],
//			"calendar.resource.booking.update" => [__CLASS__, "ResourceBookingUpdate"],
//			"calendar.resource.booking.delete" => [__CLASS__, "ResourceBookingDelete"],

		"calendar.meeting.status.set" => [__CLASS__, "MeetingStatusSet"],
		"calendar.meeting.params.set" => [__CLASS__, "MeetingParamsSet"],
		"calendar.meeting.status.get" => [__CLASS__, "MeetingStatusGet"],
		"calendar.accessibility.get" => [__CLASS__, "MeetingAccessibilityGet"],
		"calendar.settings.get" => [__CLASS__, "SettingsGet"],
		"calendar.user.settings.get" => [__CLASS__, "UserSettingsGet"],
		"calendar.user.settings.set" => [__CLASS__, "UserSettingsSet"],
		// End methods list

		//Placements list
		CRestUtil::PLACEMENTS => [
			self::PLACEMENT_GRID_VIEW => []
		],
		//End placements list

		// Events
		CRestUtil::EVENTS =>  [
			'OnCalendarEntryAdd' => [
				'calendar',
				 'OnAfterCalendarEntryAdd',
				[__CLASS__, 'PrepareOnCalendarEntryEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarEntryUpdate' => [
				'calendar',
				'OnAfterCalendarEntryUpdate',
				[__CLASS__, 'PrepareOnCalendarEntryEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarEntryDelete' => [
				'calendar',
				'OnAfterCalendarEventDelete',
				[__CLASS__, 'PrepareOnCalendarEntryEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarSectionAdd' => [
				'calendar',
				'OnAfterCalendarSectionAdd',
				[__CLASS__, 'PrepareOnCalendarSectionEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarSectionUpdate' => [
				'calendar',
				'OnAfterCalendarSectionUpdate',
				[__CLASS__, 'PrepareOnCalendarSectionEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarSectionDelete' => [
				'calendar',
				'OnAfterCalendarSectionDelete',
				[__CLASS__, 'PrepareOnCalendarSectionEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarRoomCreate' => [
				'calendar',
				'OnAfterCalendarRoomCreate',
				[__CLASS__, 'PrepareOnCalendarRoomEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarRoomUpdate' => [
				'calendar',
				'OnAfterCalendarRoomUpdate',
				[__CLASS__, 'PrepareOnCalendarRoomEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
			'OnCalendarRoomDelete' => [
				'calendar',
				'OnAfterCalendarRoomDelete',
				[__CLASS__, 'PrepareOnCalendarRoomEvent'],
				[
					'sendRefreshToken' => true,
				]
			],
		]
	];

	return [self::SCOPE_NAME => $methods];
}