2 Commits
Author SHA1 Message Date
Dave Mc Nicoll c0b750d63c - WIP on attributes 2023-01-26 18:47:06 +00:00
mcndave c0f54ef12f - WIP on attributes ; on testing phase 2023-01-26 13:35:06 +00:00
2 changed files with 24 additions and 54 deletions

No files matched your search

+21 -49
View File
@@ -4,88 +4,60 @@ namespace Ulmus\User\Entity;
use Ulmus\Entity\Field\Datetime; use Ulmus\Entity\Field\Datetime;
use Ulmus\Attribute\Property\Field;
class User { class User {
/** #[Field\Id(readonly: true)]
* @Id('readonly' => true)
*/
public int $id; public int $id;
/** #[Field(length: 35, name: "first_name")]
* @Field("length" => 35, "name" => "first_name")
*/
public ? string $firstName; public ? string $firstName;
/** #[Field(length: 35, name: "last_name")]
* @Field("length" => 35, "name" => "last_name")
*/
public ? string $lastName; public ? string $lastName;
/** #[Field(length: 150)]
* @Field("length" => 255)
*/
public string $email; public string $email;
/** #[Field(length: 150)]
* @Field("length" => 150)
*/
public ? string $address; public ? string $address;
/** #[Field(length: 15, name: "zip_code")]
* @Field("length" => 15, 'name' => "zip_code")
*/
public ? string $zipCode; public ? string $zipCode;
/** #[Field(length: 45)]
* @Field("length" => 45)
*/
public ? string $province; public ? string $province;
/** #[Field(length: 3)]
* @Field("length" => 3)
*/
public ? string $country; public ? string $country;
/** #[Field(length: 15)]
* @Field("length" => 15)
*/
public ? string $phone; public ? string $phone;
/** #[Field(length: 15)]
* @Field("length" => 15)
*/
public ? string $ext; public ? string $ext;
/** #[Field(length: 15)]
* @Field("length" => 15)
*/
public ? string $mobile; public ? string $mobile;
/** #[Field(length: 255)]
* @Field("length" => 255)
*/
public ? string $username; public ? string $username;
/** #[Field]
* @Field
*/
public string $password; public string $password;
/** #[Field\UpdatedAt(readonly: true, name: "updated_at")]
* @UpdatedAt('readonly' => true, 'name' => "updated_at")
*/
public ? Datetime $updatedAt; public ? Datetime $updatedAt;
/** #[Field\CreatedAt(readonly: true, name: "created_at")]
* @CreatedAt('readonly' => true, 'name' => "created_at")
*/
public Datetime $createdAt; public Datetime $createdAt;
public bool $logged = false; public bool $logged = false;
public function __toString() : string public function __toString() : string
{ {
return "{$this->firstName} {$this->lastName}"; return $this->fullname();
} }
public function setPassword($password) : self public function setPassword($password) : self
@@ -95,16 +67,16 @@ class User {
return $this->hashPassword(); return $this->hashPassword();
} }
public function hashPassword(? string $password = null) : self public function hashPassword() : self
{ {
$this->password = password_hash($password ?: $this->password, PASSWORD_DEFAULT); $this->password = password_hash($this->password, PASSWORD_DEFAULT);
return $this; return $this;
} }
public function verifyPassword(string $password) : bool public function verifyPassword(string $password) : bool
{ {
return password_verify($password, $this->password); return password_verify($password, $this->password );
} }
public function fullname() : string public function fullname() : string
+3 -5
View File
@@ -35,8 +35,8 @@ class Authenticate {
public function rememberMe(\Ulmus\Repository $repository) : ? User public function rememberMe(\Ulmus\Repository $repository) : ? User
{ {
$logUser = function(? int $id) use ($repository) { $logUser = function(int $id) use ($repository) {
if ( $id === null || null === ( $user = $repository->loadFromPk($id) ) ) { if ( null === ( $user = $repository->loadFromPk($id) ) ) {
throw new \Exception("User not found."); throw new \Exception("User not found.");
} }
@@ -123,9 +123,7 @@ class Authenticate {
$this->cookie->delete('user.id'); $this->cookie->delete('user.id');
} }
if (isset($this->user)) { $this->user->logged = false;
$this->user->logged = false;
}
return $this; return $this;
} }