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()
Signature
public function runInTransaction ( Closure $fn ) : mixed