diff options
author | Harald Eilertsen <haraldei@anduin.net> | 2024-10-30 12:09:31 +0100 |
---|---|---|
committer | Harald Eilertsen <haraldei@anduin.net> | 2025-06-29 13:20:00 +0200 |
commit | 6336853b35b257b1004a6a0d625e56b113fd1503 (patch) | |
tree | b6c95521f6362f214e9f946b025942201b4f0c45 | |
parent | 53634cc1f27e9ed0711b50f9e03745d2949efb14 (diff) | |
download | volse-hubzilla-move-account-processing-to-class.tar.gz volse-hubzilla-move-account-processing-to-class.tar.bz2 volse-hubzilla-move-account-processing-to-class.zip |
Model\Account: Specify types for properties.move-account-processing-to-class
Adds a layer of type safety at the model level.
-rw-r--r-- | Zotlabs/Model/Account.php | 39 | ||||
-rw-r--r-- | tests/unit/Model/AccountTest.php | 9 |
2 files changed, 41 insertions, 7 deletions
diff --git a/Zotlabs/Model/Account.php b/Zotlabs/Model/Account.php index 2b29fdff4..0159149d9 100644 --- a/Zotlabs/Model/Account.php +++ b/Zotlabs/Model/Account.php @@ -14,7 +14,32 @@ use DateTimeImmutable; use Zotlabs\Lib\Exceptions\AccountNotFoundException; use Zotlabs\Lib\Exceptions\UnexpectedDatabaseError; +/** + * Class for interacting with accounts. + * + * @SuppressWarnings(PHPMD.TooManyFields) + * @SuppressWarnings(PHPMD.LongVariable) + */ class Account { + private int $account_id = 0; + private int $account_parent = 0; + private int $account_default_channel = 0; + private string $account_salt = ''; + private string $account_password = ''; + private string $account_email = ''; + private string $account_external = ''; + private string $account_language = ''; + private string $account_created = ''; + private string $account_lastlog = ''; + private int $account_flags = 0; + private int $account_roles = 0; + private string $account_reset = ''; + private string $account_expires = ''; + private string $account_expire_notified = ''; + private string $account_service_class = ''; + private int $account_level = 0; + private string $account_password_changed = ''; + function __construct(array $attributes) { foreach($attributes as $key => $val) { $this->$key = $val; @@ -180,9 +205,9 @@ class Account { SQL; $result = q($sql, - intval($this->account_id), - intval($this->account_parent), - intval($this->account_default_channel), + $this->account_id, + $this->account_parent, + $this->account_default_channel, dbesc($this->account_salt), dbesc($this->account_password), dbesc($this->account_email), @@ -190,15 +215,15 @@ class Account { dbesc($this->account_language), dbesc($this->account_created), dbesc($this->account_lastlog), - intval($this->account_flags), - intval($this->account_roles), + $this->account_flags, + $this->account_roles, dbesc($this->account_reset), dbesc($this->account_expires), dbesc($this->account_expire_notified), dbesc($this->account_service_class), - intval($this->account_level), + $this->account_level, dbesc($this->account_password_changed), - intval($this->account_id) + $this->account_id ); if ($result === false) { diff --git a/tests/unit/Model/AccountTest.php b/tests/unit/Model/AccountTest.php index 1da1ab87b..f9b126fa0 100644 --- a/tests/unit/Model/AccountTest.php +++ b/tests/unit/Model/AccountTest.php @@ -37,4 +37,13 @@ class AccountTest extends UnitTestCase { public function test_get_total_number_of_accounts(): void { $this->assertEquals(count($this->fixtures['account']), Account::count()); } + + /** + * @SuppressWarnings(PHPMD.UnusedLocalVariable) + */ + public function test_construct_account_with_invalid_id(): void { + $this->expectException(\TypeError::class); + + $account = new Account(['account_id' => 'neverwhere']); + } } |