cyberman/lib/cyberman/API.pm

65 lines
838 B
Perl
Raw Normal View History

2017-07-17 14:25:35 +02:00
package cyberman::API;
use Dancer2 appname => "cyberman";
use Dancer2::Plugin::Database;
use cyberman::Helper;
2017-07-17 14:25:35 +02:00
get '/api/check_availability' => sub {
2017-08-20 00:45:25 +02:00
# No auth req'd
# returns 'y' or 'n'
2017-07-17 14:25:35 +02:00
2017-08-20 00:45:25 +02:00
if (!param("name")) {
return "n";
}
2017-07-17 14:25:35 +02:00
2017-08-20 00:45:25 +02:00
if (!check_name(param "name")) {
return "n";
}
2017-08-20 00:45:25 +02:00
my $result = database->quick_select(
"domain",
{
"name" => param("name"),
}
);
2017-07-17 14:25:35 +02:00
2017-08-20 00:45:25 +02:00
if ($result) {
return "n";
} else {
return "y";
}
2017-07-17 14:25:35 +02:00
};
get '/api/get_owner_email' => sub {
return "" if auth_test("admin");
if (!param("name")) {
return "";
}
my $domain = database->quick_select(
"domain",
{
"name" => param("name"),
},
);
if (!$domain) {
return "";
};
my $owner = database->quick_select(
"user",
{
"id" => $domain->{"ownerid"},
},
);
if (!$owner) {
return "";
}
return $owner->{"email"};
};
2017-07-17 14:25:35 +02:00
true;