diff --git a/composer.json b/composer.json index f57b175..fc03798 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,8 @@ }, "autoload-dev": { "psr-4": { - "PluginTests\\": "tests/" + "PluginTests\\": "tests/", + "Tests\\Tests\\Factories\\": "vendor/forumify/forumify-platform/tests/Tests/Factories/" } }, "config": { diff --git a/src/Entity/Record/AssignmentRecord.php b/src/Entity/Record/AssignmentRecord.php index f7a1607..feca959 100644 --- a/src/Entity/Record/AssignmentRecord.php +++ b/src/Entity/Record/AssignmentRecord.php @@ -6,6 +6,7 @@ use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping\Column; +use Forumify\Core\Entity\AuditableEntityInterface; use Forumify\Milhq\Entity\Soldier; use Forumify\Milhq\Entity\Position; use Forumify\Milhq\Entity\Specialty; @@ -17,7 +18,7 @@ #[ORM\Index(fields: ['type'])] #[ORM\Index(fields: ['soldier', 'type'])] #[ORM\Table('milhq_record_assignment')] -class AssignmentRecord implements RecordInterface +class AssignmentRecord implements RecordInterface, AuditableEntityInterface { use RecordFields; diff --git a/src/Entity/Record/AwardRecord.php b/src/Entity/Record/AwardRecord.php index 4f4d1a0..1512a90 100644 --- a/src/Entity/Record/AwardRecord.php +++ b/src/Entity/Record/AwardRecord.php @@ -5,13 +5,14 @@ namespace Forumify\Milhq\Entity\Record; use Doctrine\ORM\Mapping as ORM; +use Forumify\Core\Entity\AuditableEntityInterface; use Forumify\Milhq\Entity\Award; use Forumify\Milhq\Entity\Soldier; use Forumify\Milhq\Repository\AwardRecordRepository; #[ORM\Entity(repositoryClass: AwardRecordRepository::class)] #[ORM\Table('milhq_record_award')] -class AwardRecord implements RecordInterface +class AwardRecord implements RecordInterface, AuditableEntityInterface { use RecordFields; diff --git a/src/Entity/Record/CombatRecord.php b/src/Entity/Record/CombatRecord.php index ae8bf02..f7ecc04 100644 --- a/src/Entity/Record/CombatRecord.php +++ b/src/Entity/Record/CombatRecord.php @@ -5,12 +5,13 @@ namespace Forumify\Milhq\Entity\Record; use Doctrine\ORM\Mapping as ORM; +use Forumify\Core\Entity\AuditableEntityInterface; use Forumify\Milhq\Entity\Soldier; use Forumify\Milhq\Repository\CombatRecordRepository; #[ORM\Entity(repositoryClass: CombatRecordRepository::class)] #[ORM\Table('milhq_record_combat')] -class CombatRecord implements RecordInterface +class CombatRecord implements RecordInterface, AuditableEntityInterface { use RecordFields; diff --git a/src/Entity/Record/QualificationRecord.php b/src/Entity/Record/QualificationRecord.php index 18390ff..ee22c9e 100644 --- a/src/Entity/Record/QualificationRecord.php +++ b/src/Entity/Record/QualificationRecord.php @@ -5,13 +5,14 @@ namespace Forumify\Milhq\Entity\Record; use Doctrine\ORM\Mapping as ORM; +use Forumify\Core\Entity\AuditableEntityInterface; use Forumify\Milhq\Entity\Soldier; use Forumify\Milhq\Entity\Qualification; use Forumify\Milhq\Repository\QualificationRecordRepository; #[ORM\Entity(repositoryClass: QualificationRecordRepository::class)] #[ORM\Table('milhq_record_qualification')] -class QualificationRecord implements RecordInterface +class QualificationRecord implements RecordInterface, AuditableEntityInterface { use RecordFields; diff --git a/src/Entity/Record/RankRecord.php b/src/Entity/Record/RankRecord.php index f7c8b5f..6824b47 100644 --- a/src/Entity/Record/RankRecord.php +++ b/src/Entity/Record/RankRecord.php @@ -5,13 +5,14 @@ namespace Forumify\Milhq\Entity\Record; use Doctrine\ORM\Mapping as ORM; +use Forumify\Core\Entity\AuditableEntityInterface; use Forumify\Milhq\Entity\Soldier; use Forumify\Milhq\Entity\Rank; use Forumify\Milhq\Repository\RankRecordRepository; #[ORM\Entity(repositoryClass: RankRecordRepository::class)] #[ORM\Table('milhq_record_rank')] -class RankRecord implements RecordInterface +class RankRecord implements RecordInterface, AuditableEntityInterface { use RecordFields; diff --git a/src/Entity/Record/RecordFields.php b/src/Entity/Record/RecordFields.php index 4d37bf4..f78c441 100644 --- a/src/Entity/Record/RecordFields.php +++ b/src/Entity/Record/RecordFields.php @@ -5,11 +5,15 @@ namespace Forumify\Milhq\Entity\Record; use Doctrine\ORM\Mapping as ORM; +use Forumify\Core\Entity\AuditableEntityInterface; use Forumify\Core\Entity\IdentifiableEntityTrait; use Forumify\Core\Entity\TimestampableEntityTrait; use Forumify\Milhq\Entity\Document; use Forumify\Milhq\Entity\Soldier; +/** + * @phpstan-require-implements AuditableEntityInterface + */ trait RecordFields { use IdentifiableEntityTrait; @@ -65,4 +69,14 @@ public function setDocument(?Document $document): void { $this->document = $document; } + + public function getIdentifierForAudit(): string + { + return (string)$this->getId(); + } + + public function getNameForAudit(): string + { + return $this->getSoldier()->getName(); + } } diff --git a/src/Entity/Record/ServiceRecord.php b/src/Entity/Record/ServiceRecord.php index fcb71da..d7e8e98 100644 --- a/src/Entity/Record/ServiceRecord.php +++ b/src/Entity/Record/ServiceRecord.php @@ -5,12 +5,13 @@ namespace Forumify\Milhq\Entity\Record; use Doctrine\ORM\Mapping as ORM; +use Forumify\Core\Entity\AuditableEntityInterface; use Forumify\Milhq\Entity\Soldier; use Forumify\Milhq\Repository\ServiceRecordRepository; #[ORM\Entity(repositoryClass: ServiceRecordRepository::class)] #[ORM\Table('milhq_record_service')] -class ServiceRecord implements RecordInterface +class ServiceRecord implements RecordInterface, AuditableEntityInterface { use RecordFields;