accounts/api/rbac/Permissions.php
Octol1ttle 57d492da8a
Upgrade project to PHP 8.3, add PHPStan, upgrade almost every dependency (#36)
* start updating to PHP 8.3

* taking off!

Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru>
Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* dropped this

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* migrate to symfonymailer

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* this is so stupid 😭

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* ah, free, at last.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* oh, Gabriel.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* now dawns thy reckoning.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* and thy gore shall GLISTEN before the temples of man.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* creature of steel.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* my gratitude upon thee for my freedom.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* but the crimes thy kind has committed against humanity

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* Upgrade PHP-CS-Fixer and do fix the codebase

* First review round (maybe I have broken something)

* are NOT forgotten.

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>

* Enable parallel PHP-CS-Fixer runner

* PHPStan level 1

* PHPStan level 2

* PHPStan level 3

* PHPStan level 4

* PHPStan level 5

* Levels 6 and 7 takes too much effort. Generate a baseline and fix them eventually

* Resolve TODO's related to the php-mock

* Drastically reduce baseline size with the Rector

* More code modernization with help of the Rector

* Update GitLab CI

---------

Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
Co-authored-by: ErickSkrauch <erickskrauch@yandex.ru>
2024-12-02 11:10:55 +01:00

48 lines
2.5 KiB
PHP

<?php
declare(strict_types=1);
namespace api\rbac;
final class Permissions {
// Top level Controller permissions
public const string OBTAIN_ACCOUNT_INFO = 'obtain_account_info';
public const string CHANGE_ACCOUNT_LANGUAGE = 'change_account_language';
public const string CHANGE_ACCOUNT_USERNAME = 'change_account_username';
public const string CHANGE_ACCOUNT_PASSWORD = 'change_account_password';
public const string CHANGE_ACCOUNT_EMAIL = 'change_account_email';
public const string MANAGE_TWO_FACTOR_AUTH = 'manage_two_factor_auth';
public const string DELETE_ACCOUNT = 'delete_account';
public const string RESTORE_ACCOUNT = 'restore_account';
public const string BLOCK_ACCOUNT = 'block_account';
public const string COMPLETE_OAUTH_FLOW = 'complete_oauth_flow';
public const string MANAGE_OAUTH_SESSIONS = 'manage_oauth_sessions';
public const string CREATE_OAUTH_CLIENTS = 'create_oauth_clients';
public const string VIEW_OAUTH_CLIENTS = 'view_oauth_clients';
public const string MANAGE_OAUTH_CLIENTS = 'manage_oauth_clients';
// Personal level controller permissions
public const string OBTAIN_OWN_ACCOUNT_INFO = 'obtain_own_account_info';
public const string OBTAIN_OWN_EXTENDED_ACCOUNT_INFO = 'obtain_own_extended_account_info';
public const string CHANGE_OWN_ACCOUNT_LANGUAGE = 'change_own_account_language';
public const string ACCEPT_NEW_PROJECT_RULES = 'accept_new_project_rules';
public const string CHANGE_OWN_ACCOUNT_USERNAME = 'change_own_account_username';
public const string CHANGE_OWN_ACCOUNT_PASSWORD = 'change_own_account_password';
public const string CHANGE_OWN_ACCOUNT_EMAIL = 'change_own_account_email';
public const string MANAGE_OWN_TWO_FACTOR_AUTH = 'manage_own_two_factor_auth';
public const string DELETE_OWN_ACCOUNT = 'delete_own_account';
public const string RESTORE_OWN_ACCOUNT = 'restore_own_account';
public const string MINECRAFT_SERVER_SESSION = 'minecraft_server_session';
public const string MANAGE_OWN_OAUTH_SESSIONS = 'manage_own_oauth_sessions';
public const string VIEW_OWN_OAUTH_CLIENTS = 'view_own_oauth_clients';
public const string MANAGE_OWN_OAUTH_CLIENTS = 'manage_own_oauth_clients';
// Data permissions
public const string OBTAIN_ACCOUNT_EMAIL = 'obtain_account_email';
public const string OBTAIN_EXTENDED_ACCOUNT_INFO = 'obtain_account_extended_info';
// Service permissions
public const string ESCAPE_IDENTITY_VERIFICATION = 'escape_identity_verification';
}