Revision history for Catalyst-Controller-DBIC-API: {{ $dist->version }} {{ $NEXT }} 2.002004 2011-01-13 19:22:20 Europe/Vienna - Renamed Visitor to Validator::Visitor to conform with Data::DPath::Validator and moved it into a separate file. - Fixed failure because of Data::DPath >=0.41 by not using MooseX::Role::BuildInstanceOf for the validator attributes (RT#64673) - Added result_class and stash_key attributes to Catalyst::Controller::DBIC::API, allowing the values of them to be derived from the controller configuration (RT#63686) 2.002003 2010-09-16 10:44:40 Europe/Vienna - Added REST and RPC delete_bulk tests - Fixed RPC delete_bulk not working at all - Added REST and RPC update_bulk tests - Removed useless RPC index action - Fixed static configured page attribute not being used (RT#56226) - Test use_json_boolean true - Fixed search attribute generation for nonexistent relationships - Remove trailing newlines from error messages 2.002002 2010-08-03 14:40:50 Europe/Vienna - Fixed search for related columns overwriting existing params in generate_column_parameters - Use column accessor for updating an existing object instead of passing the new values to update. This enables the column accessors to do additional work (for example with method modifiers). - Fixed t/rpc/list.t error message regex to pass with Moose version >=1.05 - Fixed pod coverage and added a test for it 2.002001 2010-04-01 01:41:11 Europe/Berlin - Remove debugging code and other noise from tests - Fixed some typos and code cleanups - Added possibility to fetch a single object by id + tests using 'item' - Added item_root attribute which defaults to 'data' and is used as data root for 'item' - Break out bulk actions into their own methods for RPC - Restore identifer vs. no identifer for REST chains - Chain dispatching has now been fixed to not be as hackish as before - Shift around where the current result set is set. setup() now does /nothing/ by default other than be a chain anchor - Tests added for updating related keys via REST - generate_rs is now used to get the default resultset inside inflate_request - No longer uses Catalyst::Action::REST to do dispatching instead uses ActionRole and MatchRequestMethod - PLEASE THOROUGHLY TEST AS SOME BEHAVIOR MAY HAVE BEEN ALTERED SUBTLY WHEN DEALING WITH BULK vs SINGLE ACTIONS 2.001003 2010-02-12 19:01:56 America/Chicago - Fill out some coercions to allow more complex search criteria (like sort order) - Promote the helper functions into full methods - Allow iterative customization by breaking down the save_objects into several discrete steps - Make sure those steps also include $c 2.001002 2010-02-09 01:01:57 America/Chicago - Fixed missing requirement for MooseX::Types::Structured - Fixed MooseX::Aliases usage (we don't any more) - Object inflation during end was broken out into its own method: each_object_inflate - Enable offset based paging 2.001001 ************************************************************** ** THIS RELEASE GUARANTEES TO BREAK BACKWARDS COMPATIBILITY ** ************************************************************** - Merge create and update into update_or_create - object is much advanced now: + Identifier can be omitted, and data_root in the request is interpreted - Because of the above one object or several is now possible for update or create - Create and Update object validation now happens iteratively - Creates and Updates can be mixed inside a single bulk request - All modifying actions on the database occur within an all-or-nothing transaction - Much of the DBIC search parameter munging is properly moved to the RequestArguments Role in the form of a trigger on 'search' to populate 'search_parameters' and 'search_attributes' which correspond directly to ->search($parameters, $attributes); - Error handling is now much more consistent, using Try::Tiny everywhere possible - Tests are now modernized and use JSON::Any - Extending is now explicitly done via Moose method modifiers - The only portion of the stash in use is to allow runtime definition of create/update_allows - list is now broken down into several steps: + list_munge_parameters + list_perform_search + list_format_output + row_format_output (which is just a passthrough per row) - Search can now take an array of hashrefs to give the ability to use the default 'OR' - By default search_parameters is an ArrayRef[HashRef] which is pertinent to list_munge_parameters - More thorough documentation of the various bits and pieces. + Documentation now uses Pod::Weaver and Plugin::PodWeaver (weaver.ini added) - The distribution is now managed by Dist::Zilla - And some more likely forgotten. 1.004002 - Implement 'as' as a complement to 'select' - CGI::Expand'ed search parameters are now also JSON decoded + test - Fixed pod for parameters using a json string which shouldn't be surrounded by single quotes - Use next instead of NEXT in RPC - Moved sub object from RPC/REST to Base to DRY This will break your code if you subclass from REST and had relied on the action name 'object' - Check for defined objects before returning them for create/update 1.004001 - Allow for more complex prefetch_allows (multiple keys in hash) - Skip non-existant parameters in deserialization - Fixed whitespace to use spaces instead of tabs - Fixed pod to not use the config attributes from before 1.004 - Fixed prefetch_allows check to properly handle nested attrs + test 1.004000 - Moosify - Move validation for *_exposes/*_allows to Data::DPath::Validator - Reorganize internals to use Moose and roles - Allow maximum configuration for what request parameters are named - Properly handle JSON boolean values - Earlier and more consistent validation of configuration and request parameters 1.003004 - Database errors are also handled for searches + tests - Totalcount isn't included in the response if a db error occurs while fetching data - Converted no_plan tests to done_testing (required Test::More 0.88) 1.003003 - Database errors are properly handled + test - Fixed isa redefined warnings - Fixed bug preventing compat with future Catalyst::Action::Deserialize versions 1.003002 - Added totalcount to paged list responses - Fixed some tests weren't run in t/rpc/list.t - Fixed wrong setup_dbic_args_method error message 1.003001 - Minor fix to prevent failing test 1.003000 - Added prefetch support - Refactored to ensure all request params accept JSON, CGI::Expand or standard params - Doc improvements 1.002000 - Better error handing when unable to parse search arg - Added setup_dbic_args_method config option - Added list_search_exposes config option - Removed duplicate tests in t/rpc/list.t and t/rest/list.t - Fixed searches on columns which have a rel with the same name and vice versa - Added search by json - Added pagination support 1.001000 - Added setup_list_method configuration flag (jshirley) - Added support for setting config params in stash - Added list_grouped_by, list_count and list_ordered_by config attributes - Fixed bug with behaviour of list_returns 1.000002 - Fixed lack of deserialization under RPC 1.000001 - Improved docs 1.000000 - Released