helper = new GeneralHelper(); } public function getAllRoles() { try { $roles = Role::all(); return ['success' => true, 'message' => 'Roles fetched successfully', 'data' => $roles]; } catch (\Exception $e) { return ['success' => false, 'message' => $e->getMessage(), 'error' => $e->getMessage()]; } } public function createRole($data) { DB::beginTransaction(); try { $role = Role::create([ 'name' => $data->name, 'guard_name' => 'web' ]); foreach ($data->permissions as $permissions) { foreach ($permissions as $permission) { if ($permission['checked']) { $role->givePermissionTo($permission['name']); } } } DB::commit(); return ['success' => true, 'message' => 'Role created successfully', 'data' => $role]; } catch (\Exception $e) { DB::rollback(); return ['success' => false, 'message' => $e->getMessage(), 'error' => $e->getMessage()]; } } public function getRoleById($id) { try { return ['success' => true, 'message' => 'User created successfully', 'data' => []]; } catch (\Exception $e) { return ['success' => false, 'message' => $e->getMessage(), 'error' => $e->getMessage()]; } } public function updateRoleById($id, $data) { DB::beginTransaction(); try { $role = Role::findOrFail($id); $role->update([ 'name' => $data->name, ]); foreach ($data->permissions as $permissions) { foreach ($permissions as $permission) { if ($permission['checked']) { $role->givePermissionTo($permission['name']); } else { $role->revokePermissionTo($permission['name']); } } } DB::commit(); return ['success' => true, 'message' => 'Role updated successfully', 'data' => $role]; } catch (\Exception $e) { DB::rollback(); return ['success' => false, 'message' => $e->getMessage(), 'error' => $e->getMessage()]; } } }