The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Data::Login::Role - Data object for login role.

SYNOPSIS

 use Data::Login::Role;

 my $obj = Data::Login::Role->new(%params);
 my $action = $obj->action;
 my $id = $obj->id;
 my $role = $obj->role;
 my $valid_from = $obj->valid_from;
 my $valid_to = $obj->valid_to;

METHODS

new

 my $obj = Data::Login::Role->new(%params);

Constructor.

  • active

    It will be removed in near future.

    Active flag. It's boolean. Default value is 1.

  • id

    Id of record. Id could be number. It's optional. Default value is undef.

  • role

    Role name. Maximal length of value is 100 characters. It's required.

  • valid_from

    It will be required in near future. Optional is because backward compatibility.

    Date and time of start of use. Must be a DateTime object. It's optional.

  • valid_to

    Date and time of end of use. An undefined value means it is in use. Must be a DateTime object. It's optional.

Returns instance of object.

active

 my $active = $obj->active;

It will be removed in near future.

Get active flag.

Returns 0/1.

id

 my $id = $obj->id;

Get login role record id.

Returns number.

role

 my $role = $obj->role;

Get role name.

Returns string.

valid_from

 my $valid_from = $obj->valid_from;

Get date and time of start of use.

Returns DateTime object.

valid_to

 my $valid_to = $obj->valid_to;

Get date and time of end of use.

Returns DateTime object or undef.

ERRORS

 new():
         Parameter 'active' must be a bool (0/1).
                 Value: %s
         Parameter 'id' must be a number.
                 Value: %s
         Parameter 'role' has length greater than '100'.
                 Value: %s
         Parameter 'role' is required.
         Parameter 'valid_from' must be a 'DateTime' object.
                 Value: %s
                 Reference: %s
         Parameter 'valid_to' must be a 'DateTime' object.
                 Value: %s
                 Reference: %s
         Parameter 'valid_to' must be older than 'valid_from' parameter.
                 Value: %s
                 Valid from: %s

EXAMPLE

 use strict;
 use warnings;

 use Data::Login::Role;

 my $obj = Data::Login::Role->new(
         'id' => 2,
         'role' => 'admin',
         'valid_from' => DateTime->new(
                 'day' => 1,
                 'month' => 1,
                 'year' => 2024,
         ),
         'valid_from' => DateTime->new(
                 'day' => 31,
                 'month' => 12,
                 'year' => 2024,
         ),
 );

 # Print out.
 print 'Id: '.$obj->id."\n";
 print 'Role: '.$obj->role."\n";
 print 'Valid from: '.$obj->valid_from->ymd."\n";
 print 'Valid to: '.$obj->valid_from->ymd."\n";

 # Output:
 # Id: 2
 # Role: admin
 # Valid from: 2024-01-01
 # Valid to: 2024-12-31

DEPENDENCIES

DateTime, Error::Pure, Mo, Mo::utils.

REPOSITORY

https://github.com/michal-josef-spacek/Data-Login

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2023-2024 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.03