Skip to content

Supply routes via config #37

@ungrim97

Description

@ungrim97

My current use case has the following setup:

MyApp::WAPID::Resource::Note;
MyApp::WAPID::Resource::Notes;
MyApp::Schema::Result::Note;

The Resource classes each contain a single subroutine:

sub forbidden {
    my ($self) = @_;

    my ($username, $password) = $self->request->headers->authorization_basic;

   return 1 unless # some check against basic auth header;
   return 0;
}

This means that the default routes don't work as they use a Generic class for all routes. Whilst I could pass in a new resource_class_for_set item this wouldn't work if I had more than one ResultSource class.

currently in my MyApp.psgi I need to add:

....
routes => [
    WebAPI::DBIC::Route->new(
        path => '/note',
        resource_class => 'MyApp::WAPID::Resource::Notes',
        resource_args => {
            set => $schema->resultset('Note'),
        }
    ),
   .... And again for the item path
]

It would be really useful to have either automatic Resource lookup....and/or definition of all routes in a myapp_routes config or similar. The format could be something like:

{
  "routes" : [
    {
      "path" : "/note",
      "resource_class" : "MyApp::WAPID::Resource::Notes",
      "set" : "Note"
    }
  ]
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions