<?php declare(strict_types=1); namespace App\Domain\Users; use App\BaseClasses\BaseService; use App\Enums\RoleEnum; use App\Models\Role; use App\Models\User; class UserService extends BaseService { /** * @param User $user * @param RoleEnum $role * @return void */ public function assignRole($user, RoleEnum $role, ?int $modelID): void { Role::create([ 'user_id' => $user->id, 'role' => $role->value, 'model_id' => $modelID ]); } public function assignPermissions($user, $permissions, ?int $modelID): void { if ($user) { Role::query()->where(['user_id' => $user->id, 'model_id' => $modelID])->update(['permissions' => json_encode($permissions)]); } } }