Your IP : 3.12.161.239


Current Path : /home/bitrix/ext_www/coffe.land/bitrix/modules/calendar/lib/internals/
Upload File :
Current File : /home/bitrix/ext_www/coffe.land/bitrix/modules/calendar/lib/internals/resource.php

<?php
namespace Bitrix\Calendar\Internals;

use Bitrix\Main;
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

/**
 * Class ResourceTable
 *
 * Fields:
 * <ul>
 * <li> ID int mandatory
 * <li> EVENT_ID int optional
 * <li> CAL_TYPE string(100) optional
 * <li> RESOURCE_ID int mandatory
 * <li> PARENT_TYPE string(100) optional
 * <li> PARENT_ID int mandatory
 * <li> UF_ID int optional
 * <li> DATE_FROM_UTC datetime optional
 * <li> DATE_TO_UTC datetime optional
 * <li> DATE_FROM datetime optional
 * <li> DATE_TO datetime optional
 * <li> DURATION int optional
 * <li> SKIP_TIME string(1) optional
 * <li> TZ_FROM string(50) optional
 * <li> TZ_TO string(50) optional
 * <li> TZ_OFFSET_FROM int optional
 * <li> TZ_OFFSET_TO int optional
 * <li> CREATED_BY int mandatory
 * <li> DATE_CREATE datetime optional
 * <li> TIMESTAMP_X datetime optional
 * <li> SERVICE_NAME string(200) optional
 * </ul>
 *
 * @package Bitrix\Calendar
 **/

class ResourceTable extends Main\Entity\DataManager
{
	/**
	 * Returns DB table name for entity.
	 *
	 * @return string
	 */
	public static function getTableName()
	{
		return 'b_calendar_resource';
	}

	/**
	 * Returns entity map definition.
	 *
	 * @return array
	 */
	public static function getMap()
	{
		return array(
			'ID' => array(
				'data_type' => 'integer',
				'primary' => true,
				'autocomplete' => true,
				'title' => Loc::getMessage('RESOURCE_ENTITY_ID_FIELD'),
			),
			'EVENT_ID' => array(
				'data_type' => 'integer',
				'title' => Loc::getMessage('RESOURCE_ENTITY_EVENT_ID_FIELD'),
			),
			'CAL_TYPE' => array(
				'data_type' => 'string',
				'validation' => array(__CLASS__, 'validateCalType'),
				'title' => Loc::getMessage('RESOURCE_ENTITY_CAL_TYPE_FIELD'),
			),
			'RESOURCE_ID' => array(
				'data_type' => 'integer',
				'required' => true,
				'title' => Loc::getMessage('RESOURCE_ENTITY_RESOURCE_ID_FIELD'),
			),
			'PARENT_TYPE' => array(
				'data_type' => 'string',
				'validation' => array(__CLASS__, 'validateParentType'),
				'title' => Loc::getMessage('RESOURCE_ENTITY_PARENT_TYPE_FIELD'),
			),
			'PARENT_ID' => array(
				'data_type' => 'integer',
				'required' => true,
				'title' => Loc::getMessage('RESOURCE_ENTITY_PARENT_ID_FIELD'),
			),
			'UF_ID' => array(
				'data_type' => 'integer',
				'required' => false,
				'title' => Loc::getMessage('RESOURCE_ENTITY_UF_ID_FIELD'),
			),
			'DATE_FROM_UTC' => array(
				'data_type' => 'datetime',
				'title' => Loc::getMessage('RESOURCE_ENTITY_DATE_FROM_UTC_FIELD'),
			),
			'DATE_TO_UTC' => array(
				'data_type' => 'datetime',
				'title' => Loc::getMessage('RESOURCE_ENTITY_DATE_TO_UTC_FIELD'),
			),
			'DATE_FROM' => array(
				'data_type' => 'datetime',
				'title' => Loc::getMessage('RESOURCE_ENTITY_DATE_FROM_FIELD'),
			),
			'DATE_TO' => array(
				'data_type' => 'datetime',
				'title' => Loc::getMessage('RESOURCE_ENTITY_DATE_TO_FIELD'),
			),
			'DURATION' => array(
				'data_type' => 'integer',
				'title' => Loc::getMessage('RESOURCE_ENTITY_DURATION_FIELD'),
			),
			'SKIP_TIME' => array(
				'data_type' => 'string',
				'validation' => array(__CLASS__, 'validateSkipTime'),
				'title' => Loc::getMessage('RESOURCE_ENTITY_SKIP_TIME_FIELD'),
			),
			'TZ_FROM' => array(
				'data_type' => 'string',
				'validation' => array(__CLASS__, 'validateTzFrom'),
				'title' => Loc::getMessage('RESOURCE_ENTITY_TZ_FROM_FIELD'),
			),
			'TZ_TO' => array(
				'data_type' => 'string',
				'validation' => array(__CLASS__, 'validateTzTo'),
				'title' => Loc::getMessage('RESOURCE_ENTITY_TZ_TO_FIELD'),
			),
			'TZ_OFFSET_FROM' => array(
				'data_type' => 'integer',
				'title' => Loc::getMessage('RESOURCE_ENTITY_TZ_OFFSET_FROM_FIELD'),
			),
			'TZ_OFFSET_TO' => array(
				'data_type' => 'integer',
				'title' => Loc::getMessage('RESOURCE_ENTITY_TZ_OFFSET_TO_FIELD'),
			),
			'CREATED_BY' => array(
				'data_type' => 'integer',
				'required' => true,
				'title' => Loc::getMessage('RESOURCE_ENTITY_CREATED_BY_FIELD'),
			),
			'DATE_CREATE' => array(
				'data_type' => 'datetime',
				'title' => Loc::getMessage('RESOURCE_ENTITY_DATE_CREATE_FIELD'),
			),
			'TIMESTAMP_X' => array(
				'data_type' => 'datetime',
				'title' => Loc::getMessage('RESOURCE_ENTITY_TIMESTAMP_X_FIELD'),
			),
			'SERVICE_NAME' => array(
				'data_type' => 'string',
				'validation' => array(__CLASS__, 'validateServiceName'),
				'title' => Loc::getMessage('RESOURCE_ENTITY_SERVICE_NAME_FIELD'),
			),
		);
	}
	/**
	 * Returns validators for CAL_TYPE field.
	 *
	 * @return array
	 */
	public static function validateCalType()
	{
		return array(
			new Main\Entity\Validator\Length(null, 100),
		);
	}
	/**
	 * Returns validators for PARENT_TYPE field.
	 *
	 * @return array
	 */
	public static function validateParentType()
	{
		return array(
			new Main\Entity\Validator\Length(null, 100),
		);
	}
	/**
	 * Returns validators for SKIP_TIME field.
	 *
	 * @return array
	 */
	public static function validateSkipTime()
	{
		return array(
			new Main\Entity\Validator\Length(null, 1),
		);
	}
	/**
	 * Returns validators for TZ_FROM field.
	 *
	 * @return array
	 */
	public static function validateTzFrom()
	{
		return array(
			new Main\Entity\Validator\Length(null, 50),
		);
	}
	/**
	 * Returns validators for TZ_TO field.
	 *
	 * @return array
	 */
	public static function validateTzTo()
	{
		return array(
			new Main\Entity\Validator\Length(null, 50),
		);
	}
	/**
	 * Returns validators for SERVICE_NAME field.
	 *
	 * @return array
	 */
	public static function validateServiceName()
	{
		return array(
			new Main\Entity\Validator\Length(null, 200),
		);
	}
}