store password hash in json user repo
This commit is contained in:
parent
a52bb18b13
commit
ada29ea957
1 changed files with 14 additions and 10 deletions
|
|
@ -22,6 +22,7 @@ class JsonUserRepository implements UserRepository
|
||||||
$users[] = [
|
$users[] = [
|
||||||
'id' => $id,
|
'id' => $id,
|
||||||
'email' => (string) $dto->email,
|
'email' => (string) $dto->email,
|
||||||
|
'passwordHash' => $dto->passwordHash,
|
||||||
'isAdmin' => $dto->isAdmin,
|
'isAdmin' => $dto->isAdmin,
|
||||||
];
|
];
|
||||||
$this->writeUsers($users);
|
$this->writeUsers($users);
|
||||||
|
|
@ -29,6 +30,7 @@ class JsonUserRepository implements UserRepository
|
||||||
return new User(
|
return new User(
|
||||||
id: $id,
|
id: $id,
|
||||||
email: $dto->email,
|
email: $dto->email,
|
||||||
|
passwordHash: $dto->passwordHash,
|
||||||
isAdmin: $dto->isAdmin,
|
isAdmin: $dto->isAdmin,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -39,11 +41,7 @@ class JsonUserRepository implements UserRepository
|
||||||
|
|
||||||
foreach ($users as $data) {
|
foreach ($users as $data) {
|
||||||
if ($data['id'] === $id) {
|
if ($data['id'] === $id) {
|
||||||
return new User(
|
return $this->hydrate($data);
|
||||||
id: $data['id'],
|
|
||||||
email: new EmailAddress($data['email']),
|
|
||||||
isAdmin: $data['isAdmin'] ?? false,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,17 +54,23 @@ class JsonUserRepository implements UserRepository
|
||||||
|
|
||||||
foreach ($users as $data) {
|
foreach ($users as $data) {
|
||||||
if ($data['email'] === (string) $email) {
|
if ($data['email'] === (string) $email) {
|
||||||
return new User(
|
return $this->hydrate($data);
|
||||||
id: $data['id'],
|
|
||||||
email: new EmailAddress($data['email']),
|
|
||||||
isAdmin: $data['isAdmin'] ?? false,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function hydrate(array $data): User
|
||||||
|
{
|
||||||
|
return new User(
|
||||||
|
id: $data['id'],
|
||||||
|
email: new EmailAddress($data['email']),
|
||||||
|
passwordHash: $data['passwordHash'] ?? '',
|
||||||
|
isAdmin: $data['isAdmin'] ?? false,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
private function readUsers(): array
|
private function readUsers(): array
|
||||||
{
|
{
|
||||||
if (!file_exists($this->filePath)) {
|
if (!file_exists($this->filePath)) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue