Alexander Hartmaier > Catalyst-Controller-DBIC-API-2.005001 > Catalyst::Controller::DBIC::API::StaticArguments

Download:
Catalyst-Controller-DBIC-API-2.005001.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  2
Open  1
Stalled  1
View/Report Bugs
Module Version: 2.005001   Source  

NAME ^

Catalyst::Controller::DBIC::API::StaticArguments - Provides controller level configuration arguments

VERSION ^

version 2.005001

DESCRIPTION ^

StaticArguments is a role that is composed by the controller to provide configuration parameters such as where to find specific elements in the request data and if to use JSON boolean types.

PUBLIC_ATTRIBUTES ^

create_requires create_allows update_requires update_allows

These attributes control requirements and limits to columns when creating or updating objects.

Each provides a number of handles:

    "get_${var}_column" => 'get'
    "set_${var}_column" => 'set'
    "delete_${var}_column" => 'delete'
    "insert_${var}_column" => 'insert'
    "count_${var}_column" => 'count'
    "all_${var}_columns" => 'elements'

prefetch_allows

prefetch_allows limits what relations may be prefetched when executing searches with joins. This is necessary to avoid denial of service attacks in form of queries which would return a large number of data and unwanted disclosure of data.

Like the synopsis in DBIC::API shows, you can declare a "template" of what is allowed (by using an '*'). Each element passed in, will be converted into a Data::DPath and added to the validator.

    prefetch_allows => [ 'cds', { cds => tracks }, { cds => producers } ] # to be explicit
    prefetch_allows => [ 'cds', { cds => '*' } ] # wildcard means the same thing

count_arg

Controls how to reference 'count' in the the request_data, defaults to 'list_count'.

page_arg

Controls how to reference 'page' in the the request_data, defaults to 'list_page'.

offset_arg

Controls how to reference 'offset' in the the request_data, defaults to 'list_offset'.

select_arg

Controls how to reference 'select' in the the request_data, defaults to 'list_returns'.

as_arg

Controls how to reference 'as' in the the request_data, defaults to 'as'.

search_arg

Controls how to reference 'search' in the the request_data, defaults to 'search'.

grouped_by_arg

Controls how to reference 'grouped_by' in the the request_data, defaults to 'list_grouped_by'.

ordered_by_arg

Controls how to reference 'ordered_by' in the the request_data, defaults to 'list_ordered_by'.

prefetch_arg

Controls how to reference 'prefetch' in the the request_data, defaults to 'list_prefetch'.

stash_key

Controls where in the stash the request_data should be stored, defaults to 'response'.

data_root

Controls how to reference where the data is in the the request_data, defaults to 'list'.

item_root

Controls how to reference where the data for single object requests is in the the request_data, defaults to 'data'.

total_entries_arg

Controls how to reference 'total_entries' in the the request_data, defaults to 'totalcount'.

use_json_boolean

Controls whether JSON boolean types are used in the success parameter of the response or if raw strings are used, defaults to false.

return_object

Controls whether the results of create/update are serialized and returned in the response, defaults to false.

AUTHORS ^

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2014 by Luke Saunders, Nicholas Perez, Alexander Hartmaier, et al..

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: