Commit Graph

27 Commits

Author SHA1 Message Date
Bharat Mediratta
fafa7f277f Remove a @todo. 2010-01-17 16:55:48 -08:00
Bharat Mediratta
9864ab4b27 Move the random image functionality into the gallery REST helper since
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-08 14:56:08 -08:00
Bharat Mediratta
14f6e5f6d3 Allow the "name" param in get() so that you can restrict the query to children with a given name. 2010-01-08 11:12:02 -08:00
Bharat Mediratta
31454d37b3 Improve REST tag support.
- 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-05 13:41:06 -08:00
Bharat Mediratta
3fffa18e65 Further progress on refining the REST server side code.
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-04 21:48:21 -08:00
Bharat Mediratta
0e3327bca7 Simplify the REST API code. Here's what I did:
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-03 20:30:35 -08:00
Tim Almdal
5b9801092b Remove the Rest_Exception::trigger method. 2010-01-02 16:55:06 -08:00
Tim Almdal
1a12a5e3c8 Create a Rest_Exception class and use it to convey status to the client instead of calling rest::forbidden and other rest helper error messages. 2009-12-31 11:51:51 -08:00
Tim Almdal
4b44600bf9 Change the gallery_rest::_validate() method to use the form rules in Item_Model. Change the Duplicate errors to sentence case. And generally clean up the flow in _validate(). 2009-12-31 09:01:49 -08:00
Tim Almdal
11792a12bb 1) Remove the rest::not_found method and replace it with "throw new 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-30 17:08:01 -08:00
Tim Almdal
bccb6fc021 Clean up validation the check for duplicate names or slugs, finish converting the rest API to Kohana 2.4 2009-12-27 08:32:12 -08:00
Tim Almdal
d0dd6650be When normalizing the rest request don't assume that the additional arguments are acutall a path. Leave it up to the handler to determine. 2009-12-23 13:13:03 -08:00
Tim Almdal
d622d1aa4f Updated the unit tests to match the current API
Corrected a problem identified with the unit tests... failed if the path was empty on PUT.
2009-12-23 09:32:32 -08:00
Tim Almdal
cbe5a89a9f Update the api so it allows images to be uploaded. 2009-12-22 12:32:27 -08:00
Tim Almdal
fd7990735c Added validation to the edit functionality, since we can't trust any input 2009-12-21 11:25:11 -08:00
Tim Almdal
c804279647 Add the parent path to the resource 2009-12-18 12:58:23 -08:00
Tim Almdal
eb55a3c977 Add the name field to remote interface. 2009-12-18 12:21:10 -08:00
Tim Almdal
61c1a8bfbe Make sure we always return a children array for albums. 2009-12-16 10:14:31 -08:00
Tim Almdal
96968b4181 Include the thumb, resize and fullsize sizes (height & width) in the resource contents returned via the rest interface. 2009-12-15 21:04:19 -08:00
Tim Almdal
95e812067e Change what is used as the url to the item. 2009-12-15 20:42:01 -08:00
Tim Almdal
7f5d5b0470 Add the resize url to returned resource. 2009-12-15 12:24:22 -08:00
Tim Almdal
22e813d0be Updates the the interface based on actually using it. 2009-12-15 10:57:10 -08:00
Tim Almdal
d521faf63d Add the REST delete processing for albums/photos/movies 2009-12-09 16:04:08 -08:00
Tim Almdal
dfc556e8a6 Implement the RESTful interface for albums/photos/movies 2009-12-09 12:06:45 -08:00
Tim Almdal
367f2218f6 Use the relative url cache to look up resources instead of the relative 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-09 08:41:38 -08:00
Tim Almdal
3c30d595ae Add the REST get handler for albums/photos/movies 2009-12-08 23:28:50 -08:00
Tim Almdal
6fd04069ae Add another error handler "not found" to the rest API.
Implement the get_album rest request handler.
2009-12-08 12:50:13 -08:00