Skip to content

Instantly share code, notes, and snippets.

@hoguej
Last active December 26, 2015 04:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hoguej/7094773 to your computer and use it in GitHub Desktop.
Save hoguej/7094773 to your computer and use it in GitHub Desktop.
package Shutterstock::WWW::Controller::LightboxShow;
use Moose;
extends 'Shutterstock::WWW::Controller::Base';
with 'Shutterstock::WWW::Controller::Role::CheckMasonAutologout';
with 'Shutterstock::WWW::Controller::Role::Dispatcher';
with 'Shutterstock::WWW::Controller::Role::EnsureMasonLogin';
with 'Shutterstock::WWW::Controller::Role::GlobalPageData';
with 'Shutterstock::WWW::Controller::Role::Impersonator';
use Shutterstock::WWW::Model::Service::Customer::Lightbox;
use Shutterstock::WWW::Model::Service::Media::Image;
get '/lightboxes/:lightbox_id' => sub {
my $lightbox = Shutterstock::WWW::Model::Service::Customer::Lightbox->load(
lightbox_id => $params{lightbox_id},
access_token => $self->mason_session->photo_access_token,
);
template 'lightbox_show' => +{ lightbox => $lightbox=>to_template };
}
post '/lightboxes/:lightbox_id/remove' => sub {
my $lightbox = Shutterstock::WWW::Model::Service::Customer::Lightbox->load(
lightbox_id => $params{lightbox_id},
access_token => $self->mason_session->photo_access_token,
);
$lightbox->remove($params{image_ids});
}
post '/lightboxes/:lightbox_id/move' => sub {
my $lightbox = Shutterstock::WWW::Model::Service::Customer::Lightbox->load(
lightbox_id => $params{lightbox_id},
access_token => $self->mason_session->photo_access_token,
);
$lightbox->move({ :image_ids => $params{image_ids}, :target_id => $params{target_id} });
}
post '/lightboxes/:lightbox_id/copy' => sub {
my $lightbox = Shutterstock::WWW::Model::Service::Customer::Lightbox->load(
lightbox_id => $params{lightbox_id},
access_token => $self->mason_session->photo_access_token,
);
$lightbox->copy({ :image_ids => $params{image_ids}, :target_id => $params{target_id} });
}
__PACKAGE__->register_routes;
1;
package Shutterstock::WWW::Controller::LightboxShow;
use Moose;
extends 'Shutterstock::WWW::Controller::Base';
with 'Shutterstock::WWW::Controller::Role::CheckMasonAutologout';
with 'Shutterstock::WWW::Controller::Role::Dispatcher';
with 'Shutterstock::WWW::Controller::Role::EnsureMasonLogin';
with 'Shutterstock::WWW::Controller::Role::GlobalPageData';
with 'Shutterstock::WWW::Controller::Role::Impersonator';
use Shutterstock::WWW::Model::Service::Customer::Lightbox;
use Shutterstock::WWW::Model::Service::Media::Image;
sub route { '/lightboxes/:lightbox_id' }
sub template { 'lightbox_show.html' }
sub get {
my ($self, $r, @dancer_params) = @_;
my %params = $r->params;
my $lightbox_id = $params{lightbox_id};
my $lightbox = Shutterstock::WWW::Model::Service::Customer::Lightbox->load(
lightbox_id => $lightbox_id,
access_token => $self->mason_session->photo_access_token,
);
return +{ lightbox => $lightbox->to_template };
}
__PACKAGE__->register_routes;
1;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment