checkService(); $requestItem->applyUrlTemplate(self::$ALBUM_PATH); $userIds = $requestItem->getUsers(); $groupId = $requestItem->getGroup(); $albumIds = $requestItem->getListParameter('albumId'); HandlerPreconditions::requireSingular($userIds, "userId must be singular value."); HandlerPreconditions::requireNotEmpty($groupId, "groupId must be specified."); HandlerPreconditions::requireNotEmpty($albumIds, "albumId must be specified."); $this->service->deleteAlbum($userIds[0], $groupId, $albumIds, $requestItem->getToken()); } /** * Gets the albums. The URI structure: /{userId}/{groupId}/{albumId}+. */ public function handleGet(RequestItem $requestItem) { $this->checkService(); $requestItem->applyUrlTemplate(self::$ALBUM_PATH); $userIds = $requestItem->getUsers(); $groupId = $requestItem->getGroup(); HandlerPreconditions::requireSingular($userIds, "userId must be singular value."); HandlerPreconditions::requireNotEmpty($groupId, "groupId must be specified."); $options = new CollectionOptions($requestItem); $fields = $requestItem->getFields(); $albumIds = $requestItem->getListParameter('albumId'); return $this->service->getAlbums($userIds[0], $groupId, $albumIds, $options, $fields, $requestItem->getToken()); } /** * Creates an album. The URI structure: /{userId}/{groupId}. */ public function handlePost(RequestItem $requestItem) { $this->checkService(); $requestItem->applyUrlTemplate(self::$ALBUM_PATH); $userIds = $requestItem->getUsers(); $groupId = $requestItem->getGroup(); $album = $requestItem->getParameter('album'); HandlerPreconditions::requireSingular($userIds, "userId must be of singular value"); HandlerPreconditions::requireNotEmpty($groupId, "groupId must be specified."); HandlerPreconditions::requireNotEmpty($album, "album must be specified."); return $this->service->createAlbum($userIds[0], $groupId, $album, $requestItem->getToken()); } /** * Updates the album. The URI structure: /{userId}/{groupId}/{albumId} */ public function handlePut(RequestItem $requestItem) { $this->checkService(); $requestItem->applyUrlTemplate(self::$ALBUM_PATH); $userIds = $requestItem->getUsers(); $groupId = $requestItem->getGroup(); $albumIds = $requestItem->getListParameter('albumId'); $album = $requestItem->getParameter('album'); HandlerPreconditions::requireSingular($userIds, "userId must be singular value"); HandlerPreconditions::requireNotEmpty($groupId, "groupId must be specified."); HandlerPreconditions::requireSingular($albumIds, "albumId must be singular value."); HandlerPreconditions::requireNotEmpty($album, "album must be specified."); $album['id'] = $albumIds[0]; return $this->service->updateAlbum($userIds[0], $groupId, $album, $requestItem->getToken()); } }