diff --git a/app/Mail/MonitoredSecurityGroupNotificationEmail.php b/app/Mail/MonitoredSecurityGroupNotificationEmail.php index 9d04bd7b..8411df6e 100644 --- a/app/Mail/MonitoredSecurityGroupNotificationEmail.php +++ b/app/Mail/MonitoredSecurityGroupNotificationEmail.php @@ -69,6 +69,13 @@ final class MonitoredSecurityGroupNotificationEmail extends Mailable */ public $email; + /** + * The subject of the message. + * + * @var string + */ + public $subject; + /** * @param string $email * @param string $action @@ -121,7 +128,7 @@ public function build() { $this->subject = sprintf ( - "[%s] User %s (%s) was %s from group %s (%s)" + "[%s] Monitored Security Groups - User %s (%s) has been %s - Group %s (%s)" ,Config::get('app.app_name') ,$this->user_name ,$this->user_email diff --git a/app/Models/BannedIP.php b/app/Models/BannedIP.php index b0f38ec7..a1e37702 100644 --- a/app/Models/BannedIP.php +++ b/app/Models/BannedIP.php @@ -16,36 +16,35 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineBannedIPRepository") - * @ORM\Table(name="banned_ips") - * Class BannedIP * @package Models */ +#[ORM\Table(name: 'banned_ips')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineBannedIPRepository::class)] class BannedIP extends BaseEntity { /** - * @ORM\Column(name="exception_type", type="string") * @var string */ + #[ORM\Column(name: 'exception_type', type: 'string')] private $exception_type; /** - * @ORM\Column(name="ip", type="string") * @var string */ + #[ORM\Column(name: 'ip', type: 'string')] private $ip; /** - * @ORM\Column(name="hits", type="integer") * @var int */ + #[ORM\Column(name: 'hits', type: 'integer')] private $hits; /** - * @ORM\ManyToOne(targetEntity="Auth\User") - * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class)] private $user; /** diff --git a/app/Models/OAuth2/AccessToken.php b/app/Models/OAuth2/AccessToken.php index ad0d1fb7..57bc01da 100644 --- a/app/Models/OAuth2/AccessToken.php +++ b/app/Models/OAuth2/AccessToken.php @@ -19,77 +19,76 @@ use Illuminate\Support\Facades\Log; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineAccessTokenRepository") - * @ORM\Table(name="oauth2_access_token") - * @ORM\Cache("NONSTRICT_READ_WRITE") - * Class AccessToken * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_access_token')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineAccessTokenRepository::class)] +#[ORM\Cache('NONSTRICT_READ_WRITE')] // Class AccessToken class AccessToken extends BaseEntity { /** - * @ORM\Column(name="from_ip", type="string") * @var string */ + #[ORM\Column(name: 'from_ip', type: 'string')] private $from_ip; /** - * @ORM\Column(name="value", type="string") * @var string */ + #[ORM\Column(name: 'value', type: 'string')] private $value; /** - * @ORM\Column(name="associated_authorization_code", type="string", nullable=true) * @var string */ + #[ORM\Column(name: 'associated_authorization_code', type: 'string', nullable: true)] private $associated_authorization_code; /** - * @ORM\Column(name="lifetime", type="integer") * @var int */ + #[ORM\Column(name: 'lifetime', type: 'integer')] private $lifetime; /** - * @ORM\Column(name="scope", type="string") * @var string */ + #[ORM\Column(name: 'scope', type: 'string')] private $scope; /** - * @ORM\Column(name="audience", type="string") * @var string */ + #[ORM\Column(name: 'audience', type: 'string')] private $audience; /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\RefreshToken", inversedBy="access_tokens", cascade={"persist"}) - * @ORM\JoinColumn(name="refresh_token_id", referencedColumnName="id", nullable=true) * @var RefreshToken */ + #[ORM\JoinColumn(name: 'refresh_token_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\RefreshToken::class, inversedBy: 'access_tokens', cascade: ['persist'])] private $refresh_token; /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\Client", inversedBy="access_tokens", cascade={"persist"}) - * @ORM\JoinColumn(name="client_id", referencedColumnName="id", nullable=true) * @var Client */ + #[ORM\JoinColumn(name: 'client_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\Client::class, inversedBy: 'access_tokens', cascade: ['persist'])] private $client; /** - * @ORM\ManyToOne(targetEntity="Auth\User", inversedBy="access_tokens", cascade={"persist"}) - * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true) * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, inversedBy: 'access_tokens', cascade: ['persist'])] private $owner; private $friendly_scopes; /** - * @ORM\Column(name="device_info", type="string") * @var string */ + #[ORM\Column(name: 'device_info', type: 'string')] private $device_info; diff --git a/app/Models/OAuth2/Api.php b/app/Models/OAuth2/Api.php index 2fc05201..7ab5e202 100644 --- a/app/Models/OAuth2/Api.php +++ b/app/Models/OAuth2/Api.php @@ -15,50 +15,49 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineApiRepository") - * @ORM\Table(name="oauth2_api") - * Class Api * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_api')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineApiRepository::class)] class Api extends BaseEntity { /** - * @ORM\Column(name="name", type="string") * @var string */ + #[ORM\Column(name: 'name', type: 'string')] private $name; /** - * @ORM\Column(name="description", type="string") * @var string */ + #[ORM\Column(name: 'description', type: 'string')] private $description; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] private $active; /** - * @ORM\OneToMany(targetEntity="ApiScope", mappedBy="api", cascade={"persist"}, orphanRemoval=true) * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \ApiScope::class, mappedBy: 'api', cascade: ['persist'], orphanRemoval: true)] private $scopes; /** - * @ORM\OneToMany(targetEntity="ApiEndpoint", mappedBy="api", cascade={"persist"},orphanRemoval=true) * @var ArrayCollection * */ + #[ORM\OneToMany(targetEntity: \ApiEndpoint::class, mappedBy: 'api', cascade: ['persist'], orphanRemoval: true)] private $endpoints; /** - * @ORM\ManyToOne(targetEntity="ResourceServer", inversedBy="apis", cascade={"persist"}) - * @ORM\JoinColumn(name="resource_server_id", referencedColumnName="id") * @var ResourceServer */ + #[ORM\JoinColumn(name: 'resource_server_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \ResourceServer::class, inversedBy: 'apis', cascade: ['persist'])] private $resource_server; /** diff --git a/app/Models/OAuth2/ApiEndpoint.php b/app/Models/OAuth2/ApiEndpoint.php index 519ef438..07ce50dc 100644 --- a/app/Models/OAuth2/ApiEndpoint.php +++ b/app/Models/OAuth2/ApiEndpoint.php @@ -15,85 +15,83 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineApiEndpointRepository") - * @ORM\Table(name="oauth2_api_endpoint") - * Class ApiEndpoint * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_api_endpoint')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineApiEndpointRepository::class)] class ApiEndpoint extends BaseEntity { /** * attributes */ /** - * @ORM\Column(name="name", type="string") * @var string */ + #[ORM\Column(name: 'name', type: 'string')] private $name; /** - * @ORM\Column(name="description", type="string") * @var string */ + #[ORM\Column(name: 'description', type: 'string')] private $description; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] private $active; /** - * @ORM\Column(name="allow_cors", type="boolean") * @var bool */ + #[ORM\Column(name: 'allow_cors', type: 'boolean')] private $allow_cors; /** - * @ORM\Column(name="allow_credentials", type="boolean") * @var bool */ + #[ORM\Column(name: 'allow_credentials', type: 'boolean')] private $allow_credentials; /** - * @ORM\Column(name="route", type="string") * @var string */ + #[ORM\Column(name: 'route', type: 'string')] private $route; /** - * @ORM\Column(name="http_method", type="string") * @var string */ + #[ORM\Column(name: 'http_method', type: 'string')] private $http_method; /** - * @ORM\Column(name="rate_limit", type="integer") * @var int */ + #[ORM\Column(name: 'rate_limit', type: 'integer')] private $rate_limit; /** - * @ORM\Column(name="rate_limit_decay", type="integer") * @var int */ + #[ORM\Column(name: 'rate_limit_decay', type: 'integer')] private $rate_limit_decay; /** - * @ORM\ManyToOne(targetEntity="Api", inversedBy="endpoints", cascade={"persist"}) - * @ORM\JoinColumn(name="api_id", referencedColumnName="id") * @var Api */ + #[ORM\JoinColumn(name: 'api_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Api::class, inversedBy: 'endpoints', cascade: ['persist'])] private $api; /** - * @ORM\ManyToMany(targetEntity="ApiScope") - * @ORM\JoinTable(name="oauth2_api_endpoint_api_scope", - * joinColumns={@ORM\JoinColumn(name="api_endpoint_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="scope_id", referencedColumnName="id")} - * ) * @var ApiScope[] */ + #[ORM\JoinTable(name: 'oauth2_api_endpoint_api_scope')] + #[ORM\JoinColumn(name: 'api_endpoint_id', referencedColumnName: 'id')] + #[ORM\InverseJoinColumn(name: 'scope_id', referencedColumnName: 'id')] + #[ORM\ManyToMany(targetEntity: \ApiScope::class)] private $scopes; /** diff --git a/app/Models/OAuth2/ApiScope.php b/app/Models/OAuth2/ApiScope.php index 283510ec..03ac9634 100644 --- a/app/Models/OAuth2/ApiScope.php +++ b/app/Models/OAuth2/ApiScope.php @@ -15,66 +15,63 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineApiScopeRepository") - * @ORM\Table(name="oauth2_api_scope") - * Class ApiScope * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_api_scope')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineApiScopeRepository::class)] class ApiScope extends BaseEntity { /** - * @ORM\Column(name="name", type="string") * @var string */ + #[ORM\Column(name: 'name', type: 'string')] private $name; /** - * @ORM\Column(name="description", type="string") * @var string */ + #[ORM\Column(name: 'description', type: 'string')] private $description; /** - * @ORM\Column(name="short_description", type="string") * @var string */ + #[ORM\Column(name: 'short_description', type: 'string')] private $short_description; /** - * @ORM\Column(name="`active`", type="boolean") * @var bool */ + #[ORM\Column(name: '`active`', type: 'boolean')] private $active; /** - * @ORM\Column(name="`is_default`", type="boolean") * @var bool */ + #[ORM\Column(name: '`is_default`', type: 'boolean')] private $default; /** - * @ORM\Column(name="`is_system`", type="boolean") * @var bool */ + #[ORM\Column(name: '`is_system`', type: 'boolean')] private $is_system; /** - * @ORM\Column(name="`assigned_by_groups`", type="boolean") * @var bool */ + #[ORM\Column(name: '`assigned_by_groups`', type: 'boolean')] private $assigned_by_groups; - /** - * @ORM\ManyToMany(targetEntity="Models\OAuth2\ApiScopeGroup", mappedBy="scopes") - */ + #[ORM\ManyToMany(targetEntity: \Models\OAuth2\ApiScopeGroup::class, mappedBy: 'scopes')] private $scope_groups; /** - * @ORM\ManyToOne(targetEntity="Api", inversedBy="scopes", cascade={"persist"}) - * @ORM\JoinColumn(name="api_id", referencedColumnName="id") * @var Api */ + #[ORM\JoinColumn(name: 'api_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Api::class, inversedBy: 'scopes', cascade: ['persist'])] private $api; diff --git a/app/Models/OAuth2/ApiScopeGroup.php b/app/Models/OAuth2/ApiScopeGroup.php index fbd2b462..2db1b596 100644 --- a/app/Models/OAuth2/ApiScopeGroup.php +++ b/app/Models/OAuth2/ApiScopeGroup.php @@ -18,49 +18,46 @@ use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Config; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineApiScopeGroupRepository") - * @ORM\Table(name="oauth2_api_scope_group") - * Class ApiScope * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_api_scope_group')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineApiScopeGroupRepository::class)] class ApiScopeGroup extends BaseEntity { /** - * @ORM\Column(name="name", type="string") * @var string */ + #[ORM\Column(name: 'name', type: 'string')] private $name; /** - * @ORM\Column(name="description", type="string") * @var string */ + #[ORM\Column(name: 'description', type: 'string')] private $description; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] private $active; /** - * @ORM\ManyToMany(targetEntity="ApiScope", cascade={"persist"}, inversedBy="scope_groups") - * @ORM\JoinTable(name="oauth2_api_scope_group_scope", - * joinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="scope_id", referencedColumnName="id")} - * ) * @var ApiScope[] */ + #[ORM\JoinTable(name: 'oauth2_api_scope_group_scope')] + #[ORM\JoinColumn(name: 'group_id', referencedColumnName: 'id')] + #[ORM\InverseJoinColumn(name: 'scope_id', referencedColumnName: 'id')] + #[ORM\ManyToMany(targetEntity: \ApiScope::class, cascade: ['persist'], inversedBy: 'scope_groups')] private $scopes; /** - * @ORM\ManyToMany(targetEntity="Auth\User", cascade={"persist"}, inversedBy="scope_groups") - * @ORM\JoinTable(name="oauth2_api_scope_group_users", - * joinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")} - * ) * @var User[] */ + #[ORM\JoinTable(name: 'oauth2_api_scope_group_users')] + #[ORM\JoinColumn(name: 'group_id', referencedColumnName: 'id')] + #[ORM\InverseJoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToMany(targetEntity: \Auth\User::class, cascade: ['persist'], inversedBy: 'scope_groups')] private $users; /** diff --git a/app/Models/OAuth2/AsymmetricKey.php b/app/Models/OAuth2/AsymmetricKey.php index a9e1ced6..58c2963d 100644 --- a/app/Models/OAuth2/AsymmetricKey.php +++ b/app/Models/OAuth2/AsymmetricKey.php @@ -21,69 +21,68 @@ use DateTime; use Exception; /** - * @ORM\Entity - * @ORM\InheritanceType("SINGLE_TABLE") - * @ORM\Table(name="oauth2_asymmetric_keys") - * @ORM\DiscriminatorColumn(name="class_name", type="string") - * @ORM\DiscriminatorMap({"ClientPublicKey" = "ClientPublicKey", "ServerPrivateKey" = "ServerPrivateKey"}) - * Class AsymmetricKey * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_asymmetric_keys')] +#[ORM\Entity] +#[ORM\InheritanceType('SINGLE_TABLE')] +#[ORM\DiscriminatorColumn(name: 'class_name', type: 'string')] +#[ORM\DiscriminatorMap(['ClientPublicKey' => 'ClientPublicKey', 'ServerPrivateKey' => 'ServerPrivateKey'])] // Class AsymmetricKey abstract class AsymmetricKey extends BaseEntity implements IAsymmetricKey { /** - * @ORM\Column(name="kid", type="string") * @var string */ + #[ORM\Column(name: 'kid', type: 'string')] protected $kid; /** - * @ORM\Column(name="pem_content", type="string") * @var string */ + #[ORM\Column(name: 'pem_content', type: 'string')] protected $pem_content; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] protected $active; /** - * @ORM\Column(name="`usage`", type="string") * @var string */ + #[ORM\Column(name: '`usage`', type: 'string')] protected $usage; /** - * @ORM\Column(name="`type`", type="string") * @var string */ + #[ORM\Column(name: '`type`', type: 'string')] protected $type; /** - * @ORM\Column(name="`alg`", type="string") * @var string */ + #[ORM\Column(name: '`alg`', type: 'string')] protected $alg; /** - * @ORM\Column(name="last_use", type="datetime") * @var DateTime */ + #[ORM\Column(name: 'last_use', type: 'datetime')] protected $last_use; /** - * @ORM\Column(name="valid_from", type="datetime") * @var DateTime */ + #[ORM\Column(name: 'valid_from', type: 'datetime')] protected $valid_from; /** - * @ORM\Column(name="valid_to", type="datetime") * @var DateTime */ + #[ORM\Column(name: 'valid_to', type: 'datetime')] protected $valid_to; /** diff --git a/app/Models/OAuth2/Client.php b/app/Models/OAuth2/Client.php index 6013b994..5784516b 100644 --- a/app/Models/OAuth2/Client.php +++ b/app/Models/OAuth2/Client.php @@ -36,365 +36,362 @@ use URL\Normalizer; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineOAuth2ClientRepository") - * @ORM\Table(name="oauth2_client") - * @ORM\Cache("NONSTRICT_READ_WRITE") - * Class Client * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_client')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineOAuth2ClientRepository::class)] +#[ORM\Cache('NONSTRICT_READ_WRITE')] // Class Client class Client extends BaseEntity implements IClient { /** - * @ORM\Column(name="app_name", type="string") * @var string */ + #[ORM\Column(name: 'app_name', type: 'string')] private $app_name; /** - * @ORM\Column(name="app_description", type="string") * @var string */ + #[ORM\Column(name: 'app_description', type: 'string')] private $app_description; /** - * @ORM\Column(name="app_logo", type="string") * @var string */ + #[ORM\Column(name: 'app_logo', type: 'string')] private $app_logo; /** - * @ORM\Column(name="client_id", type="string") * @var string */ + #[ORM\Column(name: 'client_id', type: 'string')] private $client_id; /** - * @ORM\Column(name="client_secret", type="string") * @var string */ + #[ORM\Column(name: 'client_secret', type: 'string')] private $client_secret; /** - * @ORM\Column(name="client_type", type="string") * @var string * enum('PUBLIC', 'CONFIDENTIAL') default 'CONFIDENTIAL' */ + #[ORM\Column(name: 'client_type', type: 'string')] private $client_type; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] private $active; /** - * @ORM\Column(name="pkce_enabled", type="boolean") * @var bool */ + #[ORM\Column(name: 'pkce_enabled', type: 'boolean')] private $pkce_enabled; /** - * @ORM\Column(name="otp_enabled", type="boolean") * @var bool */ + #[ORM\Column(name: 'otp_enabled', type: 'boolean')] private $otp_enabled; /** - * @ORM\Column(name="otp_length", type="integer") * @var int */ + #[ORM\Column(name: 'otp_length', type: 'integer')] private $otp_length; /** - * @ORM\Column(name="otp_lifetime", type="integer") * @var int */ + #[ORM\Column(name: 'otp_lifetime', type: 'integer')] private $otp_lifetime; /** - * @ORM\Column(name="locked", type="boolean") * @var bool */ + #[ORM\Column(name: 'locked', type: 'boolean')] private $locked; /** - * @ORM\Column(name="max_auth_codes_issuance_qty", type="integer") * @var int */ + #[ORM\Column(name: 'max_auth_codes_issuance_qty', type: 'integer')] private $max_auth_codes_issuance_qty; /** - * @ORM\Column(name="max_access_token_issuance_qty", type="integer") * @var int */ + #[ORM\Column(name: 'max_access_token_issuance_qty', type: 'integer')] private $max_access_token_issuance_qty; /** - * @ORM\Column(name="max_access_token_issuance_basis", type="integer") * @var int */ + #[ORM\Column(name: 'max_access_token_issuance_basis', type: 'integer')] private $max_access_token_issuance_basis; /** - * @ORM\Column(name="max_auth_codes_issuance_basis", type="integer") * @var int */ + #[ORM\Column(name: 'max_auth_codes_issuance_basis', type: 'integer')] private $max_auth_codes_issuance_basis; /** - * @ORM\Column(name="max_refresh_token_issuance_qty", type="integer") * @var int */ + #[ORM\Column(name: 'max_refresh_token_issuance_qty', type: 'integer')] private $max_refresh_token_issuance_qty; /** - * @ORM\Column(name="max_refresh_token_issuance_basis", type="integer") * @var int */ + #[ORM\Column(name: 'max_refresh_token_issuance_basis', type: 'integer')] private $max_refresh_token_issuance_basis; /** - * @ORM\Column(name="use_refresh_token", type="boolean") * @var bool */ + #[ORM\Column(name: 'use_refresh_token', type: 'boolean')] private $use_refresh_token; /** - * @ORM\Column(name="rotate_refresh_token", type="boolean") * @var bool */ + #[ORM\Column(name: 'rotate_refresh_token', type: 'boolean')] private $rotate_refresh_token; /** - * @ORM\Column(name="website", type="string") * @var string */ + #[ORM\Column(name: 'website', type: 'string')] private $website; /** - * @ORM\Column(name="application_type", type="string") * @var string * enum('WEB_APPLICATION', 'JS_CLIENT', 'SERVICE', 'NATIVE') default 'WEB_APPLICATION' */ + #[ORM\Column(name: 'application_type', type: 'string')] private $application_type; /** - * @ORM\Column(name="client_secret_expires_at", type="datetime") * @var DateTime */ + #[ORM\Column(name: 'client_secret_expires_at', type: 'datetime')] private $client_secret_expires_at; /** - * @ORM\Column(name="contacts", type="string") * @var string */ + #[ORM\Column(name: 'contacts', type: 'string')] private $contacts; /** - * @ORM\Column(name="logo_uri", type="string") * @var string */ + #[ORM\Column(name: 'logo_uri', type: 'string')] private $logo_uri; /** - * @ORM\Column(name="tos_uri", type="string") * @var string */ + #[ORM\Column(name: 'tos_uri', type: 'string')] private $tos_uri; /** - * @ORM\Column(name="post_logout_redirect_uris", type="string") * @var string */ + #[ORM\Column(name: 'post_logout_redirect_uris', type: 'string')] private $post_logout_redirect_uris; /** - * @ORM\Column(name="logout_uri", type="string") * @var string */ + #[ORM\Column(name: 'logout_uri', type: 'string')] private $logout_uri; /** - * @ORM\Column(name="logout_session_required", type="boolean") * @var bool */ + #[ORM\Column(name: 'logout_session_required', type: 'boolean')] private $logout_session_required; /** - * @ORM\Column(name="logout_use_iframe", type="boolean") * @var bool */ + #[ORM\Column(name: 'logout_use_iframe', type: 'boolean')] private $logout_use_iframe; /** - * @ORM\Column(name="policy_uri", type="string") * @var string */ + #[ORM\Column(name: 'policy_uri', type: 'string')] private $policy_uri; /** - * @ORM\Column(name="jwks_uri", type="string") * @var string */ + #[ORM\Column(name: 'jwks_uri', type: 'string')] private $jwks_uri; /** - * @ORM\Column(name="default_max_age", type="integer") * @var int */ + #[ORM\Column(name: 'default_max_age', type: 'integer')] private $default_max_age; /** - * @ORM\Column(name="require_auth_time", type="boolean") * @var bool */ + #[ORM\Column(name: 'require_auth_time', type: 'boolean')] private $require_auth_time; /** - * @ORM\Column(name="token_endpoint_auth_method", type="string") * @var string * enum('client_secret_basic', 'client_secret_post', 'client_secret_jwt', 'private_key_jwt', 'none') default 'none' */ + #[ORM\Column(name: 'token_endpoint_auth_method', type: 'string')] private $token_endpoint_auth_method; /** - * @ORM\Column(name="token_endpoint_auth_signing_alg", type="string") * @var string * enum('HS256', 'HS384', 'HS512', 'RS256', 'RS384', 'RS512', 'PS256', 'PS384', 'PS512', 'none') default 'none' */ + #[ORM\Column(name: 'token_endpoint_auth_signing_alg', type: 'string')] private $token_endpoint_auth_signing_alg; /** - * @ORM\Column(name="subject_type", type="string") * @var string * enum('public', 'pairwise') default 'public' */ + #[ORM\Column(name: 'subject_type', type: 'string')] private $subject_type; /** - * @ORM\Column(name="userinfo_signed_response_alg", type="string") * @var string * enum('HS256', 'HS384', 'HS512', 'RS256', 'RS384', 'RS512', 'PS256', 'PS384', 'PS512', 'none') default 'none' */ + #[ORM\Column(name: 'userinfo_signed_response_alg', type: 'string')] private $userinfo_signed_response_alg; /** - * @ORM\Column(name="userinfo_encrypted_response_alg", type="string") * @var string * enum('RSA1_5', 'RSA-OAEP', 'RSA-OAEP-256', 'dir', 'none') default 'none' */ + #[ORM\Column(name: 'userinfo_encrypted_response_alg', type: 'string')] private $userinfo_encrypted_response_alg; /** - * @ORM\Column(name="userinfo_encrypted_response_enc", type="string") * @var string * enum('A128CBC-HS256', 'A192CBC-HS384', 'A256CBC-HS512', 'none') default 'none' */ + #[ORM\Column(name: 'userinfo_encrypted_response_enc', type: 'string')] private $userinfo_encrypted_response_enc; /** - * @ORM\Column(name="id_token_signed_response_alg", type="string") * @var string * enum('HS256', 'HS384', 'HS512', 'RS256', 'RS384', 'RS512', 'PS256', 'PS384', 'PS512', 'none') default 'none' */ + #[ORM\Column(name: 'id_token_signed_response_alg', type: 'string')] private $id_token_signed_response_alg; /** - * @ORM\Column(name="id_token_encrypted_response_alg", type="string") * @var string * enum('RSA1_5', 'RSA-OAEP', 'RSA-OAEP-256', 'dir', 'none') default 'none' */ + #[ORM\Column(name: 'id_token_encrypted_response_alg', type: 'string')] private $id_token_encrypted_response_alg; /** - * @ORM\Column(name="id_token_encrypted_response_enc", type="string") * @var string * enum('A128CBC-HS256', 'A192CBC-HS384', 'A256CBC-HS512', 'none') default 'none' */ + #[ORM\Column(name: 'id_token_encrypted_response_enc', type: 'string')] private $id_token_encrypted_response_enc; /** - * @ORM\Column(name="redirect_uris", type="string") * @var string */ + #[ORM\Column(name: 'redirect_uris', type: 'string')] private $redirect_uris; /** - * @ORM\Column(name="allowed_origins", type="string") * @var string */ + #[ORM\Column(name: 'allowed_origins', type: 'string')] private $allowed_origins; /** - * @ORM\Column(name="max_allowed_user_sessions", type="integer") * @var int */ + #[ORM\Column(name: 'max_allowed_user_sessions', type: 'integer')] private $max_allowed_user_sessions; /** - * @ORM\ManyToOne(targetEntity="Auth\User", inversedBy="clients") - * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, inversedBy: 'clients')] private $user; /** - * @ORM\ManyToOne(targetEntity="Auth\User") - * @ORM\JoinColumn(name="edited_by_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'edited_by_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class)] private $edited_by; /** - * @ORM\OneToOne(targetEntity="Models\OAuth2\ResourceServer", inversedBy="client", cascade={"persist", "remove"}) - * @ORM\JoinColumn(name="resource_server_id", referencedColumnName="id") * @var ResourceServer */ + #[ORM\JoinColumn(name: 'resource_server_id', referencedColumnName: 'id')] + #[ORM\OneToOne(targetEntity: \Models\OAuth2\ResourceServer::class, inversedBy: 'client', cascade: ['persist', 'remove'])] private $resource_server; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\ClientPublicKey", mappedBy="owner", cascade={"persist"}, orphanRemoval=true) * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\ClientPublicKey::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true)] private $public_keys; /** - /** - * @ORM\ManyToMany(targetEntity="Auth\User", cascade={"persist"}, inversedBy="managed_clients") - * @ORM\JoinTable(name="oauth2_client_admin_users", - * joinColumns={@ORM\JoinColumn(name="oauth2_client_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")} - * ) - * @var ArrayCollection - */ + /** + * @var ArrayCollection + */ + #[ORM\JoinTable(name: 'oauth2_client_admin_users')] + #[ORM\JoinColumn(name: 'oauth2_client_id', referencedColumnName: 'id')] + #[ORM\InverseJoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToMany(targetEntity: \Auth\User::class, cascade: ['persist'], inversedBy: 'managed_clients')] private $admin_users; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\RefreshToken", mappedBy="client", cascade={"persist", "remove"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\RefreshToken::class, mappedBy: 'client', cascade: ['persist', 'remove'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $refresh_tokens; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\AccessToken", mappedBy="client", cascade={"persist", "remove"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\AccessToken::class, mappedBy: 'client', cascade: ['persist', 'remove'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $access_tokens; /** - * @ORM\ManyToMany(targetEntity="Models\OAuth2\ApiScope", cascade={"persist"}) - * @ORM\JoinTable(name="oauth2_client_api_scope", - * joinColumns={@ORM\JoinColumn(name="client_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="scope_id", referencedColumnName="id")} - * ) * @var ArrayCollection */ + #[ORM\JoinTable(name: 'oauth2_client_api_scope')] + #[ORM\JoinColumn(name: 'client_id', referencedColumnName: 'id')] + #[ORM\InverseJoinColumn(name: 'scope_id', referencedColumnName: 'id')] + #[ORM\ManyToMany(targetEntity: \Models\OAuth2\ApiScope::class, cascade: ['persist'])] private $scopes; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\OAuth2OTP", mappedBy="client", cascade={"persist", "remove"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\OAuth2OTP::class, mappedBy: 'client', cascade: ['persist', 'remove'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $otp_grants; /** diff --git a/app/Models/OAuth2/ClientPublicKey.php b/app/Models/OAuth2/ClientPublicKey.php index 4a448537..31d17b0d 100644 --- a/app/Models/OAuth2/ClientPublicKey.php +++ b/app/Models/OAuth2/ClientPublicKey.php @@ -18,18 +18,17 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineClientPublicKeyRepository") - * Class ClientPublicKey * @package Models\OAuth2 */ +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineClientPublicKeyRepository::class)] // Class ClientPublicKey class ClientPublicKey extends AsymmetricKey implements IClientPublicKey { /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\Client", inversedBy="public_keys") - * @ORM\JoinColumn(name="oauth2_client_id", referencedColumnName="id") * @var Client */ + #[ORM\JoinColumn(name: 'oauth2_client_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\Client::class, inversedBy: 'public_keys')] private $owner; /** diff --git a/app/Models/OAuth2/OAuth2OTP.php b/app/Models/OAuth2/OAuth2OTP.php index 040b029b..37356cd6 100644 --- a/app/Models/OAuth2/OAuth2OTP.php +++ b/app/Models/OAuth2/OAuth2OTP.php @@ -27,96 +27,95 @@ use Laminas\Math\Rand; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineOAuth2OTPRepository") - * @ORM\Table(name="oauth2_otp") - * Class OTP * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_otp')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineOAuth2OTPRepository::class)] class OAuth2OTP extends BaseEntity implements Identifier { /** - * @ORM\Column(name="value", type="string") * @var string */ + #[ORM\Column(name: 'value', type: 'string')] private $value; /** - * @ORM\Column(name="length", type="integer") * @var int */ + #[ORM\Column(name: 'length', type: 'integer')] private $length; /** - * @ORM\Column(name="`connection`", type="string") * @var string */ + #[ORM\Column(name: '`connection`', type: 'string')] private $connection; /** - * @ORM\Column(name="send", type="string") * @var string */ + #[ORM\Column(name: 'send', type: 'string')] private $send; /** - * @ORM\Column(name="scope", type="string") * @var string */ + #[ORM\Column(name: 'scope', type: 'string')] private $scope; /** - * @ORM\Column(name="email", type="string") * @var string */ + #[ORM\Column(name: 'email', type: 'string')] private $email; /** - * @ORM\Column(name="phone_number", type="string") * @var string */ + #[ORM\Column(name: 'phone_number', type: 'string')] private $phone_number; /** - * @ORM\Column(name="nonce", type="string") * @var string */ + #[ORM\Column(name: 'nonce', type: 'string')] private $nonce; /** - * @ORM\Column(name="lifetime", type="integer") * @var int */ + #[ORM\Column(name: 'lifetime', type: 'integer')] private $lifetime; /** - * @ORM\Column(name="redirect_url", type="string") * @var string */ + #[ORM\Column(name: 'redirect_url', type: 'string')] private $redirect_url; /** * @var \DateTime - * @ORM\Column(name="redeemed_at", type="datetime") */ + #[ORM\Column(name: 'redeemed_at', type: 'datetime')] private $redeemed_at; /** * @var string - * @ORM\Column(name="redeemed_from_ip", type="string") */ + #[ORM\Column(name: 'redeemed_from_ip', type: 'string')] private $redeemed_from_ip; /** - * @ORM\Column(name="redeemed_attempts", type="integer") * @var int */ + #[ORM\Column(name: 'redeemed_attempts', type: 'integer')] private $redeemed_attempts; /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\Client", inversedBy="otp_grants", cascade={"persist"}) - * @ORM\JoinColumn(name="oauth2_client_id", referencedColumnName="id", nullable=true) * @var Client */ + #[ORM\JoinColumn(name: 'oauth2_client_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\Client::class, inversedBy: 'otp_grants', cascade: ['persist'])] private $client; /** diff --git a/app/Models/OAuth2/OAuth2TrailException.php b/app/Models/OAuth2/OAuth2TrailException.php index 1cc7b870..05b0306a 100644 --- a/app/Models/OAuth2/OAuth2TrailException.php +++ b/app/Models/OAuth2/OAuth2TrailException.php @@ -14,30 +14,29 @@ use App\Models\Utils\BaseEntity; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineOAuth2TrailExceptionRepository") - * @ORM\Table(name="oauth2_exception_trail") - * Class OAuth2TrailException * @package Models */ +#[ORM\Table(name: 'oauth2_exception_trail')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineOAuth2TrailExceptionRepository::class)] class OAuth2TrailException extends BaseEntity { /** - * @ORM\Column(name="from_ip", type="string") * @var string */ + #[ORM\Column(name: 'from_ip', type: 'string')] private $from_ip; /** - * @ORM\Column(name="exception_type", type="string") * @var string */ + #[ORM\Column(name: 'exception_type', type: 'string')] private $exception_type; /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\Client", cascade={"persist"}) - * @ORM\JoinColumn(name="client_id", referencedColumnName="id", nullable=true) * @var Client */ + #[ORM\JoinColumn(name: 'client_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\Client::class, cascade: ['persist'])] private $client; /** diff --git a/app/Models/OAuth2/RefreshToken.php b/app/Models/OAuth2/RefreshToken.php index a33969ac..4a0574b1 100644 --- a/app/Models/OAuth2/RefreshToken.php +++ b/app/Models/OAuth2/RefreshToken.php @@ -22,49 +22,45 @@ use Doctrine\ORM\Mapping AS ORM; use Utils\IPHelper; -/** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineRefreshTokenRepository") - * @ORM\Table(name="oauth2_refresh_token") - * @ORM\Cache("NONSTRICT_READ_WRITE") - * Class RefreshToken - * Refresh Token Entity - */ +#[ORM\Table(name: 'oauth2_refresh_token')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineRefreshTokenRepository::class)] +#[ORM\Cache('NONSTRICT_READ_WRITE')] // Class RefreshToken class RefreshToken extends BaseEntity { /** - * @ORM\Column(name="value", type="string") * @var string */ + #[ORM\Column(name: 'value', type: 'string')] private $value; /** - * @ORM\Column(name="from_ip", type="string") * @var string */ + #[ORM\Column(name: 'from_ip', type: 'string')] private $from_ip; /** - * @ORM\Column(name="lifetime", type="integer") * @var int */ + #[ORM\Column(name: 'lifetime', type: 'integer')] private $lifetime; /** - * @ORM\Column(name="scope", type="string") * @var string */ + #[ORM\Column(name: 'scope', type: 'string')] private $scope; /** - * @ORM\Column(name="audience", type="string") * @var string */ + #[ORM\Column(name: 'audience', type: 'string')] private $audience; /** - * @ORM\Column(name="void", type="boolean") * @var bool */ + #[ORM\Column(name: 'void', type: 'boolean')] private $void; /** @@ -73,24 +69,24 @@ class RefreshToken extends BaseEntity { private $friendly_scopes; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\AccessToken", mappedBy="refresh_token", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection * */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\AccessToken::class, mappedBy: 'refresh_token', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $access_tokens; /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\Client", inversedBy="refresh_tokens", cascade={"persist"}) - * @ORM\JoinColumn(name="client_id", referencedColumnName="id", nullable=true) * @var Client */ + #[ORM\JoinColumn(name: 'client_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\Client::class, inversedBy: 'refresh_tokens', cascade: ['persist'])] private $client; /** - * @ORM\ManyToOne(targetEntity="Auth\User", inversedBy="refresh_tokens", cascade={"persist"}) - * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true) * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, inversedBy: 'refresh_tokens', cascade: ['persist'])] private $owner; public function __construct() diff --git a/app/Models/OAuth2/ResourceServer.php b/app/Models/OAuth2/ResourceServer.php index 6732e156..80dbd649 100644 --- a/app/Models/OAuth2/ResourceServer.php +++ b/app/Models/OAuth2/ResourceServer.php @@ -15,48 +15,47 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineResourceServerRepository") - * @ORM\Table(name="oauth2_resource_server") - * Class ResourceServer * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_resource_server')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineResourceServerRepository::class)] class ResourceServer extends BaseEntity { /** - * @ORM\Column(name="friendly_name", type="string") * @var string */ + #[ORM\Column(name: 'friendly_name', type: 'string')] private $friendly_name; /** - * @ORM\Column(name="host", type="string") * @var string */ + #[ORM\Column(name: 'host', type: 'string')] private $host; /** - * @ORM\Column(name="ips", type="string") * @var string */ + #[ORM\Column(name: 'ips', type: 'string')] private $ips; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] private $active; /** - * @ORM\OneToMany(targetEntity="Api", mappedBy="resource_server", cascade={"persist"}, fetch="EXTRA_LAZY") * @var Api[] */ + #[ORM\OneToMany(targetEntity: \Api::class, mappedBy: 'resource_server', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $apis; /** - * @ORM\OneToOne(targetEntity="Models\OAuth2\Client", mappedBy="resource_server", cascade={"persist", "remove"}) * @var Client */ + #[ORM\OneToOne(targetEntity: \Models\OAuth2\Client::class, mappedBy: 'resource_server', cascade: ['persist', 'remove'])] private $client; /** diff --git a/app/Models/OAuth2/ServerPrivateKey.php b/app/Models/OAuth2/ServerPrivateKey.php index 252837bf..b550dd3f 100644 --- a/app/Models/OAuth2/ServerPrivateKey.php +++ b/app/Models/OAuth2/ServerPrivateKey.php @@ -21,17 +21,16 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineServerPrivateKeyRepository") - * Class ServerPrivateKey * @package Models\OAuth2 */ +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineServerPrivateKeyRepository::class)] // Class ServerPrivateKey class ServerPrivateKey extends AsymmetricKey implements IServerPrivateKey { /** - * @ORM\Column(name="password", type="string") * @var string */ + #[ORM\Column(name: 'password', type: 'string')] protected $password; /** diff --git a/app/Models/OAuth2/UserConsent.php b/app/Models/OAuth2/UserConsent.php index a046e871..9b496210 100644 --- a/app/Models/OAuth2/UserConsent.php +++ b/app/Models/OAuth2/UserConsent.php @@ -17,31 +17,30 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity - * @ORM\Table(name="oauth2_user_consents") - * Class UserConsent * @package Models\OAuth2 */ +#[ORM\Table(name: 'oauth2_user_consents')] +#[ORM\Entity] class UserConsent extends BaseEntity implements IUserConsent { /** - * @ORM\Column(name="scopes", type="string") * @var string */ + #[ORM\Column(name: 'scopes', type: 'string')] private $scopes; /** - * @ORM\ManyToOne(targetEntity="Auth\User", inversedBy="consents", cascade={"persist"}) - * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * @var User */ + #[ORM\ManyToOne(targetEntity: \Auth\User::class, cascade: ['persist'], inversedBy: 'consents')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] private $owner; /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\Client", cascade={"persist"}) - * @ORM\JoinColumn(name="client_id", referencedColumnName="id") * @var Client */ + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\Client::class, cascade: ['persist'])] + #[ORM\JoinColumn(name: 'client_id', referencedColumnName: 'id')] private $client; /** diff --git a/app/Models/OpenId/OpenIdAssociation.php b/app/Models/OpenId/OpenIdAssociation.php index 7093a8be..9ab17b25 100644 --- a/app/Models/OpenId/OpenIdAssociation.php +++ b/app/Models/OpenId/OpenIdAssociation.php @@ -19,54 +19,53 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineOpenIdAssociationRepository") - * @ORM\Table(name="openid_associations") - * Class OpenIdAssociation * @package Models\OpenId */ +#[ORM\Table(name: 'openid_associations')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineOpenIdAssociationRepository::class)] class OpenIdAssociation extends BaseEntity implements IAssociation { /** - * @ORM\Column(name="identifier", type="string") * @var string */ + #[ORM\Column(name: 'identifier', type: 'string')] private $identifier; /** - * @ORM\Column(name="mac_function", type="string") * @var string */ + #[ORM\Column(name: 'mac_function', type: 'string')] private $mac_function; /** - * @ORM\Column(name="secret", type="blob") * @var resource */ + #[ORM\Column(name: 'secret', type: 'blob')] private $secret; /** - * @ORM\Column(name="realm", type="string") * @var string */ + #[ORM\Column(name: 'realm', type: 'string')] private $realm; /** - * @ORM\Column(name="type", type="integer") * @var int */ + #[ORM\Column(name: 'type', type: 'integer')] private $type; /** - * @ORM\Column(name="lifetime", type="integer") * @var int */ + #[ORM\Column(name: 'lifetime', type: 'integer')] private $lifetime; /** - * @ORM\Column(name="issued", type="datetime") * @var DateTime */ + #[ORM\Column(name: 'issued', type: 'datetime')] private $issued; /** diff --git a/app/Models/OpenId/OpenIdTrustedSite.php b/app/Models/OpenId/OpenIdTrustedSite.php index 4fcde196..f7c424e9 100644 --- a/app/Models/OpenId/OpenIdTrustedSite.php +++ b/app/Models/OpenId/OpenIdTrustedSite.php @@ -17,37 +17,36 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineOpenIdTrustedSiteRepository") - * @ORM\Table(name="openid_trusted_sites") - * Class OpenIdTrustedSite * @package Models\OpenId */ +#[ORM\Table(name: 'openid_trusted_sites')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineOpenIdTrustedSiteRepository::class)] class OpenIdTrustedSite extends BaseEntity implements ITrustedSite { /** - * @ORM\Column(name="realm", type="string") * @var string */ + #[ORM\Column(name: 'realm', type: 'string')] private $realm; /** - * @ORM\Column(name="data", type="string") * @var string */ + #[ORM\Column(name: 'data', type: 'string')] private $data; /** - * @ORM\Column(name="policy", type="string") * @var string */ + #[ORM\Column(name: 'policy', type: 'string')] private $policy; /** - * @ORM\ManyToOne(targetEntity="Auth\User", inversedBy="trusted_sites", cascade={"persist"}) - * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, inversedBy: 'trusted_sites', cascade: ['persist'])] private $owner; /** diff --git a/app/Models/OpenId/ServerExtension.php b/app/Models/OpenId/ServerExtension.php index 5c014fe7..1896e7ac 100644 --- a/app/Models/OpenId/ServerExtension.php +++ b/app/Models/OpenId/ServerExtension.php @@ -15,47 +15,46 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineServerExtensionRepository") - * @ORM\Table(name="server_extensions") - * Class ServerExtension * @package Models\OpenId */ +#[ORM\Table(name: 'server_extensions')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineServerExtensionRepository::class)] class ServerExtension extends BaseEntity { /** - * @ORM\Column(name="name", type="string") * @var string */ + #[ORM\Column(name: 'name', type: 'string')] private $name; /** - * @ORM\Column(name="namespace", type="string") * @var string */ + #[ORM\Column(name: 'namespace', type: 'string')] private $namespace; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] private $active; /** - * @ORM\Column(name="extension_class", type="string") * @var string */ + #[ORM\Column(name: 'extension_class', type: 'string')] private $extension_class; /** - * @ORM\Column(name="description", type="string") * @var string */ + #[ORM\Column(name: 'description', type: 'string')] private $description; /** - * @ORM\Column(name="view_name", type="string") * @var string */ + #[ORM\Column(name: 'view_name', type: 'string')] private $view_name; /** diff --git a/app/Models/SSO/Disqus/DisqusSSOProfile.php b/app/Models/SSO/Disqus/DisqusSSOProfile.php index c2e02b92..b11858f1 100644 --- a/app/Models/SSO/Disqus/DisqusSSOProfile.php +++ b/app/Models/SSO/Disqus/DisqusSSOProfile.php @@ -15,29 +15,28 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineDisqusSSOProfileRepository") - * @ORM\Table(name="sso_disqus_profile") - * Class DisqusSSOProfile * @package App\Models\SSO */ +#[ORM\Table(name: 'sso_disqus_profile')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineDisqusSSOProfileRepository::class)] class DisqusSSOProfile extends BaseEntity { /** - * @ORM\Column(name="forum_slug", type="string") * @var string */ + #[ORM\Column(name: 'forum_slug', type: 'string')] private $forum_slug; /** - * @ORM\Column(name="public_key", type="string") * @var string */ + #[ORM\Column(name: 'public_key', type: 'string')] private $public_key; /** - * @ORM\Column(name="secret_key", type="string") * @var string */ + #[ORM\Column(name: 'secret_key', type: 'string')] private $secret_key; /** diff --git a/app/Models/SSO/RocketChat/RocketChatSSOProfile.php b/app/Models/SSO/RocketChat/RocketChatSSOProfile.php index c55a9fc9..c3c0f0c7 100644 --- a/app/Models/SSO/RocketChat/RocketChatSSOProfile.php +++ b/app/Models/SSO/RocketChat/RocketChatSSOProfile.php @@ -15,29 +15,28 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineRocketChatSSOProfileRepository") - * @ORM\Table(name="sso_rocket_chat_profile") - * Class RocketChatSSOProfile * @package App\Models\SSO */ +#[ORM\Table(name: 'sso_rocket_chat_profile')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineRocketChatSSOProfileRepository::class)] class RocketChatSSOProfile extends BaseEntity { /** - * @ORM\Column(name="forum_slug", type="string") * @var string */ + #[ORM\Column(name: 'forum_slug', type: 'string')] private $forum_slug; /** - * @ORM\Column(name="base_url", type="string") * @var string */ + #[ORM\Column(name: 'base_url', type: 'string')] private $base_url; /** - * @ORM\Column(name="service_name", type="string") * @var string */ + #[ORM\Column(name: 'service_name', type: 'string')] private $service_name; /** diff --git a/app/Models/SSO/StreamChat/StreamChatSSOProfile.php b/app/Models/SSO/StreamChat/StreamChatSSOProfile.php index 8fde1165..ceba4be5 100644 --- a/app/Models/SSO/StreamChat/StreamChatSSOProfile.php +++ b/app/Models/SSO/StreamChat/StreamChatSSOProfile.php @@ -15,29 +15,28 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineStreamChatSSOProfileRepository") - * @ORM\Table(name="sso_stream_chat_profile") - * Class StreamChatSSOProfile * @package App\Models\SSO */ +#[ORM\Table(name: 'sso_stream_chat_profile')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineStreamChatSSOProfileRepository::class)] class StreamChatSSOProfile extends BaseEntity { /** - * @ORM\Column(name="forum_slug", type="string") * @var string */ + #[ORM\Column(name: 'forum_slug', type: 'string')] private $forum_slug; /** - * @ORM\Column(name="api_key", type="string") * @var string */ + #[ORM\Column(name: 'api_key', type: 'string')] private $api_key; /** - * @ORM\Column(name="api_secret", type="string") * @var string */ + #[ORM\Column(name: 'api_secret', type: 'string')] private $api_secret; /** diff --git a/app/Models/ServerConfiguration.php b/app/Models/ServerConfiguration.php index 38656498..737e18a0 100644 --- a/app/Models/ServerConfiguration.php +++ b/app/Models/ServerConfiguration.php @@ -14,23 +14,22 @@ use App\Models\Utils\BaseEntity; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineServerConfigurationRepository") - * @ORM\Table(name="server_configuration") - * Class ServerConfiguration * @package Models */ +#[ORM\Table(name: 'server_configuration')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineServerConfigurationRepository::class)] class ServerConfiguration extends BaseEntity { /** - * @ORM\Column(name="`key`", type="string") * @var string */ + #[ORM\Column(name: '`key`', type: 'string')] private $key; /** - * @ORM\Column(name="value", type="string") * @var string */ + #[ORM\Column(name: 'value', type: 'string')] private $value; /** diff --git a/app/Models/UserAction.php b/app/Models/UserAction.php index bc8a9408..cdcb4889 100644 --- a/app/Models/UserAction.php +++ b/app/Models/UserAction.php @@ -16,36 +16,35 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineUserActionRepository") - * @ORM\Table(name="user_actions") - * Class UserAction * @package Models */ +#[ORM\Table(name: 'user_actions')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineUserActionRepository::class)] class UserAction extends BaseEntity { /** - * @ORM\Column(name="realm", type="string") * @var string */ + #[ORM\Column(name: 'realm', type: 'string')] private $realm; /** - * @ORM\Column(name="from_ip", type="string") * @var string */ + #[ORM\Column(name: 'from_ip', type: 'string')] private $from_ip; /** - * @ORM\Column(name="user_action", type="string") * @var string */ + #[ORM\Column(name: 'user_action', type: 'string')] private $user_action; /** - * @ORM\ManyToOne(targetEntity="Auth\User", inversedBy="actions", cascade={"persist"}) - * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, inversedBy: 'actions', cascade: ['persist'])] private $owner; /** diff --git a/app/Models/UserExceptionTrail.php b/app/Models/UserExceptionTrail.php index 3c908c60..a3cedf09 100644 --- a/app/Models/UserExceptionTrail.php +++ b/app/Models/UserExceptionTrail.php @@ -16,34 +16,33 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineUserExceptionTrailRepository") - * @ORM\Table(name="user_exceptions_trail") - * Class UserExceptionTrail * @package Models */ +#[ORM\Table(name: 'user_exceptions_trail')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineUserExceptionTrailRepository::class)] class UserExceptionTrail extends BaseEntity { /** - * @ORM\Column(name="exception_type", type="string") * @var string */ + #[ORM\Column(name: 'exception_type', type: 'string')] private $exception_type; /** - * @ORM\Column(name="from_ip", type="string") * @var string */ + #[ORM\Column(name: 'from_ip', type: 'string')] private $from_ip; /** - * @ORM\Column(name="stack_trace", type="string") * @var string */ + #[ORM\Column(name: 'stack_trace', type: 'string')] private $stack_trace; /** - * @ORM\ManyToOne(targetEntity="Auth\User") - * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class)] private $user; /** diff --git a/app/Models/Utils/BaseEntity.php b/app/Models/Utils/BaseEntity.php index 510d570b..d3a8b0bd 100644 --- a/app/Models/Utils/BaseEntity.php +++ b/app/Models/Utils/BaseEntity.php @@ -20,31 +20,30 @@ use Doctrine\ORM\QueryBuilder; use LaravelDoctrine\ORM\Facades\Registry; /*** - * @ORM\MappedSuperclass - * @ORM\HasLifecycleCallbacks * Class BaseEntity * @package App\Models\Utils */ +#[ORM\MappedSuperclass] +#[ORM\HasLifecycleCallbacks] class BaseEntity implements IEntity { const DefaultTimeZone = 'UTC'; - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(name="id", type="integer", unique=true, nullable=false) - */ + + #[ORM\Id] + #[ORM\GeneratedValue] + #[ORM\Column(name: 'id', type: 'integer', unique: true, nullable: false)] protected $id; /** * @var \DateTime - * @ORM\Column(name="created_at", type="datetime") */ + #[ORM\Column(name: 'created_at', type: 'datetime')] protected $created_at; /** * @var \DateTime - * @ORM\Column(name="updated_at", type="datetime") */ + #[ORM\Column(name: 'updated_at', type: 'datetime')] protected $updated_at; /** @@ -166,9 +165,7 @@ public function __get($name) { return $this->{$name}; } - /** - * @ORM\PreUpdate: - */ + #[ORM\PreUpdate] // : public function updating(PreUpdateEventArgs $args) { $now = new \DateTime('now', new \DateTimeZone(self::DefaultTimeZone)); diff --git a/app/Models/Utils/SilverstripeBaseModel.php b/app/Models/Utils/SilverstripeBaseModel.php index 4ddfbd3c..034c1fbe 100644 --- a/app/Models/Utils/SilverstripeBaseModel.php +++ b/app/Models/Utils/SilverstripeBaseModel.php @@ -17,25 +17,26 @@ use Doctrine\ORM\Query; use Doctrine\ORM\QueryBuilder; use LaravelDoctrine\ORM\Facades\Registry; -/*** - * @ORM\MappedSuperclass + +/** * Class SilverstripeBaseModel * @package models\utils */ +#[ORM\MappedSuperclass] class SilverstripeBaseModel extends BaseEntity { const DefaultTimeZone = 'America/Chicago'; /** * @var \DateTime - * @ORM\Column(name="Created", type="datetime") */ + #[ORM\Column(name: 'Created', type: 'datetime')] protected $created; /** * @var \DateTime - * @ORM\Column(name="LastEdited", type="datetime") */ + #[ORM\Column(name: 'LastEdited', type: 'datetime')] protected $last_edited; /** diff --git a/app/Models/WhiteListedIP.php b/app/Models/WhiteListedIP.php index 0c56c03f..acf1c556 100644 --- a/app/Models/WhiteListedIP.php +++ b/app/Models/WhiteListedIP.php @@ -15,17 +15,16 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineWhiteListedIPRepository") - * @ORM\Table(name="white_listed_ips") - * Class WhiteListedIP * @package Models */ +#[ORM\Table(name: 'white_listed_ips')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineWhiteListedIPRepository::class)] class WhiteListedIP extends BaseEntity { /** - * @ORM\Column(name="ip", type="string") * @var string */ + #[ORM\Column(name: 'ip', type: 'string')] private $ip; /** diff --git a/app/Services/OpenId/UserService.php b/app/Services/OpenId/UserService.php index a12f3d4c..90f39aeb 100644 --- a/app/Services/OpenId/UserService.php +++ b/app/Services/OpenId/UserService.php @@ -486,7 +486,7 @@ public function notifyMonitoredSecurityGroupActivity(string $action, int $user_i $notified_users = []; foreach ($watcher_groups as $watcher_group_slug) { Log::debug(sprintf("UserService::notifyMonitoredSecurityGroupActivity processing %s", $watcher_group_slug)); - $group = $this->group_repository->getById($watcher_group_slug); + $group = $this->group_repository->getOneBySlug($watcher_group_slug); if(!$group instanceof Group) { Log::warning(sprintf("UserService::notifyMonitoredSecurityGroupActivity group %s not found", $watcher_group_slug)); continue; diff --git a/app/libs/Auth/Models/Affiliation.php b/app/libs/Auth/Models/Affiliation.php index f8335f3f..b591f313 100644 --- a/app/libs/Auth/Models/Affiliation.php +++ b/app/libs/Auth/Models/Affiliation.php @@ -15,55 +15,54 @@ use Doctrine\Common\Collections\ArrayCollection; use App\Models\Utils\BaseEntity; /** - * @ORM\Entity - * @ORM\Table(name="affiliations") - * Class Affiliation * @package Auth */ +#[ORM\Table(name: 'affiliations')] +#[ORM\Entity] class Affiliation extends BaseEntity { /** - * @ORM\ManyToOne(targetEntity="Auth\User", cascade={"persist"}, inversedBy="affiliations") - * @ORM\JoinColumn(name="user_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, cascade: ['persist'], inversedBy: 'affiliations')] private $owner; /** - * @ORM\ManyToOne(targetEntity="Auth\Organization") - * @ORM\JoinColumn(name="organization_id", referencedColumnName="id") * @var Organization */ + #[ORM\JoinColumn(name: 'organization_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\Organization::class)] private $organization; /** - * @ORM\Column(name="job_title", type="string") * @var string */ + #[ORM\Column(name: 'job_title', type: 'string')] private $job_title; /** - * @ORM\Column(name="role", type="string") * @var string */ + #[ORM\Column(name: 'role', type: 'string')] private $role; /** * @var \DateTime - * @ORM\Column(name="start_date", type="datetime") */ + #[ORM\Column(name: 'start_date', type: 'datetime')] protected $start_date; /** * @var \DateTime - * @ORM\Column(name="end_date", type="datetime") */ + #[ORM\Column(name: 'end_date', type: 'datetime')] protected $end_date; /** - * @ORM\Column(name="is_current", type="boolean") * @var boolean */ + #[ORM\Column(name: 'is_current', type: 'boolean')] private $is_current; /** diff --git a/app/libs/Auth/Models/Group.php b/app/libs/Auth/Models/Group.php index ba050df1..48229c8f 100644 --- a/app/libs/Auth/Models/Group.php +++ b/app/libs/Auth/Models/Group.php @@ -18,45 +18,44 @@ use App\Models\Utils\BaseEntity; use models\exceptions\ValidationException; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineGroupRepository") - * @ORM\Table(name="`groups`") - * @ORM\HasLifecycleCallbacks - * Class Group * @package Auth */ +#[ORM\Table(name: '`groups`')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineGroupRepository::class)] +#[ORM\HasLifecycleCallbacks] // Class Group class Group extends BaseEntity { /** - * @ORM\Column(name="name", type="string") * @var string */ + #[ORM\Column(name: 'name', type: 'string')] private $name; /** - * @ORM\Column(name="slug", type="string") * @var string */ + #[ORM\Column(name: 'slug', type: 'string')] private $slug; /** - * @ORM\Column(name="active", type="boolean") * @var bool */ + #[ORM\Column(name: 'active', type: 'boolean')] private $active; /** - * @ORM\Column(name="is_default", type="boolean") * @var bool */ + #[ORM\Column(name: 'is_default', type: 'boolean')] private $default; /** * Many Groups have Many Users. - * @ORM\ManyToMany(targetEntity="User", mappedBy="groups", fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\ManyToMany(targetEntity: \User::class, mappedBy: 'groups', fetch: 'EXTRA_LAZY')] private $users; @@ -84,10 +83,8 @@ public function getSlug(): string return $this->slug; } - /** - * @return ArrayCollection - */ - public function getUsers(): ArrayCollection + + public function getUsers() { return $this->users; } @@ -164,9 +161,7 @@ public function __get($name) { return $this->{$name}; } - /** - * @ORM\PreRemove: - */ + #[ORM\PreRemove] // : public function preRemoveHandler(LifecycleEventArgs $args){ if(!self::canDelete($this->slug)) throw new ValidationException(sprintf("can not delete group %s", $this->getSlug())); diff --git a/app/libs/Auth/Models/Organization.php b/app/libs/Auth/Models/Organization.php index de0488a8..906110a7 100644 --- a/app/libs/Auth/Models/Organization.php +++ b/app/libs/Auth/Models/Organization.php @@ -12,21 +12,19 @@ * limitations under the License. **/ use Doctrine\ORM\Mapping AS ORM; -use Doctrine\Common\Collections\ArrayCollection; use App\Models\Utils\BaseEntity; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineOrganizationRepository") - * @ORM\Table(name="organizations") - * Class Organization * @package AuthrequestPasswordReset */ +#[ORM\Table(name: 'organizations')] +#[ORM\Entity] class Organization extends BaseEntity { /** - * @ORM\Column(name="name", type="string") * @var string */ - private $name; + #[ORM\Column(name: 'name', type: 'string')] + private string $name; /** * @return string diff --git a/app/libs/Auth/Models/SpamEstimatorFeed.php b/app/libs/Auth/Models/SpamEstimatorFeed.php index eb828d49..3004df65 100644 --- a/app/libs/Auth/Models/SpamEstimatorFeed.php +++ b/app/libs/Auth/Models/SpamEstimatorFeed.php @@ -15,41 +15,40 @@ use Auth\User; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineSpamEstimatorFeedRepository") - * @ORM\Table(name="users_spam_estimator_feed") - * Class SpamEstimatorFeed * @package App\libs\Auth\Models */ +#[ORM\Table(name: 'users_spam_estimator_feed')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineSpamEstimatorFeedRepository::class)] class SpamEstimatorFeed extends BaseEntity { /** - * @ORM\Column(name="first_name", type="string") * @var string */ + #[ORM\Column(name: 'first_name', type: 'string')] private $first_name; /** - * @ORM\Column(name="last_name", type="string") * @var string */ + #[ORM\Column(name: 'last_name', type: 'string')] private $last_name; /** - * @ORM\Column(name="email", type="string") * @var string */ + #[ORM\Column(name: 'email', type: 'string')] private $email; /** - * @ORM\Column(name="bio", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'bio', nullable: true, type: 'string')] private $bio; /** - * @ORM\Column(name="spam_type", nullable=false, type="string") * @var string */ + #[ORM\Column(name: 'spam_type', nullable: false, type: 'string')] private $spam_type; /** diff --git a/app/libs/Auth/Models/User.php b/app/libs/Auth/Models/User.php index 11151a22..b04b5d13 100644 --- a/app/libs/Auth/Models/User.php +++ b/app/libs/Auth/Models/User.php @@ -54,12 +54,11 @@ use Utils\IPHelper; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineUserRepository") - * @ORM\Table(name="users") - * @ORM\HasLifecycleCallbacks - * Class User * @package Auth */ +#[ORM\Table(name: 'users')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineUserRepository::class)] +#[ORM\HasLifecycleCallbacks] // Class User class User extends BaseEntity implements AuthenticatableContract, IOpenIdUser, IOAuth2User, CanResetPassword { @@ -78,380 +77,377 @@ class User extends BaseEntity ]; /** - * @ORM\Column(name="identifier", type="string") * @var string */ + #[ORM\Column(name: 'identifier', type: 'string')] private $identifier; /** - * @ORM\Column(name="active", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'active', options: ['default' => 0], type: 'boolean')] private $active; /** - * @ORM\Column(name="public_profile_show_photo", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'public_profile_show_photo', options: ['default' => 0], type: 'boolean')] private $public_profile_show_photo; /** - * @ORM\Column(name="public_profile_show_fullname", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'public_profile_show_fullname', options: ['default' => 0], type: 'boolean')] private $public_profile_show_fullname; /** - * @ORM\Column(name="public_profile_show_email", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'public_profile_show_email', options: ['default' => 0], type: 'boolean')] private $public_profile_show_email; /** - * @ORM\Column(name="public_profile_allow_chat_with_me", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'public_profile_allow_chat_with_me', options: ['default' => 0], type: 'boolean')] private $public_profile_allow_chat_with_me; /** - * @ORM\Column(name="public_profile_show_social_media_info", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'public_profile_show_social_media_info', options: ['default' => 0], type: 'boolean')] private $public_profile_show_social_media_info; /** - * @ORM\Column(name="public_profile_show_bio", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'public_profile_show_bio', options: ['default' => 0], type: 'boolean')] private $public_profile_show_bio; /** - * @ORM\Column(name="public_profile_show_telephone_number", options={"default":0}, type="boolean") * @var bool */ + #[ORM\Column(name: 'public_profile_show_telephone_number', options: ['default' => 0], type: 'boolean')] private $public_profile_show_telephone_number; /** - * @ORM\Column(name="last_login_date", type="datetime") * @var \DateTime */ + #[ORM\Column(name: 'last_login_date', type: 'datetime')] private $last_login_date; /** - * @ORM\Column(name="login_failed_attempt", options={"unsigned":true, "default":0}, type="integer") * @var int */ + #[ORM\Column(name: 'login_failed_attempt', options: ['unsigned' => true, 'default' => 0], type: 'integer')] private $login_failed_attempt; /** - * @ORM\Column(name="remember_token", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'remember_token', nullable: true, type: 'string')] private $remember_token; /** - * @ORM\Column(name="first_name", type="string") * @var string */ + #[ORM\Column(name: 'first_name', type: 'string')] private $first_name; /** - * @ORM\Column(name="last_name", type="string") * @var string */ + #[ORM\Column(name: 'last_name', type: 'string')] private $last_name; /** - * @ORM\Column(name="email", type="string") * @var string */ + #[ORM\Column(name: 'email', type: 'string')] private $email; /** - * @ORM\Column(name="address1", type="string") * @var string */ + #[ORM\Column(name: 'address1', type: 'string')] private $address1; /** - * @ORM\Column(name="address2", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'address2', nullable: true, type: 'string')] private $address2; /** - * @ORM\Column(name="state", type="string") * @var string */ + #[ORM\Column(name: 'state', type: 'string')] private $state; /** - * @ORM\Column(name="city", type="string") * @var string */ + #[ORM\Column(name: 'city', type: 'string')] private $city; /** - * @ORM\Column(name="post_code", type="string") * @var string */ + #[ORM\Column(name: 'post_code', type: 'string')] private $post_code; /** - * @ORM\Column(name="country_iso_code", type="string") * @var string */ + #[ORM\Column(name: 'country_iso_code', type: 'string')] private $country_iso_code; /** - * @ORM\Column(name="second_email", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'second_email', nullable: true, type: 'string')] private $second_email; /** - * @ORM\Column(name="third_email", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'third_email', nullable: true, type: 'string')] private $third_email; /** - * @ORM\Column(name="gender" , nullable=true,type="string") * @var string */ + #[ORM\Column(name: 'gender', nullable: true, type: 'string')] private $gender; /** - * @ORM\Column(name="gender_specify" , nullable=true,type="string") * @var string */ + #[ORM\Column(name: 'gender_specify', nullable: true, type: 'string')] private $gender_specify; /** - * @ORM\Column(name="statement_of_interest", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'statement_of_interest', nullable: true, type: 'string')] private $statement_of_interest; /** - * @ORM\Column(name="bio", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'bio', nullable: true, type: 'string')] private $bio; /** - * @ORM\Column(name="irc", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'irc', nullable: true, type: 'string')] private $irc; /** - * @ORM\Column(name="linked_in_profile", nullable=true,type="string") * @var string */ + #[ORM\Column(name: 'linked_in_profile', nullable: true, type: 'string')] private $linked_in_profile; /** - * @ORM\Column(name="twitter_name", nullable=true,type="string") * @var string */ + #[ORM\Column(name: 'twitter_name', nullable: true, type: 'string')] private $twitter_name; /** - * @ORM\Column(name="github_user", nullable=true,type="string") * @var string */ + #[ORM\Column(name: 'github_user', nullable: true, type: 'string')] private $github_user; /** - * @ORM\Column(name="wechat_user", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'wechat_user', nullable: true, type: 'string')] private $wechat_user; /** - * @ORM\Column(name="password", type="string") * @var string */ + #[ORM\Column(name: 'password', type: 'string')] private $password; /** - * @ORM\Column(name="password_salt", type="string") * @var string */ + #[ORM\Column(name: 'password_salt', type: 'string')] private $password_salt; /** - * @ORM\Column(name="password_enc", type="string") * @var string */ + #[ORM\Column(name: 'password_enc', type: 'string')] private $password_enc; /** - * @ORM\Column(name="email_verified", type="boolean") * @var boolean */ + #[ORM\Column(name: 'email_verified', type: 'boolean')] private $email_verified; /** - * @ORM\Column(name="email_verified_token_hash", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'email_verified_token_hash', nullable: true, type: 'string')] private $email_verified_token_hash; /** - * @ORM\Column(name="email_verified_date", nullable=true, type="datetime") * @var \Datetime */ + #[ORM\Column(name: 'email_verified_date', nullable: true, type: 'datetime')] private $email_verified_date; /** - * @ORM\Column(name="language", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'language', nullable: true, type: 'string')] private $language; /** - * @ORM\Column(name="birthday", nullable=true, type="datetime") * @var \Datetime */ + #[ORM\Column(name: 'birthday', nullable: true, type: 'datetime')] private $birthday; /** - * @ORM\Column(name="spam_type", nullable=false, type="string") * @var string */ + #[ORM\Column(name: 'spam_type', nullable: false, type: 'string')] private $spam_type; /** - * @ORM\Column(name="company", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'company', nullable: true, type: 'string')] private $company; /** - * @ORM\Column(name="job_title", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'job_title', nullable: true, type: 'string')] private $job_title; /** - * @ORM\Column(name="phone_number", nullable=true, type="string") * @var string */ + #[ORM\Column(name: 'phone_number', nullable: true, type: 'string')] private $phone_number; /** - * @ORM\Column(name="pic", type="string") * @var string */ + #[ORM\Column(name: 'pic', type: 'string')] private $pic; /** - * @ORM\Column(name="external_id", type="string") * @var string */ + #[ORM\Column(name: 'external_id', type: 'string')] private $external_id; /** - * @ORM\Column(name="external_provider", type="string") * @var string */ + #[ORM\Column(name: 'external_provider', type: 'string')] private $external_provider; /** - * @ORM\Column(name="external_pic", type="string") * @var string */ + #[ORM\Column(name: 'external_pic', type: 'string')] private $external_pic; // relations - /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\OAuth2OTP", cascade={"persist"}) - * @ORM\JoinColumn(name="created_by_otp_id", referencedColumnName="id", nullable=true) * @var OAuth2OTP */ + #[ORM\JoinColumn(name: 'created_by_otp_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\OAuth2OTP::class, cascade: ['persist'])] private $created_by_otp; /** - * @ORM\OneToOne(targetEntity="App\libs\Auth\Models\UserRegistrationRequest", mappedBy="owner", cascade={"persist","remove"}, orphanRemoval=true) * @var UserRegistrationRequest */ + #[ORM\OneToOne(targetEntity: \App\libs\Auth\Models\UserRegistrationRequest::class, mappedBy: 'owner', cascade: ['persist', 'remove'], orphanRemoval: true)] private $registration_request; /** - * @ORM\ManyToOne(targetEntity="Auth\User", cascade={"persist"}) - * @ORM\JoinColumn(name="created_by_id", referencedColumnName="id", nullable=true) * @var User */ + #[ORM\JoinColumn(name: 'created_by_id', referencedColumnName: 'id', nullable: true)] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, cascade: ['persist'])] private $created_by; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\AccessToken", mappedBy="owner", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\AccessToken::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $access_tokens; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\RefreshToken", mappedBy="owner", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\RefreshToken::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $refresh_tokens; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\Client", mappedBy="user", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\Client::class, mappedBy: 'user', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $clients; /** - * @ORM\ManyToMany(targetEntity="Models\OAuth2\Client", mappedBy="admin_users", fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\ManyToMany(targetEntity: \Models\OAuth2\Client::class, mappedBy: 'admin_users', fetch: 'EXTRA_LAZY')] private $managed_clients; /** - * @ORM\OneToMany(targetEntity="Auth\UserPasswordResetRequest", mappedBy="owner", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Auth\UserPasswordResetRequest::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $reset_password_requests; /** - * @ORM\OneToMany(targetEntity="Models\OpenId\OpenIdTrustedSite", mappedBy="owner", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OpenId\OpenIdTrustedSite::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $trusted_sites; /** - * @ORM\OneToMany(targetEntity="Models\OAuth2\UserConsent", mappedBy="owner", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\OAuth2\UserConsent::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $consents; /** - * @ORM\OneToMany(targetEntity="Models\UserAction", mappedBy="owner", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Models\UserAction::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $actions; /** - * @ORM\OneToMany(targetEntity="Auth\Affiliation", mappedBy="owner", cascade={"persist"}, orphanRemoval=true, fetch="EXTRA_LAZY") * @var ArrayCollection */ + #[ORM\OneToMany(targetEntity: \Auth\Affiliation::class, mappedBy: 'owner', cascade: ['persist'], orphanRemoval: true, fetch: 'EXTRA_LAZY')] private $affiliations; /** * Many Users have Many Groups. - * @ORM\ManyToMany(targetEntity="Auth\Group", inversedBy="users", cascade={"persist"}, fetch="EXTRA_LAZY") - * @ORM\JoinTable(name="user_groups", - * joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}) */ + #[ORM\JoinTable(name: 'user_groups')] + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id')] + #[ORM\InverseJoinColumn(name: 'group_id', referencedColumnName: 'id')] + #[ORM\ManyToMany(targetEntity: \Auth\Group::class, inversedBy: 'users', cascade: ['persist'], fetch: 'EXTRA_LAZY')] private $groups; - /** - * @ORM\ManyToMany(targetEntity="Models\OAuth2\ApiScopeGroup", mappedBy="users", fetch="EXTRA_LAZY") - */ + #[ORM\ManyToMany(targetEntity: \Models\OAuth2\ApiScopeGroup::class, mappedBy: 'users', fetch: 'EXTRA_LAZY')] private $scope_groups; public const SaltLen = 50; @@ -782,9 +778,10 @@ public function addToGroup(Group $group) // slugs $monitored_security_groups = Config::get("audit.monitored_security_groups_set"); + Log::debug(sprintf("User::addToGroup monitored security groups %s", implode(',', $monitored_security_groups))); if(in_array($group->getSlug(), $monitored_security_groups)) { // trigger job - // trigger job + Log::debug(sprintf("User::addToGroup dispatching NotifyMonitoredSecurityGroupActivity for user %s group %s", $this->id, $group->getSlug())); NotifyMonitoredSecurityGroupActivity::dispatch( NotifyMonitoredSecurityGroupActivity::ACTION_ADD_2_GROUP, $this->id, @@ -837,14 +834,27 @@ public function removeFromGroup(Group $group) "Only Super Admins can remove users from groups", ); } + + $action = sprintf + ( + "REMOVE FROM GROUP (%s) BY USER %s (%s)", + + $group->getName(), + $current_user->getEmail(), + $current_user->getId() + ); + + AddUserAction::dispatch($this->id, IPHelper::getUserIp(), $action); } if (!$this->groups->contains($group)) return; $this->groups->removeElement($group); // slugs $monitored_security_groups = Config::get("audit.monitored_security_groups_set"); + Log::debug(sprintf("User::removeFromGroup monitored security groups %s", implode(',', $monitored_security_groups))); if(in_array($group->getSlug(), $monitored_security_groups)) { // trigger job + Log::debug(sprintf("User::removeFromGroup dispatching NotifyMonitoredSecurityGroupActivity for user %s group %s", $this->id, $group->getSlug())); NotifyMonitoredSecurityGroupActivity::dispatch( NotifyMonitoredSecurityGroupActivity::REMOVE_FROM_GROUP, $this->id, @@ -1689,7 +1699,7 @@ public function getConsents(): ArrayCollection /** * @return ArrayCollection */ - public function getActions(): ArrayCollection + public function getActions() { return $this->actions; } @@ -1935,25 +1945,21 @@ public function setIdentifier(string $identifier) $this->identifier = strtolower(trim($identifier)); } - /** - * @PostPersist - */ + #[PostPersist] public function postPersist($args) { Event::dispatch(new UserCreated($this->getId())); } - /** - * @PreRemove - */ + #[PreRemove] public function preRemove($args) { } /** - * @PreUpdate * @param PreUpdateEventArgs $args */ + #[PreUpdate] public function preUpdate(PreUpdateEventArgs $args) { if($this->spam_type != self::SpamTypeNone ){ @@ -2262,9 +2268,7 @@ public function createdByOTP():bool{ return !is_null($this->created_by_otp); } - /** - * @ORM\PostUpdate: - */ + #[ORM\PostUpdate] // : public function updated($args) { @@ -2277,9 +2281,7 @@ private function formatFieldValue(string $field, $value):string{ if(empty($value)) $value = "EMPTY"; return $value; } - /** - * @ORM\PreUpdate: - */ + #[ORM\PreUpdate] // : public function updating(PreUpdateEventArgs $args) { $fields_2_check = [ diff --git a/app/libs/Auth/Models/UserPasswordResetRequest.php b/app/libs/Auth/Models/UserPasswordResetRequest.php index c9a95288..6a3f313b 100644 --- a/app/libs/Auth/Models/UserPasswordResetRequest.php +++ b/app/libs/Auth/Models/UserPasswordResetRequest.php @@ -17,38 +17,37 @@ use Illuminate\Support\Facades\Event; use Doctrine\ORM\Mapping AS ORM; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineUserPasswordResetRequestRepository") - * @ORM\Table(name="user_password_reset_request") - * @ORM\HasLifecycleCallbacks - * Class UserPasswordResetRequest * @package Auth */ +#[ORM\Table(name: 'user_password_reset_request')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineUserPasswordResetRequestRepository::class)] +#[ORM\HasLifecycleCallbacks] // Class UserPasswordResetRequest class UserPasswordResetRequest extends BaseEntity { /** - * @ORM\ManyToOne(targetEntity="Auth\User", inversedBy="reset_password_requests") - * @ORM\JoinColumn(name="owner_id", referencedColumnName="id") * @var User */ + #[ORM\JoinColumn(name: 'owner_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Auth\User::class, inversedBy: 'reset_password_requests')] private $owner; /** - * @ORM\Column(name="lifetime", type="integer") * @var int */ + #[ORM\Column(name: 'lifetime', type: 'integer')] private $lifetime; /** - * @ORM\Column(name="hash", type="string") * @var string */ + #[ORM\Column(name: 'hash', type: 'string')] private $hash; /** * @var \DateTime - * @ORM\Column(name="redeem_at", nullable=true, type="datetime") */ + #[ORM\Column(name: 'redeem_at', nullable: true, type: 'datetime')] private $redeem_at; /** @@ -170,9 +169,7 @@ public function isValid():bool{ return $void_date > $now; } - /** - * @ORM\PostPersist - */ + #[ORM\PostPersist] public function inserted($args){ Event::dispatch(new UserPasswordResetRequestCreated($this->getId())); } diff --git a/app/libs/Auth/Models/UserRegistrationRequest.php b/app/libs/Auth/Models/UserRegistrationRequest.php index e72b7fe3..44651222 100644 --- a/app/libs/Auth/Models/UserRegistrationRequest.php +++ b/app/libs/Auth/Models/UserRegistrationRequest.php @@ -19,67 +19,66 @@ use Doctrine\ORM\Mapping AS ORM; use Models\OAuth2\Client; /** - * @ORM\Entity(repositoryClass="App\Repositories\DoctrineUserRegistrationRequestRepository") - * @ORM\Table(name="user_registration_requests") - * Class UserRegistrationRequest * @package App\libs\Auth\Models */ +#[ORM\Table(name: 'user_registration_requests')] +#[ORM\Entity(repositoryClass: \App\Repositories\DoctrineUserRegistrationRequestRepository::class)] class UserRegistrationRequest extends BaseEntity { /** - * @ORM\OneToOne(targetEntity="Auth\User", inversedBy="registration_request") - * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true) * @var User */ + #[ORM\JoinColumn(name: 'user_id', referencedColumnName: 'id', nullable: true)] + #[ORM\OneToOne(targetEntity: \Auth\User::class, inversedBy: 'registration_request')] private $owner; /** - * @ORM\ManyToOne(targetEntity="Models\OAuth2\Client", cascade={"persist"}) - * @ORM\JoinColumn(name="client_id", referencedColumnName="id") * @var Client */ + #[ORM\JoinColumn(name: 'client_id', referencedColumnName: 'id')] + #[ORM\ManyToOne(targetEntity: \Models\OAuth2\Client::class, cascade: ['persist'])] private $client; /** - * @ORM\Column(name="hash", type="string") * @var string */ + #[ORM\Column(name: 'hash', type: 'string')] private $hash; /** - * @ORM\Column(name="email", type="string") * @var string */ + #[ORM\Column(name: 'email', type: 'string')] private $email; /** - * @ORM\Column(name="first_name", type="string") * @var string */ + #[ORM\Column(name: 'first_name', type: 'string')] private $first_name; /** - * @ORM\Column(name="last_name", type="string") * @var string */ + #[ORM\Column(name: 'last_name', type: 'string')] private $last_name; /** - * @ORM\Column(name="company", type="string") * @var string */ + #[ORM\Column(name: 'company', type: 'string')] private $company; /** * @var \DateTime - * @ORM\Column(name="redeem_at", nullable=true, type="datetime") */ + #[ORM\Column(name: 'redeem_at', nullable: true, type: 'datetime')] private $redeem_at; /** - * @ORM\Column(name="country_iso_code", type="string") * @var string */ + #[ORM\Column(name: 'country_iso_code', type: 'string')] private $country_iso_code; public function __construct() diff --git a/composer.json b/composer.json index d59d9227..904a5547 100644 --- a/composer.json +++ b/composer.json @@ -57,12 +57,13 @@ "vladimir-yuldashev/laravel-queue-rabbitmq": "v14.1.0" }, "require-dev": { - "filp/whoops": "^2.0", "fakerphp/faker": "^1.23", + "filp/whoops": "^2.0", + "laravel/browser-kit-testing": "7.2.0", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.0", "phpunit/phpunit": "^11.0.1", - "laravel/browser-kit-testing": "7.2.0" + "rector/rector": "^2.0" }, "suggest":{ "lib-openssl": "Required to use AES algorithms (except AES GCM)", @@ -127,4 +128,4 @@ }, "minimum-stability": "dev", "prefer-stable": true -} \ No newline at end of file +} diff --git a/composer.lock b/composer.lock index d2028464..75fdc9b3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4e80f536fb3fcfa74675f495def4f8fb", + "content-hash": "ef0269cb0b55abd41f30af2c7d4c5bf7", "packages": [ { "name": "aws/aws-crt-php", @@ -10824,6 +10824,64 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpstan/phpstan", + "version": "2.1.14", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "8f2e03099cac24ff3b379864d171c5acbfc6b9a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8f2e03099cac24ff3b379864d171c5acbfc6b9a2", + "reference": "8f2e03099cac24ff3b379864d171c5acbfc6b9a2", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + } + ], + "time": "2025-05-02T15:32:28+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "11.0.9", @@ -11248,6 +11306,65 @@ ], "time": "2025-03-07T07:31:03+00:00" }, + { + "name": "rector/rector", + "version": "2.0.16", + "source": { + "type": "git", + "url": "https://github.com/rectorphp/rector.git", + "reference": "f1366d1f8c7490541c8f7af6e5c7cef7cca1b5a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/f1366d1f8c7490541c8f7af6e5c7cef7cca1b5a2", + "reference": "f1366d1f8c7490541c8f7af6e5c7cef7cca1b5a2", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "phpstan/phpstan": "^2.1.14" + }, + "conflict": { + "rector/rector-doctrine": "*", + "rector/rector-downgrade-php": "*", + "rector/rector-phpunit": "*", + "rector/rector-symfony": "*" + }, + "suggest": { + "ext-dom": "To manipulate phpunit.xml via the custom-rule command" + }, + "bin": [ + "bin/rector" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Instant Upgrade and Automated Refactoring of any PHP code", + "keywords": [ + "automation", + "dev", + "migration", + "refactoring" + ], + "support": { + "issues": "https://github.com/rectorphp/rector/issues", + "source": "https://github.com/rectorphp/rector/tree/2.0.16" + }, + "funding": [ + { + "url": "https://github.com/tomasvotruba", + "type": "github" + } + ], + "time": "2025-05-12T16:37:16+00:00" + }, { "name": "sebastian/cli-parser", "version": "3.0.2", @@ -12360,4 +12477,4 @@ }, "platform-dev": {}, "plugin-api-version": "2.6.0" -} \ No newline at end of file +} diff --git a/config/audit.php b/config/audit.php index d9e04393..578812fb 100644 --- a/config/audit.php +++ b/config/audit.php @@ -12,6 +12,6 @@ * limitations under the License. **/ return [ - 'monitored_security_groups_set' => explode(',', env('MONITORED_SECURITY_GROUPS', 'administrators,summit-front-end-administrators, super-admins')), + 'monitored_security_groups_set' => explode(',', env('MONITORED_SECURITY_GROUPS', 'administrators,summit-front-end-administrators,super-admins')), 'monitored_security_groups_set_activity_watchers' => explode(',', env('‘‘MONITORED_SECURITY_GROUPS_SET_ACTIVITY_WATCHERS', 'super-admins,administrators')), ]; \ No newline at end of file diff --git a/config/doctrine.php b/config/doctrine.php index 55e70c3a..c5e8aaea 100644 --- a/config/doctrine.php +++ b/config/doctrine.php @@ -24,7 +24,7 @@ 'managers' => [ 'model' => [ 'dev' => env('APP_DEBUG', false), - 'meta' => env('DOCTRINE_METADATA', 'annotations'), + 'meta' => env('DOCTRINE_METADATA', 'attributes'), 'quote_strategy' => EscapingQuoteStrategy::class, 'connection' => 'openstackid', 'namespaces' => [ @@ -84,7 +84,7 @@ * https://www.doctrine-project.org/projects/doctrine-dbal/en/current/reference/architecture.html#middlewares */ 'middlewares' => array_filter([ - env('DOCTRINE_LOGGING', false) ? Doctrine\DBAL\Logging\Middleware::class : null, + boolval(env('DOCTRINE_LOGGING', false)) ? Doctrine\DBAL\Logging\Middleware::class : null, ]), ] ], diff --git a/resources/views/emails/audit/monitored_security_group_notification.blade.php b/resources/views/emails/audit/monitored_security_group_notification.blade.php index 6f67a0ce..24824d2f 100644 --- a/resources/views/emails/audit/monitored_security_group_notification.blade.php +++ b/resources/views/emails/audit/monitored_security_group_notification.blade.php @@ -7,7 +7,7 @@
- User {!! $user_name !!} (Email: {!! $user_email !!}) has been * {!! $action !!} * + User {!! $user_name !!} (Email: {!! $user_email !!}) has been {!! $action !!}