/** * 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; }