Projekt

Allgemein

Profil

Herunterladen (696 Bytes) Statistiken
| Zweig: | Markierung: | Revision:
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 },
],
for_update => 1);

return $token_obj;
}

1;
(106-106/108)