NAME
Mojolicious::Plugin::ContextAuth::DB - Main class to do the database stuff
VERSION
version 0.01
SYNOPSIS
use Mojolicious::Plugin::ContextAuth::DB;
use Mojo::File qw(path);
my $file = path(__FILE__)->sibling($$ . '.db')->to_string;
my $db = Mojolicious::Plugin::ContextAuth::DB->new(
dsn => 'sqlite:' . $file,
);
my $session_id = $db->login( 'user', 'password' );
# later
my $user = $db->user_from_session( $session_id );
ATTRIBUTES
dsn
error
dbh
token
session_expires
METHODS
login
my $session_id = $db->login( 'user', 'password' );
Returns the session id if user and password was correct.
user_from_session
my $user = $db->user_from_session( $session_id );
Returns a Mojolicious::Plugin::ContextAuth::DB::User object, if a user exists that is tied to the session id. It returns undef
if no user was found.
add
my $user = $db->add(
'user',
user_id => '1234',
username => 'username',
user_password => '123',
);
warn $db->error if !$user;
This is a proxy for the add
methods of the Mojolicious::Plugin::ContextAuth::DB::*
modules.
get
my $user = $db->get(
'user' => '1234',
);
warn $db->error if !$user;
This is a proxy for the load
methods of the Mojolicious::Plugin::ContextAuth::DB::*
modules.
update
my $updated_user = $db->update(
'user' => '1234',
username => 'username',
user_password => '123',
);
warn $db->error if !$updated_user;
Returns the object that reflects the updated object. If the object could not be updated
This is a proxy for the update
methods of the Mojolicious::Plugin::ContextAuth::DB::*
modules.
delete
my $success = $db->delete(
'user' => '1234',
);
warn $db->error if !$success;
It returns 1
on success, undef
otherwise.
This is a proxy for the add
methods of the Mojolicious::Plugin::ContextAuth::DB::*
modules.
search
clear_sessions
$db->clear_sessions();
Removes all sessions from the corbac_user_sessions
table that are expired.
object
my $obj = $db->object('user');
Returns an instance of the Mojolicious::Plugin::ContextAuth::DB::*
AUTHOR
Renee Baecker <reneeb@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2020 by Renee Baecker.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)