Files
animethemes-server/app/Enums/Auth/Role.php
T

59 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Enums\Auth;
enum Role: string
{
case ADMIN = 'Admin';
case CONTENT_MODERATOR = 'Content Moderator';
case CONTRIBUTOR = 'Contributor';
case DEVELOPER = 'Developer';
case ENCODER = 'Encoder';
case PANEL_VIEWER = 'Panel Viewer';
case PATRON = 'Patron';
case VERIFIED = 'Verified';
/**
* Get the color for the role.
*/
public function color(): ?string
{
return match ($this) {
Role::ADMIN => '#1F8B4C',
Role::CONTENT_MODERATOR => '#2E5A88',
Role::CONTRIBUTOR => '#052C41',
Role::DEVELOPER => '#FF69B4',
Role::ENCODER => '#FFC107',
Role::PANEL_VIEWER => '#2596D1',
Role::PATRON => '#E74C3C',
default => null,
};
}
/**
* Get the priority value for the role.
*/
public function priority(): int
{
return match ($this) {
Role::ADMIN => 250000,
Role::ENCODER => 150000,
Role::DEVELOPER => 125000,
Role::CONTENT_MODERATOR => 100000,
Role::PATRON => 75000,
Role::CONTRIBUTOR => 50000,
Role::PANEL_VIEWER => 25000,
default => 0,
};
}
}