Allow deleting tokens

This commit is contained in:
Citlali del Rey 2022-11-09 16:36:38 -08:00
parent 3528837ab4
commit db5898c07f
Signed by: nullobsi
GPG Key ID: 933A1F44222C2634
3 changed files with 23 additions and 1 deletions

View File

@ -78,6 +78,7 @@ sub startup($self) {
$r->get('/my/tokens/generate')->to('Interface#gen_token_get');
$r->post('/my/tokens/generate')->to('Interface#gen_token_post');
$r->get('/my/tokens/#id/delete')->to('Interface#del_token');
}
1;

View File

@ -82,4 +82,16 @@ sub gen_token_get($c) {
return $c->render('interface/generateToken');
}
sub del_token($c) {
my $uid = $c->session->{uid};
if (!defined $uid) {
return $c->redirect_to("/login");
}
return $c->users->del_token($uid, $c->param('id'))->then(sub {
$c->flash(msg => 'Token deleted.');
return $c->redirect_to('/my/tokens')
});
}
1;

View File

@ -39,6 +39,16 @@ sub gen_token($self, $uid, $app_name) {
});
}
sub del_token($self, $uid, $id) {
return $self->pg->db->delete_p(
'access_token',
{
uid => $uid,
id => $id,
}
);
}
sub list_tokens($self, $uid) {
return $self->pg->db->select_p('access_token', ['uid', 'app_name', 'id'], {
uid => $uid,
@ -58,5 +68,4 @@ sub getOrMake($self, $username) {
});
}
1;