['can_delete' => 'permission.identifier', ...] */ protected function abilityMap(): array { return []; } /** * 컬렉션 레벨 abilities를 해석합니다. * * @param Request $request HTTP 요청 객체 * @return array */ public function resolveCollectionAbilities(Request $request): array { $map = $this->abilityMap(); if (empty($map)) { return []; } $user = $request->user(); $abilities = []; foreach ($map as $key => $permission) { $abilities[$key] = PermissionHelper::check($permission, $user); } return $abilities; } }