summaryrefslogtreecommitdiff
path: root/modules/gallery/helpers/gallery_rest.php
AgeCommit message (Collapse)Author
2010-01-22Reshape the rest code to be more consistent with regards toBharat Mediratta
relationships. Now when you view a resource, it has 4 top level elements: url: the url of this resource resource: array of key value pairs describing the resource members: array of urls to members of this collection relationships: array of array of members. Relationships are a special type of collection that links two different resources together. To remove a relationship, just DELETE its url. To create a relationship, POST to its collection. Individual modules can add their own relationships to any resource via a callback mechanism. Example: Array( [url] => http://g3.com/rest/item/1 [resource] => Array ( [id] => 1 [album_cover_item_id] => 4 [captured] => [created] => 1264056417 [description] => [height] => ... ) [members] => Array( [0] => http://g3.com/rest/item/2 [1] => http://g3.com/rest/item/3 [2] => http://g3.com/rest/item/4 [3] => http://g3.com/rest/item/5 ... ) [relationships] => Array( [tags] => Array ( [0] => http://g3.com/rest/tag_item/2,1 [1] => http://g3.com/rest/tag_item/23,1 ) ) )
2010-01-20Throw Rest exceptions, not regular exceptions.Bharat Mediratta
2010-01-19Use property_exists() on our stdClass instead of array_key_exists()Bharat Mediratta
2010-01-19Change rest::url() to take a module name and a resource. The moduleBharat Mediratta
does the rest. This function is symmetrical to rest::resolve.
2010-01-19Make scope default to direct.Bharat Mediratta
Add slug to the post params. Fix minor output bug.
2010-01-19Return arrays instead of calling rest::reply.Bharat Mediratta
2010-01-17Remove a @todo.Bharat Mediratta
2010-01-08Move the random image functionality into the gallery REST helper sinceBharat Mediratta
choosing a random image is essentially a function on an item collection. Also implemented a bunch of other query filters for item collections. Created item::random_query() as a way of generating a reasonable starting point for random queries.
2010-01-08Allow the "name" param in get() so that you can restrict the query to ↵Bharat Mediratta
children with a given name.
2010-01-05Improve REST tag support.Bharat Mediratta
- Add support for retrieving a list of members from a collection - Implement put(), post() and delete() for tags. - Use tag_rest::delete() as a way to remove members from the tag collection
2010-01-04Further progress on refining the REST server side code.Bharat Mediratta
1) Deal in fully qualified URL resources through the rest interface. All rest methods are now passed the complete url in request->url. 2) Create rest::resolve() which lets individual resource definition code convert a full url into the appropriate matching resource. Implement gallery_rest::resolve() and tag_rest::resolve() 3) Reimplement tag_rest's get() and post() methods. They're much simpler now. 4) Implement the tags_rest helper which supports working with the entire tags collection.
2010-01-03Simplify the REST API code. Here's what I did:Bharat Mediratta
1) Simplify gallery_rest to return flat models, no children and do no validation for now. 2) Flatten the REST replies and use HTTP codes to indicate success/failure instead of additional status messages. 3) Use the message and error code support in the base Exception class, instead of brewing our own in Rest_Exception. 4) Get rid of rest::success() and rest::fail() -- we only need rest::reply() since all failures are covered by throwing an exception. 5) Get rid of /rest/access_key and just use /rest for authentication. 6) Inline and simplify rest::normalize_request since we only use it once 7) Change rest::set_active_user to succeed or throw an exception 8) Extract Rest_Exception::sendHeaders into rest::send_headers() Here's what's currently broken: 1) Data validation. There currently is none 2) Logging. That's gone too 3) image block and tag code is broken 4) Tests are broken 5) No movie support
2010-01-02Remove the Rest_Exception::trigger method.Tim Almdal
2009-12-31Create a Rest_Exception class and use it to convey status to the client ↵Tim Almdal
instead of calling rest::forbidden and other rest helper error messages.
2009-12-31Change the gallery_rest::_validate() method to use the form rules in ↵Tim Almdal
Item_Model. Change the Duplicate errors to sentence case. And generally clean up the flow in _validate().
2009-12-301) Remove the rest::not_found method and replace it with "throw new ↵Tim Almdal
Kohana_404_Exception 2) Don't use the input path to lookup the item via relative_path_cache. Instead use url::get_item_from_uri method.
2009-12-27Clean up validation the check for duplicate names or slugs, finish ↵Tim Almdal
converting the rest API to Kohana 2.4
2009-12-23When normalizing the rest request don't assume that the additional arguments ↵Tim Almdal
are acutall a path. Leave it up to the handler to determine.
2009-12-23Updated the unit tests to match the current APITim Almdal
Corrected a problem identified with the unit tests... failed if the path was empty on PUT.
2009-12-22Update the api so it allows images to be uploaded.Tim Almdal
2009-12-21Added validation to the edit functionality, since we can't trust any inputTim Almdal
2009-12-18Add the parent path to the resourceTim Almdal
2009-12-18Add the name field to remote interface.Tim Almdal
2009-12-16Make sure we always return a children array for albums.Tim Almdal
2009-12-15Include the thumb, resize and fullsize sizes (height & width) in the ↵Tim Almdal
resource contents returned via the rest interface.
2009-12-15Change what is used as the url to the item.Tim Almdal
2009-12-15Add the resize url to returned resource.Tim Almdal
2009-12-15Updates the the interface based on actually using it.Tim Almdal
2009-12-09Add the REST delete processing for albums/photos/moviesTim Almdal
2009-12-09Implement the RESTful interface for albums/photos/moviesTim Almdal
2009-12-09Use the relative url cache to look up resources instead of the relative ↵Tim Almdal
path. This allows us to forego the extension as part of the REST url. As well, urls are consistent between normal usage and rest usage.
2009-12-08Add the REST get handler for albums/photos/moviesTim Almdal
2009-12-08Add another error handler "not found" to the rest API.Tim Almdal
Implement the get_album rest request handler.