feat: add URL shortening API endpoints to app
This commit is contained in:
@@ -2,6 +2,10 @@ package Urupam::App;
|
|||||||
|
|
||||||
use Mojo::Base 'Mojolicious';
|
use Mojo::Base 'Mojolicious';
|
||||||
use Urupam::DB;
|
use Urupam::DB;
|
||||||
|
use Urupam::URL;
|
||||||
|
use Urupam::Validation;
|
||||||
|
use Urupam::Utils;
|
||||||
|
use Urupam::API;
|
||||||
|
|
||||||
sub startup {
|
sub startup {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
@@ -13,7 +17,44 @@ sub startup {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$self->helper(
|
||||||
|
url_service => sub {
|
||||||
|
my $c = shift;
|
||||||
|
$c->stash->{url_service} ||= Urupam::URL->new( db => $c->db );
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
$self->helper(
|
||||||
|
validator => sub {
|
||||||
|
my $c = shift;
|
||||||
|
$c->stash->{validator} ||= Urupam::Validation->new;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
$self->helper(
|
||||||
|
get_error_status => sub {
|
||||||
|
my ( $c, $err ) = @_;
|
||||||
|
return Urupam::Utils::get_error_status($err);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
my $r = $self->routes;
|
my $r = $self->routes;
|
||||||
|
my $api = $r->under('/api');
|
||||||
|
$api->post('/shorten')->to(
|
||||||
|
cb => sub {
|
||||||
|
my $c = shift;
|
||||||
|
bless $c, 'Urupam::API';
|
||||||
|
$c->shorten;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
$api->get('/url')->to(
|
||||||
|
cb => sub {
|
||||||
|
my $c = shift;
|
||||||
|
bless $c, 'Urupam::API';
|
||||||
|
$c->get_url;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
$r->get('/')->to(
|
$r->get('/')->to(
|
||||||
cb => sub {
|
cb => sub {
|
||||||
my $c = shift;
|
my $c = shift;
|
||||||
|
|||||||
Reference in New Issue
Block a user