Revision history for Catalyst-Controller-DBIC-API: {{ $dist->version }}
{{ $NEXT }}
+**************************************************************
+** 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
- 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)
+ + 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'
If the L</select> config param is defined then the hashes will contain only those columns, otherwise all columns in the object will be returned. L</select> of course supports the function/procedure calling semantics that L<DBIx::Class::ResultSet/select>. In order to have proper column names in the result, provide arguments in L</as> (which also follows L<DBIx::Class::ResultSet/as> semantics. Similarly L</count>, L</page>, L</grouped_by> and L</ordered_by> affect the maximum number of rows returned as well as the ordering and grouping. Note that if select, count, ordered_by or grouped_by request parameters are present then these will override the values set on the class with select becoming bound by the select_exposes attribute.
-If not all objects in the resultset are required then it's possible to pass conditions to the method as request parameters. You can use a JSON string as the 'search' parameter for maximum flexibility or use L</CGI::Expand> syntax. In the second case the request parameters are expanded into a structure and then used as the search condition.
+If not all objects in the resultset are required then it's possible to pass conditions to the method as request parameters. You can use a JSON string as the 'search' parameter for maximum flexibility or use L<CGI::Expand> syntax. In the second case the request parameters are expanded into a structure and then used as the search condition.
For example, these request parameters:
BEGIN { extends 'MyApp::ControllerBase::DBIC::API::RPC' };
...
-It should be noted that the L</return_object> attribute will produce the above result for you, free of charge.
+It should be noted that the return_object attribute will produce the above result for you, free of charge.
For REST the only difference besides the class names would be that create should be :Private rather than an endpoint.
},
);
-=attribute_public search is: ro, isa: HashRef
+=attribute_public search is: ro, isa: L<Catalyst::Controller::DBIC::API::Types/SearchParameters>
search contains the raw search parameters. Upon setting, a trigger will fire to format them, set search_parameters, and set search_attributes.
},
);
-=attribute_public search_parameters is:ro, isa: L<Catalyst::Controller::DBIC::API/Types/SearchParameters>
+=attribute_public search_parameters is:ro, isa: L<Catalyst::Controller::DBIC::API::Types/SearchParameters>
search_parameters stores the formatted search parameters that will be passed to ->search