summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/gallery/helpers/gallery_rest.php29
-rw-r--r--modules/rest/tests/Rest_Controller_Test.php20
2 files changed, 25 insertions, 24 deletions
diff --git a/modules/gallery/helpers/gallery_rest.php b/modules/gallery/helpers/gallery_rest.php
index 367c2684..dba109fd 100644
--- a/modules/gallery/helpers/gallery_rest.php
+++ b/modules/gallery/helpers/gallery_rest.php
@@ -18,41 +18,40 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class gallery_rest_Core {
- static function get_album($request) {
+ static function get($request) {
if (empty($request->path)) {
return rest::invalid_request();
}
- $album = ORM::factory("item")
+ $item = ORM::factory("item")
->where("relative_path_cache", $request->path)
- ->where("type", "album")
->viewable()
->find();
- if (!$album->loaded) {
- return rest::not_found();
+ if (!$item->loaded) {
+ return rest::not_found("Resource: {$request->path} missing.");
}
- $response_data = array("path" => $album->relative_path(),
- "title" => $album->title,
- "thumb_url" => $album->thumb_url(),
- "url" => $album->abs_url(),
- "description" => $album->description,
- "internet_address" => $album->slug);
+ $response_data = array("path" => $item->relative_path(),
+ "title" => $item->title,
+ "thumb_url" => $item->thumb_url(),
+ "url" => $item->abs_url(),
+ "description" => $item->description,
+ "internet_address" => $item->slug);
- $children = self::_get_children($album, $request);
+ $children = self::_get_children($item, $request);
if (!empty($children)) {
$response_data["children"] = $children;
}
- return rest::success(array("album" => $response_data));
+ return rest::success(array($item->type => $response_data));
}
- private static function _get_children($album, $request) {
+ private static function _get_children($item, $request) {
$children = array();
$limit = empty($request->limit) ? null : $request->limit;
$offset = empty($request->offset) ? null : $request->offset;
$where = empty($request->filter) ? array() : array("type" => $request->filter);
- foreach ($album->children($limit, $offset, $where) as $child) {
+ foreach ($item->viewable()->children($limit, $offset, $where) as $child) {
$children[] = array("type" => $child->type,
"has_children" => $child->children_count() > 0,
"path" => $child->relative_path(),
diff --git a/modules/rest/tests/Rest_Controller_Test.php b/modules/rest/tests/Rest_Controller_Test.php
index 1417c315..d9b576de 100644
--- a/modules/rest/tests/Rest_Controller_Test.php
+++ b/modules/rest/tests/Rest_Controller_Test.php
@@ -33,7 +33,6 @@ class Rest_Controller_Test extends Unit_Test_Case {
$filename = MODPATH . "gallery/tests/test.jpg";
$rand = rand();
$this->_photo = photo::create($this->_child, $filename, "$rand.jpg", $rand);
- $this->_path = $this->_photo->relative_path();
}
public function teardown() {
@@ -97,10 +96,15 @@ class Rest_Controller_Test extends Unit_Test_Case {
}
public function rest_get_resource_no_request_key_test() {
- $_SERVER["HTTP_X_HTTP_METHOD_OVERRIDE"] = "GET";
+ $_SERVER["REQUEST_METHOD"] = "GET";
$this->assert_equal(
- json_encode(array("status" => "ERROR", "message" => (string)t("Authorization failed"))),
+ json_encode(array("status" => "OK", "message" => (string)t("Processed"),
+ "photo" => array("path" => $this->_photo->relative_path(),
+ "title" => $this->_photo->title,
+ "thumb_url" => $this->_photo->thumb_url(),
+ "description" => $this->_photo->description,
+ "internet_address" => $this->_photo->slug))),
$this->_call_controller("rest", explode("/", $this->_photo->relative_path())));
}
@@ -141,12 +145,11 @@ class Rest_Controller_Test extends Unit_Test_Case {
$this->assert_equal(
json_encode(array("status" => "OK", "message" => (string)t("Processed"),
- "item" => array("path" => $this->_photo->relative_path_cache,
+ "photo" => array("path" => $this->_photo->relative_path(),
"title" => $this->_photo->title,
"thumb_url" => $this->_photo->thumb_url(),
"description" => $this->_photo->description,
- "internet_address" => $this->_photo->slug,
- "type" => $this->_photo->type))),
+ "internet_address" => $this->_photo->slug))),
$this->_call_controller("rest", explode("/", $this->_photo->relative_path())));
}
@@ -170,13 +173,12 @@ class rest_rest {
$item = ORM::factory("item")
->where("relative_path_cache", $request->path)
->find();
- $response["path"] = $item->relative_path_cache;
+ $response["path"] = $item->relative_path();
$response["title"] = $item->title;
$response["thumb_url"] = $item->thumb_url();
$response["description"] = $item->description;
$response["internet_address"] = $item->slug;
- $response["type"] = $item->type;
- return rest::success(array("item" => $response), t("Processed"));
+ return rest::success(array($item->type => $response), t("Processed"));
}
}