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

KiokuX::User::ID - KiokuDB::Role::ID integration for user objects

SYNOPSIS

with qw(KiokuX::User::ID);

DESCRIPTION

This role provides an id attribute for user objects, and self registers in the KiokuDB directory with the object ID user:$user_id.

Using this role implies that user IDs are immutable.

METHODS

kiokudb_object_id

Implements the required method from KiokuX::User::ID by prefixing the id attribute with user:.

id_for_user $username

Mangles the username into an ID by prefixing the string user:.

Can be overriden to provide custom namespacing.

Can also be used as a class method from the model:

sub get_identity_by_username {
    my ( $self, $username ) = @_;

    my $object_id = MyFoo::Schema::Identity::Username->id_for_user($username);

    return $self->lookup($object_id);
}

ATTRIBUTES

id

This is the user's ID in the system. It is not the object ID, but the object ID is derived from it.