Add device token management and server connection detection
This commit is contained in:
parent
0d4202562f
commit
9d4c736d95
14 changed files with 4990 additions and 7 deletions
|
@ -137,11 +137,13 @@ sub startup {
|
|||
# Always available api routes
|
||||
my $api_public = $api_public_get->under('/')->to('api-auth#check_json');
|
||||
|
||||
$api_public->post('/test-connection')->to('api-auth#test_connection');
|
||||
$api_public->post('/login')->to('api-auth#post_login');
|
||||
$api_public->post('/register')->to('api-register#post_register');
|
||||
$api_public->post('/logout')->to('api-auth#post_logout');
|
||||
$api_public->post('/feedback')->to('api-feedback#post_feedback');
|
||||
$api_public->post('/add-device-token')->to('api-devices#add_token');
|
||||
$api_public->post('/get-device-tokens')->to('api-devices#get_tokens');
|
||||
$api_public->post('/send-message')->to('api-sendmessage#post_message');
|
||||
|
||||
# Private, must be authenticated api routes
|
||||
|
|
|
@ -60,6 +60,18 @@ sub auth {
|
|||
return 0;
|
||||
}
|
||||
|
||||
sub test_connection {
|
||||
my $c = shift;
|
||||
|
||||
return $c->render(
|
||||
json => {
|
||||
success => Mojo::JSON->true,
|
||||
message => 'Database connection successful',
|
||||
},
|
||||
status => 200,
|
||||
);
|
||||
}
|
||||
|
||||
sub post_login {
|
||||
my $c = shift;
|
||||
|
||||
|
|
|
@ -10,10 +10,12 @@ use Carp;
|
|||
has error_messages => sub {
|
||||
return {
|
||||
devicetoken => {
|
||||
required => { message => 'Device token is required or not registered', status => 400 },
|
||||
required => { message => 'Device token is required', status => 400 },
|
||||
in_resultset => { message => 'Device token not found', status => 400 },
|
||||
},
|
||||
sender => {
|
||||
required => { message => 'Sender name is required', status => 400 },
|
||||
in_resultset => { message => 'Sender org not found', status => 400 },
|
||||
},
|
||||
messagetext => {
|
||||
required => { message => 'Message is required', status => 400 },
|
||||
|
@ -70,10 +72,8 @@ sub post_message {
|
|||
my $validation = $c->validation;
|
||||
$validation->input( $c->stash->{api_json} );
|
||||
|
||||
my $user_rs = $c->schema->resultset('User');
|
||||
|
||||
$validation->required('devicetoken');
|
||||
$validation->required('sender');
|
||||
$validation->required('devicetoken')->in_resultset('token', $c->schema->resultset('DeviceToken'));
|
||||
$validation->required('sender')->in_resultset('name', $c->schema->resultset('Organisation'));
|
||||
$validation->required('messagetext');
|
||||
|
||||
return $c->api_validation_error if $validation->has_error;
|
||||
|
|
|
@ -6,7 +6,7 @@ use warnings;
|
|||
|
||||
use base 'DBIx::Class::Schema';
|
||||
|
||||
our $VERSION = 31;
|
||||
our $VERSION = 32;
|
||||
|
||||
__PACKAGE__->load_namespaces;
|
||||
|
||||
|
|
Reference in a new issue