summaryrefslogtreecommitdiff
path: root/modules/rest
AgeCommit message (Collapse)Author
2010-04-06Merge branch 'master' into talmdal_devTim Almdal
2010-04-04REST changes: Allow PUT and POST requests to modify members, notBharat Mediratta
just entity. TESTS ARE NOT UPDATED YET. - Fix item_rest::get() to maintain the proper sort order, which requires duplicating some Item_Model code. - Elide "weight" from the REST version of item - Adjust the weight of members according to the order they're returned from the client. You can't add or remove members here, you can only reorder them. - Changed the wire protocol to handle more complex values. Now "entity" and "members" are JSON encoded. The Gallery3 helper does this correctly. - Changed the wire protocol for tag_item -- now it stores the tag and item urls in the entity, not as members. This is more consistent. - Added missing security for renaming and deleting tags. - Got rid of vestigial tag_rest::post(). We add/remove tags via the relationship.
2010-03-31Merge branch 'master' into talmdal_devTim Almdal
Conflicts: modules/rest/controllers/rest.php
2010-03-30Rest -> RESTBharat Mediratta
2010-03-30Rename "access_token" to "access_key" in the code for consistency.Bharat Mediratta
2010-03-30Rename "user_access_tokens" table to "user_access_keys" as step 1 of aBharat Mediratta
multi step process to refer to REST access keys as "access_key" everywhere. Bump the rest module to version 2.
2010-03-21If the access token is not set, then look in the post data.Tim Almdal
2010-03-13Merge branch 'master' into talmdal_devTim Almdal
2010-03-13Whitespace correctionTim Almdal
2010-03-13Changes to support updating the child elements within an album. In this ↵Tim Almdal
change the urls of the children are sent up asan array of post fields children[0].... children[n]. If an existing child is not included it is deleted. Including a url to an child in another album will move the child. Changing the order of the children will respect the order of the children, if the sort column is 'weight'
2010-03-13Update tests to reflect the fact that you have to be logged in to do anything.Bharat Mediratta
2010-03-13Guests don't get access to the REST API.Bharat Mediratta
2010-03-05Update tests to reflect the fact that you have to be logged in to do anything.Bharat Mediratta
2010-03-03Guests don't get access to the REST API.Bharat Mediratta
2010-03-03Update the copyright to 2010. It's only 3 months into the year :-)Bharat Mediratta
2010-02-24Remove redundant print statement. rest::reply() does the print so having the ↵Tim Almdal
extra print statement could lead to problems.
2010-02-20When using rest::reply(), don't call var_export() if the response is empty.Bharat Mediratta
2010-02-19Refactor away the "display_all" construct in User_Profile_Controller.Bharat Mediratta
"display_all" is too coarse, and we should be letting event handlers make the appropriate decision on what to display and when. This duplicates some code, but it's now very clear in the event handlers what's getting shown. Throw a 404 if we try to view the user profile for a missing user. The only feature change in this should be that we now display the name, full name and website for a user to any other registered user, which makes sense since these are typically public fields. Don't show any of the edit buttons unless identity::is_writable()
2010-02-14If the return object is empty still return the empty object in the json ↵Tim Almdal
response.
2010-02-07Create the concept of a "failed authentication" as semanticallyBharat Mediratta
separate from a successful or failed login. 1) Rename user_login_failed event to user_authenticate_failed 2) Rename failed_logins table to failed_auth (bump Gallery module to v27 to rename the table) 3) auth::too_many_failed_logins -> auth::too_many_failures 4) auth::record_failed_auth_attempts -> auth::record_failed_attempts auth::clear_failed_auth_attempts -> auth::clear_failed_attempts
2010-01-31Fix lots of warnings that pop up when we're in E_STRICT mode. They'reBharat Mediratta
mostly issues around uninitialized variables, calling non-static functions in a static context, calling Session functions directly instead of on its singleton, passing non-variables by reference, and subclasses not using the same interface as the parent class.
2010-01-30Refactory auth::too_many_failed_logins() out ofBharat Mediratta
auth::validate_too_many_failed_logins() to conceptually separate the two.
2010-01-30Protect REST login controller from brute force attacks too.Andy Staudacher
And make the REST auth token less predictable by using a better source for randomness.
2010-01-29Use ? or & as appropriate when appending output=html.Bharat Mediratta
2010-01-29Use var_export instead of print_r for better clarity.Bharat Mediratta
2010-01-28Do all the html::clean|purify calls in the views and not the controller. ↵Tim Almdal
Also clean the subject line and email message body of the contact user email.
2010-01-25Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_devBharat Mediratta
Conflicts: modules/gallery/libraries/MY_ORM.php
2010-01-24Add the active notifications and rest api key to user profile page.Tim Almdal
2010-01-23Update tests for recent REST changes.Bharat Mediratta
2010-01-22output_type --> outputBharat Mediratta
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-21whitespace.Bharat Mediratta
2010-01-20Improve robustness in resolve() against bad urls..Bharat Mediratta
2010-01-20Rewrite the tests to be simpler and more direct.Bharat Mediratta
2010-01-20Move access key creation into a helper function.Bharat Mediratta
2010-01-19Let the Rest_Controller functions throw a Rest_Exception sinceBharat Mediratta
the Kohana framework will handle it properly.
2010-01-19Move rest::send_headers back into Rest_Exception.Bharat Mediratta
2010-01-19Make Rest_Exception extend Kohana_Exception so that we can let itBharat Mediratta
bubble to the top and then in sendHeaders have it send the right response code.
2010-01-19Extend Gallery_Unit_Test_Case instead of Unit_Test_Case.Bharat Mediratta
2010-01-19Don't send headers if they're already sent.Bharat Mediratta
2010-01-19Use $input instead of Input::instance()Bharat Mediratta
2010-01-19Use an appropriate json content typeBharat 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-19Have the rest calls return an array and print it out in theBharat Mediratta
controller. This is a clearer workflow; controllers generate output, not helpers. It's also easier to test.
2010-01-19Add rest::url() for convenience.Bharat Mediratta
2010-01-17Catch ORM_Validation_Exception and turn it into a 400 Bad Request withBharat Mediratta
appropriate error output.
2010-01-10Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_devBharat Mediratta
2010-01-09Fix for ticket #972 and more. In Kohana 2.4, ORM::delete_all ignores any whereTim Almdal
clauses and deletes all the entries in the table unless an array of id's are passed as the parameter. This fix used the Database_builder to specify any where conditions. Thanks psvo for find the first one. :-)
2010-01-08Change url parsing in resolve() to ignore the query string.Bharat Mediratta
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.