Esempio n. 1
0
 /**
  * Update an existing KalturaDropFolder object
  * 
  * @action update
  * @param int $dropFolderId
  * @param KalturaDropFolder $dropFolder
  * @return KalturaDropFolder
  *
  * @throws KalturaErrors::INVALID_OBJECT_ID
  * @throws KalturaErrors::INGESTION_PROFILE_ID_NOT_FOUND
  * @throws KalturaErrors::DATA_CENTER_ID_NOT_FOUND
  */
 public function updateAction($dropFolderId, KalturaDropFolder $dropFolder)
 {
     $dbDropFolder = DropFolderPeer::retrieveByPK($dropFolderId);
     if (!$dbDropFolder) {
         throw new KalturaAPIException(KalturaErrors::INVALID_OBJECT_ID, $dropFolderId);
     }
     $dropFolder->validatePropertyMinValue('fileSizeCheckInterval', 0, true);
     $dropFolder->validatePropertyMinValue('autoFileDeleteDays', 0, true);
     if (!is_null($dropFolder->path) && $dropFolder->path != $dbDropFolder->getPath() && $dropFolder->type == KalturaDropFolderType::LOCAL) {
         $existingDropFolder = DropFolderPeer::retrieveByPathDefaultFilter($dropFolder->path);
         if ($existingDropFolder) {
             throw new KalturaAPIException(KalturaDropFolderErrors::DROP_FOLDER_ALREADY_EXISTS, $dropFolder->path);
         }
     }
     if (!is_null($dropFolder->dc)) {
         if (!kDataCenterMgr::dcExists($dropFolder->dc)) {
             throw new KalturaAPIException(KalturaErrors::DATA_CENTER_ID_NOT_FOUND, $dropFolder->dc);
         }
     }
     if (!is_null($dropFolder->conversionProfileId)) {
         $conversionProfileDb = conversionProfile2Peer::retrieveByPK($dropFolder->conversionProfileId);
         if (!$conversionProfileDb) {
             throw new KalturaAPIException(KalturaErrors::INGESTION_PROFILE_ID_NOT_FOUND, $dropFolder->conversionProfileId);
         }
     }
     $dbDropFolder = $dropFolder->toUpdatableObject($dbDropFolder);
     $dbDropFolder->save();
     $dropFolder = KalturaDropFolder::getInstanceByType($dbDropFolder->getType());
     $dropFolder->fromObject($dbDropFolder, $this->getResponseProfile());
     return $dropFolder;
 }