kivitendo/SL/DB/Manager/ValidityToken.pm @ 68748667
8b4dd266 | Moritz Bunkus | package SL::DB::Manager::ValidityToken;
|
||
use strict;
|
||||
use parent qw(SL::DB::Helper::Manager);
|
||||
sub object_class { 'SL::DB::ValidityToken' }
|
||||
use Carp;
|
||||
__PACKAGE__->make_manager_methods;
|
||||
sub cleanup {
|
||||
my ($class) = @_;
|
||||
$class->delete_all(where => [ valid_until => { lt => DateTime->now_local }]);
|
||||
}
|
||||
sub fetch_valid_token {
|
||||
my ($class, %params) = @_;
|
||||
croak "missing required parameter 'scope'" if !$params{scope};
|
||||
return undef if !$params{token};
|
||||
my $token_obj = $class->get_first(
|
||||
where => [
|
||||
scope => $params{scope},
|
||||
token => $params{token},
|
||||
valid_until => { ge => DateTime->now_local },
|
||||
587efe1a | Bernd Bleßmann | ],
|
||
for_update => 1);
|
||||
8b4dd266 | Moritz Bunkus | |||
return $token_obj;
|
||||
}
|
||||
1;
|