entityType = $entityType; $this->entityManager = $entityManager; } private function getSeed(): Entity { return $this->seed ?? $this->entityManager->getEntity($this->entityType); } public function hasAssignedUsersField(): bool { if ( $this->getSeed()->hasRelation('assignedUsers') && $this->getSeed()->hasAttribute('assignedUsersIds') ) { return true; } return false; } public function hasAssignedUserField(): bool { if ($this->getSeed()->hasAttribute('assignedUserId')) { return true; } return false; } public function hasCreatedByField(): bool { if ($this->getSeed()->hasAttribute('createdById')) { return true; } return false; } public function hasTeamsField(): bool { if ( $this->getSeed()->hasRelation('teams') && $this->getSeed()->hasAttribute('teamsIds') ) { return true; } return false; } public function hasContactField(): bool { return $this->getSeed()->hasAttribute('contactId') && $this->getSeed()->getRelationParam('contact', 'entity') === 'Contact'; } public function hasContactsRelation(): bool { return $this->getSeed()->hasRelation('contacts') && $this->getSeed()->getRelationParam('contacts', 'entity') === 'Contact'; } public function hasParentField(): bool { return $this->getSeed()->hasAttribute('parentId') && $this->getSeed()->hasRelation('parent'); } public function hasAccountField(): bool { return $this->getSeed()->hasAttribute('accountId') && $this->getSeed()->getRelationParam('account', 'entity') === 'Account'; } public function hasAccountsRelation(): bool { return $this->getSeed()->hasRelation('accounts') && $this->getSeed()->getRelationParam('accounts', 'entity') === 'Account'; } }