/**
  * Validates data and throws exceptions for non-sensical status
  * windows
  */
 public function save()
 {
     if ($this->getDateTo() <= $this->getDateFrom()) {
         throw new PhabricatorCalendarEventInvalidEpochException();
     }
     return parent::save();
 }
 public function save()
 {
     if (!$this->getSecretKey()) {
         $this->setSecretKey(Filesystem::readRandomCharacters(20));
     }
     return parent::save();
 }
 public function getConfiguration()
 {
     return array(self::CONFIG_TIMESTAMPS => false) + parent::getConfiguration();
 }
 public function save()
 {
     $this->nameIndex = PhabricatorHash::digestForIndex($this->getName());
     return parent::save();
 }
 protected function getConfiguration()
 {
     return array(self::CONFIG_COLUMN_SCHEMA => array('status' => 'text64', 'availability' => 'text64'), self::CONFIG_KEY_SCHEMA => array('key_event' => array('columns' => array('eventPHID', 'inviteePHID'), 'unique' => true), 'key_invitee' => array('columns' => array('inviteePHID')))) + parent::getConfiguration();
 }
 protected function getConfiguration()
 {
     return array(self::CONFIG_TIMESTAMPS => false, self::CONFIG_COLUMN_SCHEMA => array('day' => 'date', 'name' => 'text64'), self::CONFIG_KEY_SCHEMA => array('day' => array('columns' => array('day'), 'unique' => true))) + parent::getConfiguration();
 }
 protected function getConfiguration()
 {
     return array(self::CONFIG_AUX_PHID => true, self::CONFIG_COLUMN_SCHEMA => array('name' => 'text', 'description' => 'text', 'isCancelled' => 'bool', 'isAllDay' => 'bool', 'icon' => 'text32', 'mailKey' => 'bytes20', 'isRecurring' => 'bool', 'seriesParentPHID' => 'phid?', 'instanceOfEventPHID' => 'phid?', 'sequenceIndex' => 'uint32?', 'isStub' => 'bool', 'utcInitialEpoch' => 'epoch', 'utcUntilEpoch' => 'epoch?', 'utcInstanceEpoch' => 'epoch?', 'importAuthorPHID' => 'phid?', 'importSourcePHID' => 'phid?', 'importUIDIndex' => 'bytes12?', 'importUID' => 'text?'), self::CONFIG_KEY_SCHEMA => array('key_instance' => array('columns' => array('instanceOfEventPHID', 'sequenceIndex'), 'unique' => true), 'key_epoch' => array('columns' => array('utcInitialEpoch', 'utcUntilEpoch')), 'key_rdate' => array('columns' => array('instanceOfEventPHID', 'utcInstanceEpoch'), 'unique' => true), 'key_series' => array('columns' => array('seriesParentPHID', 'utcInitialEpoch'))), self::CONFIG_SERIALIZATION => array('parameters' => self::SERIALIZATION_JSON)) + parent::getConfiguration();
 }
 protected function getConfiguration()
 {
     return array(self::CONFIG_AUX_PHID => true, self::CONFIG_COLUMN_SCHEMA => array('name' => 'text', 'dateFrom' => 'epoch', 'dateTo' => 'epoch', 'description' => 'text', 'isCancelled' => 'bool', 'isAllDay' => 'bool', 'icon' => 'text32', 'mailKey' => 'bytes20', 'isRecurring' => 'bool', 'recurrenceEndDate' => 'epoch?', 'instanceOfEventPHID' => 'phid?', 'sequenceIndex' => 'uint32?'), self::CONFIG_KEY_SCHEMA => array('userPHID_dateFrom' => array('columns' => array('userPHID', 'dateTo')), 'key_instance' => array('columns' => array('instanceOfEventPHID', 'sequenceIndex'), 'unique' => true)), self::CONFIG_SERIALIZATION => array('recurrenceFrequency' => self::SERIALIZATION_JSON)) + parent::getConfiguration();
 }
 protected function getConfiguration()
 {
     return array(self::CONFIG_TIMESTAMPS => false, self::CONFIG_COLUMN_SCHEMA => array('utcInitialEpoch' => 'epoch', 'didNotifyEpoch' => 'epoch'), self::CONFIG_KEY_SCHEMA => array('key_notify' => array('columns' => array('eventPHID', 'utcInitialEpoch', 'targetPHID'), 'unique' => true))) + parent::getConfiguration();
 }
 protected function getConfiguration()
 {
     return array(self::CONFIG_AUX_PHID => true, self::CONFIG_SERIALIZATION => array('parameters' => self::SERIALIZATION_JSON), self::CONFIG_COLUMN_SCHEMA => array('name' => 'text', 'engineType' => 'text64', 'isDisabled' => 'bool', 'triggerPHID' => 'phid?', 'triggerFrequency' => 'text64'), self::CONFIG_KEY_SCHEMA => array('key_author' => array('columns' => array('authorPHID')))) + parent::getConfiguration();
 }
 protected function getConfiguration()
 {
     return array(self::CONFIG_SERIALIZATION => array('parameters' => self::SERIALIZATION_JSON), self::CONFIG_KEY_SCHEMA => array('key_import' => array('columns' => array('importPHID')))) + parent::getConfiguration();
 }