Link Search Menu Expand Document

class Pike\Defaults\DefaultUserRepository

Oletusimplementaatio jota Pike\Auth\Authenticator käyttää pitkäaikaiseen tiedon tallennukseen.

Synopsis

class DefaultUserRepository implements UserRepositoryInterface {

    /* Metodit */
    public createUser ( User $user ) : string
    public getUserByColumn ( string $column, string $value) : ?User
    public updateUserByUserId ( User $user, string[] $fields, string $userId ) : int
    public deleteUserByUserId ( string $userId ) : int
    public runInTransaction ( Closure $fn ) : mixed
}

Metodit

createUser()

Insertoi uuden käyttäjän lokaaliin tietokantaan.

Signature

public function createUser ( User $user ) : string

Esimerkit

$user = new \Pike\Entities\User;
$user->id = (new \Pike\Auth\Crypto)->guidv4();
$user->username = 'username';
$user->email = 'e@mail.com';
$user->accountStatus = Authenticator::ACCOUNT_STATUS_UNACTIVATED;
$user->passwordHash = (new \Pike\Auth\Crypto)->hashPass($password);
$user->role = \Pike\Auth\ACL::ROLE_AUTHOR;
$user->activationKey = (new \Pike\Auth\Crypto)->genRandomToken(32);
$user->accountCreatedAt = time();
$insertId = $userRepository->createUser($user);

getUserByColumn()

Palauttaa käyttäjän lokaalista tietokannasta, tai null.

Signature

public function getUserByColumn ( string $column, string $value) : ?User

Esimerkit

$username = 'username';
$user = $userRepository->getUserByColumn('username', $username);

updateUserByUserId()

Päivittää käyttäjän tiedot lokaaliin tietokantaan, tai palauttaa 0.

Signature

public function updateUserByUserId ( User $user, string[] $fields, string $userId ) : int

Esimerkit

$user = new \Pike\Entities\User;
$user->email = 'e@mail2.com';
$user->displayName = 'username';
$numAffectedRows = $userRepository->updateUserByUserId($user, ['email', 'displayName'], '<some-id>');

deleteUserByUserId()

Poistaa käyttäjän lokaalista tietokannasta, tai palauttaa 0.

Signature

public function deleteUserByUserId ( string $userId ) : int

Esimerkit

$numAffectedRows = $userRepository->deleteUserByUserId('<some-id>');

runInTransaction()

Ks. Db->runInTransaction().

Signature

public function runInTransaction ( Closure $fn ) : mixed

Copyright © 2019-2021 ut4