From 14f25c9a4486478b9244de6f7fe772b89074e2d6 Mon Sep 17 00:00:00 2001 From: Sebastian Krupinski Date: Sun, 21 Jun 2026 21:47:51 -0400 Subject: [PATCH] refactor: people entity properties objects Signed-off-by: Sebastian Krupinski --- shared/lib/People/Entity/GroupObject.php | 51 +++++++++++++ shared/lib/People/Entity/IndividualObject.php | 75 +++++++++++++++++++ .../lib/People/Entity/OrganizationObject.php | 61 +++++++++++++++ .../Property/AffiliationCollection.php} | 6 +- .../Entity/Property/AffiliationObject.php | 22 ++++++ .../Property/AliasCollection.php} | 8 +- .../Property/AliasObject.php} | 4 +- .../Property/AnniversaryCollection.php} | 8 +- .../Property/AnniversaryObject.php} | 6 +- .../Property/AnniversaryTypes.php} | 4 +- .../Entity/Property/CryptoCollection.php | 20 +++++ .../Property/CryptoObject.php} | 4 +- .../Entity/Property/EmailCollection.php | 20 +++++ .../Property/EmailObject.php} | 4 +- .../Entity/Property/LanguageCollection.php | 20 +++++ .../People/Entity/Property/LanguageObject.php | 21 ++++++ .../Entity/Property/MediaCollection.php | 20 +++++ .../Property/MediaObject.php} | 6 +- .../Entity/Property/MemberCollection.php | 20 +++++ .../People/Entity/Property/MemberObject.php | 21 ++++++ .../Property/NameComplexObject.php} | 8 +- .../Entity/Property/NameSimpleObject.php | 24 ++++++ .../People/Entity/Property/NoteCollection.php | 20 +++++ .../Property/NoteObject.php} | 5 +- .../Entity/Property/PhoneCollection.php | 20 +++++ .../Property/PhoneObject.php} | 6 +- .../Property/PhysicalLocationCollection.php} | 8 +- .../Property/PhysicalLocationObject.php} | 6 +- .../Entity/Property/PronounCollection.php | 20 +++++ .../Property/PronounObject.php} | 7 +- .../Property/TagCollection.php} | 6 +- .../Entity/Property/TitleCollection.php | 20 +++++ .../Property/TitleObject.php} | 9 +-- .../Property/TitleTypes.php} | 4 +- .../Property/VirtualLocationCollection.php} | 8 +- .../Property/VirtualLocationObject.php} | 5 +- .../IndividualAnniversaryCollection.php | 20 ----- .../Individual/IndividualEmailCollection.php | 20 ----- .../Individual/IndividualLanguageObject.php | 22 ------ .../Individual/IndividualMediaCollection.php | 20 ----- .../Individual/IndividualNoteCollection.php | 20 ----- .../People/Individual/IndividualObject.php | 62 --------------- .../IndividualOrganizationCollection.php | 20 ----- .../IndividualOrganizationObject.php | 29 ------- .../Individual/IndividualPhoneCollection.php | 20 ----- .../IndividualPhysicalLocationCollection.php | 20 ----- .../IndividualVirtualLocationCollection.php | 20 ----- 47 files changed, 514 insertions(+), 336 deletions(-) create mode 100644 shared/lib/People/Entity/GroupObject.php create mode 100644 shared/lib/People/Entity/IndividualObject.php create mode 100644 shared/lib/People/Entity/OrganizationObject.php rename shared/lib/People/{Individual/IndividualAliasCollection.php => Entity/Property/AffiliationCollection.php} (60%) create mode 100644 shared/lib/People/Entity/Property/AffiliationObject.php rename shared/lib/People/{Individual/IndividualPronounCollection.php => Entity/Property/AliasCollection.php} (59%) rename shared/lib/People/{Individual/IndividualAliasObject.php => Entity/Property/AliasObject.php} (75%) rename shared/lib/People/{Individual/IndividualLanguageCollection.php => Entity/Property/AnniversaryCollection.php} (59%) rename shared/lib/People/{Individual/IndividualAnniversaryObject.php => Entity/Property/AnniversaryObject.php} (65%) rename shared/lib/People/{Individual/IndividualAnniversaryTypes.php => Entity/Property/AnniversaryTypes.php} (73%) create mode 100644 shared/lib/People/Entity/Property/CryptoCollection.php rename shared/lib/People/{Individual/IndividualCryptoObject.php => Entity/Property/CryptoObject.php} (76%) create mode 100644 shared/lib/People/Entity/Property/EmailCollection.php rename shared/lib/People/{Individual/IndividualEmailObject.php => Entity/Property/EmailObject.php} (75%) create mode 100644 shared/lib/People/Entity/Property/LanguageCollection.php create mode 100644 shared/lib/People/Entity/Property/LanguageObject.php create mode 100644 shared/lib/People/Entity/Property/MediaCollection.php rename shared/lib/People/{Individual/IndividualMediaObject.php => Entity/Property/MediaObject.php} (80%) create mode 100644 shared/lib/People/Entity/Property/MemberCollection.php create mode 100644 shared/lib/People/Entity/Property/MemberObject.php rename shared/lib/People/{Individual/IndividualNameObject.php => Entity/Property/NameComplexObject.php} (73%) create mode 100644 shared/lib/People/Entity/Property/NameSimpleObject.php create mode 100644 shared/lib/People/Entity/Property/NoteCollection.php rename shared/lib/People/{Individual/IndividualNoteObject.php => Entity/Property/NoteObject.php} (81%) create mode 100644 shared/lib/People/Entity/Property/PhoneCollection.php rename shared/lib/People/{Individual/IndividualPhoneObject.php => Entity/Property/PhoneObject.php} (76%) rename shared/lib/People/{Individual/IndividualCryptoCollection.php => Entity/Property/PhysicalLocationCollection.php} (61%) rename shared/lib/People/{Individual/IndividualPhysicalLocationObject.php => Entity/Property/PhysicalLocationObject.php} (84%) create mode 100644 shared/lib/People/Entity/Property/PronounCollection.php rename shared/lib/People/{Individual/IndividualPronounObject.php => Entity/Property/PronounObject.php} (74%) rename shared/lib/People/{Individual/IndividualTagCollection.php => Entity/Property/TagCollection.php} (73%) create mode 100644 shared/lib/People/Entity/Property/TitleCollection.php rename shared/lib/People/{Individual/IndividualTitleObject.php => Entity/Property/TitleObject.php} (62%) rename shared/lib/People/{Individual/IndividualTitleTypes.php => Entity/Property/TitleTypes.php} (72%) rename shared/lib/People/{Individual/IndividualTitleCollection.php => Entity/Property/VirtualLocationCollection.php} (61%) rename shared/lib/People/{Individual/IndividualVirtualLocationObject.php => Entity/Property/VirtualLocationObject.php} (75%) delete mode 100644 shared/lib/People/Individual/IndividualAnniversaryCollection.php delete mode 100644 shared/lib/People/Individual/IndividualEmailCollection.php delete mode 100644 shared/lib/People/Individual/IndividualLanguageObject.php delete mode 100644 shared/lib/People/Individual/IndividualMediaCollection.php delete mode 100644 shared/lib/People/Individual/IndividualNoteCollection.php delete mode 100644 shared/lib/People/Individual/IndividualObject.php delete mode 100644 shared/lib/People/Individual/IndividualOrganizationCollection.php delete mode 100644 shared/lib/People/Individual/IndividualOrganizationObject.php delete mode 100644 shared/lib/People/Individual/IndividualPhoneCollection.php delete mode 100644 shared/lib/People/Individual/IndividualPhysicalLocationCollection.php delete mode 100644 shared/lib/People/Individual/IndividualVirtualLocationCollection.php diff --git a/shared/lib/People/Entity/GroupObject.php b/shared/lib/People/Entity/GroupObject.php new file mode 100644 index 0000000..de59f20 --- /dev/null +++ b/shared/lib/People/Entity/GroupObject.php @@ -0,0 +1,51 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity; + +use DateTimeInterface; +use KTXF\Json\JsonSerializableObject; +use KTXF\People\Entity\Property\MediaCollection; +use KTXF\People\Entity\Property\MemberCollection; +use KTXF\People\Entity\Property\NameSimpleObject; +use KTXF\People\Entity\Property\NoteCollection; +use KTXF\People\Entity\Property\TagCollection; +use KTXF\People\Entity\Property\VirtualLocationCollection; + +class GroupObject extends JsonSerializableObject { + + // Meta Information + public string $type = 'group'; + public int $version = 1; + public string|null $urid = null; + public ?DateTimeInterface $created = null; + public ?DateTimeInterface $modified = null; + // Group Information + public string|null $label = null; + public NameSimpleObject $names; + // Membership Information + public MemberCollection $members; + // Communication Information + public VirtualLocationCollection $virtualLocations; + // Media Information + public MediaCollection $media; + // Organizational Information + public TagCollection $tags; + public NoteCollection $notes; + + public function __construct() { + $this->names = new NameSimpleObject(); + $this->members = new MemberCollection(); + $this->virtualLocations = new VirtualLocationCollection(); + $this->media = new MediaCollection(); + $this->tags = new TagCollection(); + $this->notes = new NoteCollection(); + } + +} diff --git a/shared/lib/People/Entity/IndividualObject.php b/shared/lib/People/Entity/IndividualObject.php new file mode 100644 index 0000000..f3da662 --- /dev/null +++ b/shared/lib/People/Entity/IndividualObject.php @@ -0,0 +1,75 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity; + +use DateTimeInterface; +use KTXF\Json\JsonSerializableObject; +use KTXF\People\Entity\Property\AffiliationCollection; +use KTXF\People\Entity\Property\AnniversaryCollection; +use KTXF\People\Entity\Property\CryptoCollection; +use KTXF\People\Entity\Property\EmailCollection; +use KTXF\People\Entity\Property\LanguageCollection; +use KTXF\People\Entity\Property\MediaCollection; +use KTXF\People\Entity\Property\NameComplexObject; +use KTXF\People\Entity\Property\NoteCollection; +use KTXF\People\Entity\Property\PhoneCollection; +use KTXF\People\Entity\Property\PhysicalLocationCollection; +use KTXF\People\Entity\Property\TagCollection; +use KTXF\People\Entity\Property\TitleCollection; +use KTXF\People\Entity\Property\VirtualLocationCollection; + +class IndividualObject extends JsonSerializableObject { + + // Meta Information + public string $type = 'individual'; + public int $version = 1; + public string|null $urid = null; + public ?DateTimeInterface $created = null; + public ?DateTimeInterface $modified = null; + // Personal Information + public string|null $label = null; + public NameComplexObject $names; + public TitleCollection $titles; + public AnniversaryCollection $anniversaries; + // Location Information + public PhysicalLocationCollection $physicalLocations; + // Communication Information + public PhoneCollection $phones; + public EmailCollection $emails; + public VirtualLocationCollection $virtualLocations; + // Media Information + public MediaCollection $media; + // Organizations Information + public AffiliationCollection $organizations; + // Organizational Information + public TagCollection $tags; + public NoteCollection $notes; + // Localization Information + public string|null $language = null; + public LanguageCollection $languages; + // Other Information + public CryptoCollection $crypto; + + public function __construct() { + $this->names = new NameComplexObject(); + $this->anniversaries = new AnniversaryCollection(); + $this->phones = new PhoneCollection(); + $this->emails = new EmailCollection(); + $this->physicalLocations = new PhysicalLocationCollection(); + $this->organizations = new AffiliationCollection(); + $this->titles = new TitleCollection(); + $this->tags = new TagCollection(); + $this->notes = new NoteCollection(); + $this->crypto = new CryptoCollection(); + $this->virtualLocations = new VirtualLocationCollection(); + $this->media = new MediaCollection(); + } + +} diff --git a/shared/lib/People/Entity/OrganizationObject.php b/shared/lib/People/Entity/OrganizationObject.php new file mode 100644 index 0000000..f42185c --- /dev/null +++ b/shared/lib/People/Entity/OrganizationObject.php @@ -0,0 +1,61 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity; + +use DateTimeInterface; +use KTXF\Json\JsonSerializableObject; +use KTXF\People\Entity\Property\CryptoCollection; +use KTXF\People\Entity\Property\EmailCollection; +use KTXF\People\Entity\Property\MediaCollection; +use KTXF\People\Entity\Property\NameSimpleObject; +use KTXF\People\Entity\Property\NoteCollection; +use KTXF\People\Entity\Property\PhoneCollection; +use KTXF\People\Entity\Property\PhysicalLocationCollection; +use KTXF\People\Entity\Property\TagCollection; +use KTXF\People\Entity\Property\VirtualLocationCollection; + +class OrganizationObject extends JsonSerializableObject { + + // Meta Information + public string $type = 'organization'; + public int $version = 1; + public string|null $urid = null; + public ?DateTimeInterface $created = null; + public ?DateTimeInterface $modified = null; + // Organization Information + public string|null $label = null; + public NameSimpleObject $names; + // Location Information + public PhysicalLocationCollection $physicalLocations; + // Communication Information + public PhoneCollection $phones; + public EmailCollection $emails; + public VirtualLocationCollection $virtualLocations; + // Media Information + public MediaCollection $media; + // Organizational Information + public TagCollection $tags; + public NoteCollection $notes; + // Other Information + public CryptoCollection $crypto; + + public function __construct() { + $this->names = new NameSimpleObject(); + $this->physicalLocations = new PhysicalLocationCollection(); + $this->phones = new PhoneCollection(); + $this->emails = new EmailCollection(); + $this->virtualLocations = new VirtualLocationCollection(); + $this->media = new MediaCollection(); + $this->tags = new TagCollection(); + $this->notes = new NoteCollection(); + $this->crypto = new CryptoCollection(); + } + +} diff --git a/shared/lib/People/Individual/IndividualAliasCollection.php b/shared/lib/People/Entity/Property/AffiliationCollection.php similarity index 60% rename from shared/lib/People/Individual/IndividualAliasCollection.php rename to shared/lib/People/Entity/Property/AffiliationCollection.php index cdc0497..42a0684 100644 --- a/shared/lib/People/Individual/IndividualAliasCollection.php +++ b/shared/lib/People/Entity/Property/AffiliationCollection.php @@ -7,14 +7,14 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableCollection; -class IndividualAliasCollection extends JsonSerializableCollection { +class AffiliationCollection extends JsonSerializableCollection { public function __construct(array $data = []) { - parent::__construct($data, IndividualAliasObject::class); + parent::__construct($data, AffiliationObject::class, 'string'); } } diff --git a/shared/lib/People/Entity/Property/AffiliationObject.php b/shared/lib/People/Entity/Property/AffiliationObject.php new file mode 100644 index 0000000..cd071b6 --- /dev/null +++ b/shared/lib/People/Entity/Property/AffiliationObject.php @@ -0,0 +1,22 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableObject; + +class AffiliationObject extends JsonSerializableObject { + + public string|null $label = null; + public array|null $units = null; + public string|null $sortName = null; + public string|null $context = null; + public int|null $priority = null; + +} diff --git a/shared/lib/People/Individual/IndividualPronounCollection.php b/shared/lib/People/Entity/Property/AliasCollection.php similarity index 59% rename from shared/lib/People/Individual/IndividualPronounCollection.php rename to shared/lib/People/Entity/Property/AliasCollection.php index d7366c8..df729b3 100644 --- a/shared/lib/People/Individual/IndividualPronounCollection.php +++ b/shared/lib/People/Entity/Property/AliasCollection.php @@ -7,14 +7,14 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableCollection; -class IndividualPronounCollection extends JsonSerializableCollection { +class AliasCollection extends JsonSerializableCollection { public function __construct(array $data = []) { - parent::__construct($data, IndividualPronounObject::class); + parent::__construct($data, AliasObject::class); } - + } diff --git a/shared/lib/People/Individual/IndividualAliasObject.php b/shared/lib/People/Entity/Property/AliasObject.php similarity index 75% rename from shared/lib/People/Individual/IndividualAliasObject.php rename to shared/lib/People/Entity/Property/AliasObject.php index 565808f..3a7a5df 100644 --- a/shared/lib/People/Individual/IndividualAliasObject.php +++ b/shared/lib/People/Entity/Property/AliasObject.php @@ -7,11 +7,11 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualAliasObject extends JsonSerializableObject { +class AliasObject extends JsonSerializableObject { public string|null $label = null; public string|null $context = null; diff --git a/shared/lib/People/Individual/IndividualLanguageCollection.php b/shared/lib/People/Entity/Property/AnniversaryCollection.php similarity index 59% rename from shared/lib/People/Individual/IndividualLanguageCollection.php rename to shared/lib/People/Entity/Property/AnniversaryCollection.php index ca596ab..f9d6386 100644 --- a/shared/lib/People/Individual/IndividualLanguageCollection.php +++ b/shared/lib/People/Entity/Property/AnniversaryCollection.php @@ -7,12 +7,14 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableCollection; -class IndividualLanguageCollection extends JsonSerializableCollection { +class AnniversaryCollection extends JsonSerializableCollection { + public function __construct(array $data = []) { - parent::__construct($data, IndividualLanguageObject::class); + parent::__construct($data, AnniversaryObject::class); } + } diff --git a/shared/lib/People/Individual/IndividualAnniversaryObject.php b/shared/lib/People/Entity/Property/AnniversaryObject.php similarity index 65% rename from shared/lib/People/Individual/IndividualAnniversaryObject.php rename to shared/lib/People/Entity/Property/AnniversaryObject.php index 62d7050..15aebfa 100644 --- a/shared/lib/People/Individual/IndividualAnniversaryObject.php +++ b/shared/lib/People/Entity/Property/AnniversaryObject.php @@ -7,14 +7,14 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use DateTimeInterface; use KTXF\Json\JsonSerializableObject; -class IndividualAnniversaryObject extends JsonSerializableObject { +class AnniversaryObject extends JsonSerializableObject { - public IndividualAnniversaryTypes|null $type = null; + public AnniversaryTypes|null $type = null; public DateTimeInterface|null $when = null; public string|null $location = null; diff --git a/shared/lib/People/Individual/IndividualAnniversaryTypes.php b/shared/lib/People/Entity/Property/AnniversaryTypes.php similarity index 73% rename from shared/lib/People/Individual/IndividualAnniversaryTypes.php rename to shared/lib/People/Entity/Property/AnniversaryTypes.php index 96598dd..ec07be5 100644 --- a/shared/lib/People/Individual/IndividualAnniversaryTypes.php +++ b/shared/lib/People/Entity/Property/AnniversaryTypes.php @@ -7,9 +7,9 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; -enum IndividualAnniversaryTypes: string { +enum AnniversaryTypes: string { case Birth = 'birth'; case Death = 'death'; case Nuptial = 'nuptial'; diff --git a/shared/lib/People/Entity/Property/CryptoCollection.php b/shared/lib/People/Entity/Property/CryptoCollection.php new file mode 100644 index 0000000..e96e548 --- /dev/null +++ b/shared/lib/People/Entity/Property/CryptoCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class CryptoCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, CryptoObject::class, 'string'); + } + +} diff --git a/shared/lib/People/Individual/IndividualCryptoObject.php b/shared/lib/People/Entity/Property/CryptoObject.php similarity index 76% rename from shared/lib/People/Individual/IndividualCryptoObject.php rename to shared/lib/People/Entity/Property/CryptoObject.php index 250b4e4..a6c2dd3 100644 --- a/shared/lib/People/Individual/IndividualCryptoObject.php +++ b/shared/lib/People/Entity/Property/CryptoObject.php @@ -7,11 +7,11 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualCryptoObject extends JsonSerializableObject { +class CryptoObject extends JsonSerializableObject { public string|null $data = null; public string|null $type = null; diff --git a/shared/lib/People/Entity/Property/EmailCollection.php b/shared/lib/People/Entity/Property/EmailCollection.php new file mode 100644 index 0000000..d32374b --- /dev/null +++ b/shared/lib/People/Entity/Property/EmailCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class EmailCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, EmailObject::class, 'string'); + } + +} diff --git a/shared/lib/People/Individual/IndividualEmailObject.php b/shared/lib/People/Entity/Property/EmailObject.php similarity index 75% rename from shared/lib/People/Individual/IndividualEmailObject.php rename to shared/lib/People/Entity/Property/EmailObject.php index e9b9226..57fb2b9 100644 --- a/shared/lib/People/Individual/IndividualEmailObject.php +++ b/shared/lib/People/Entity/Property/EmailObject.php @@ -7,11 +7,11 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualEmailObject extends JsonSerializableObject { +class EmailObject extends JsonSerializableObject { public string|null $address = null; public string|null $context = null; diff --git a/shared/lib/People/Entity/Property/LanguageCollection.php b/shared/lib/People/Entity/Property/LanguageCollection.php new file mode 100644 index 0000000..6d6862c --- /dev/null +++ b/shared/lib/People/Entity/Property/LanguageCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class LanguageCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, LanguageObject::class); + } + +} diff --git a/shared/lib/People/Entity/Property/LanguageObject.php b/shared/lib/People/Entity/Property/LanguageObject.php new file mode 100644 index 0000000..90f8cc6 --- /dev/null +++ b/shared/lib/People/Entity/Property/LanguageObject.php @@ -0,0 +1,21 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableObject; + +class LanguageObject extends JsonSerializableObject { + + public string|null $data = null; + public string|null $id = null; + public int|null $priority = null; + public string|null $context = null; + +} diff --git a/shared/lib/People/Entity/Property/MediaCollection.php b/shared/lib/People/Entity/Property/MediaCollection.php new file mode 100644 index 0000000..9fb8c7a --- /dev/null +++ b/shared/lib/People/Entity/Property/MediaCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class MediaCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, MediaObject::class, 'string'); + } + +} diff --git a/shared/lib/People/Individual/IndividualMediaObject.php b/shared/lib/People/Entity/Property/MediaObject.php similarity index 80% rename from shared/lib/People/Individual/IndividualMediaObject.php rename to shared/lib/People/Entity/Property/MediaObject.php index 0f226dd..79c8b8d 100644 --- a/shared/lib/People/Individual/IndividualMediaObject.php +++ b/shared/lib/People/Entity/Property/MediaObject.php @@ -7,11 +7,11 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualMediaObject extends JsonSerializableObject { +class MediaObject extends JsonSerializableObject { public string $type = 'Media'; public string $kind; @@ -21,4 +21,4 @@ class IndividualMediaObject extends JsonSerializableObject { public int|null $pref = null; public string|null $label = null; -} \ No newline at end of file +} diff --git a/shared/lib/People/Entity/Property/MemberCollection.php b/shared/lib/People/Entity/Property/MemberCollection.php new file mode 100644 index 0000000..0b01f1d --- /dev/null +++ b/shared/lib/People/Entity/Property/MemberCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class MemberCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, MemberObject::class, 'string'); + } + +} diff --git a/shared/lib/People/Entity/Property/MemberObject.php b/shared/lib/People/Entity/Property/MemberObject.php new file mode 100644 index 0000000..fd05134 --- /dev/null +++ b/shared/lib/People/Entity/Property/MemberObject.php @@ -0,0 +1,21 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableObject; + +class MemberObject extends JsonSerializableObject { + + public string|null $entityId = null; + public string|null $role = null; + public string|null $context = null; + public int|null $priority = null; + +} diff --git a/shared/lib/People/Individual/IndividualNameObject.php b/shared/lib/People/Entity/Property/NameComplexObject.php similarity index 73% rename from shared/lib/People/Individual/IndividualNameObject.php rename to shared/lib/People/Entity/Property/NameComplexObject.php index d134abe..3bf3763 100644 --- a/shared/lib/People/Individual/IndividualNameObject.php +++ b/shared/lib/People/Entity/Property/NameComplexObject.php @@ -7,11 +7,11 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualNameObject extends JsonSerializableObject { +class NameComplexObject extends JsonSerializableObject { public string|null $family = null; public string|null $given = null; @@ -21,10 +21,10 @@ class IndividualNameObject extends JsonSerializableObject { public string|null $phoneticFamily = null; public string|null $phoneticGiven = null; public string|null $phoneticAdditional = null; - public IndividualAliasCollection $aliases; + public AliasCollection $aliases; public function __construct() { - $this->aliases = new IndividualAliasCollection(); + $this->aliases = new AliasCollection(); } } diff --git a/shared/lib/People/Entity/Property/NameSimpleObject.php b/shared/lib/People/Entity/Property/NameSimpleObject.php new file mode 100644 index 0000000..26adcf1 --- /dev/null +++ b/shared/lib/People/Entity/Property/NameSimpleObject.php @@ -0,0 +1,24 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableObject; + +class NameSimpleObject extends JsonSerializableObject { + + public string|null $full = null; + public string|null $sort = null; + public AliasCollection $aliases; + + public function __construct() { + $this->aliases = new AliasCollection(); + } + +} diff --git a/shared/lib/People/Entity/Property/NoteCollection.php b/shared/lib/People/Entity/Property/NoteCollection.php new file mode 100644 index 0000000..330b14a --- /dev/null +++ b/shared/lib/People/Entity/Property/NoteCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class NoteCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, NoteObject::class, 'string'); + } + +} diff --git a/shared/lib/People/Individual/IndividualNoteObject.php b/shared/lib/People/Entity/Property/NoteObject.php similarity index 81% rename from shared/lib/People/Individual/IndividualNoteObject.php rename to shared/lib/People/Entity/Property/NoteObject.php index efd9c46..4d8fdf3 100644 --- a/shared/lib/People/Individual/IndividualNoteObject.php +++ b/shared/lib/People/Entity/Property/NoteObject.php @@ -7,18 +7,17 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use DateTimeInterface; use KTXF\Json\JsonSerializableObject; -class IndividualNoteObject extends JsonSerializableObject { +class NoteObject extends JsonSerializableObject { public string|null $content = null; public DateTimeInterface|null $date = null; public string|null $authorUri = null; public string|null $authorName = null; - public string|null $context = null; public int|null $priority = null; diff --git a/shared/lib/People/Entity/Property/PhoneCollection.php b/shared/lib/People/Entity/Property/PhoneCollection.php new file mode 100644 index 0000000..09a5571 --- /dev/null +++ b/shared/lib/People/Entity/Property/PhoneCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class PhoneCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, PhoneObject::class, 'string'); + } + +} diff --git a/shared/lib/People/Individual/IndividualPhoneObject.php b/shared/lib/People/Entity/Property/PhoneObject.php similarity index 76% rename from shared/lib/People/Individual/IndividualPhoneObject.php rename to shared/lib/People/Entity/Property/PhoneObject.php index 8ada8bf..6651d38 100644 --- a/shared/lib/People/Individual/IndividualPhoneObject.php +++ b/shared/lib/People/Entity/Property/PhoneObject.php @@ -7,15 +7,15 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualPhoneObject extends JsonSerializableObject { +class PhoneObject extends JsonSerializableObject { public string|null $number = null; - public string|null $label = null; public string|null $context = null; public int|null $priority = null; + } diff --git a/shared/lib/People/Individual/IndividualCryptoCollection.php b/shared/lib/People/Entity/Property/PhysicalLocationCollection.php similarity index 61% rename from shared/lib/People/Individual/IndividualCryptoCollection.php rename to shared/lib/People/Entity/Property/PhysicalLocationCollection.php index 8bea37d..16a7523 100644 --- a/shared/lib/People/Individual/IndividualCryptoCollection.php +++ b/shared/lib/People/Entity/Property/PhysicalLocationCollection.php @@ -7,14 +7,14 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableCollection; -class IndividualCryptoCollection extends JsonSerializableCollection { +class PhysicalLocationCollection extends JsonSerializableCollection { public function __construct(array $data = []) { - parent::__construct($data, IndividualCryptoObject::class, 'string'); + parent::__construct($data, PhysicalLocationObject::class, 'string'); } - + } diff --git a/shared/lib/People/Individual/IndividualPhysicalLocationObject.php b/shared/lib/People/Entity/Property/PhysicalLocationObject.php similarity index 84% rename from shared/lib/People/Individual/IndividualPhysicalLocationObject.php rename to shared/lib/People/Entity/Property/PhysicalLocationObject.php index 56f3926..26b9a4f 100644 --- a/shared/lib/People/Individual/IndividualPhysicalLocationObject.php +++ b/shared/lib/People/Entity/Property/PhysicalLocationObject.php @@ -7,11 +7,11 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualPhysicalLocationObject extends JsonSerializableObject { +class PhysicalLocationObject extends JsonSerializableObject { public string|null $box = null; public string|null $unit = null; @@ -20,11 +20,9 @@ class IndividualPhysicalLocationObject extends JsonSerializableObject { public string|null $region = null; public string|null $code = null; public string|null $country = null; - public string|null $label = null; public string|null $coordinates = null; public string|null $timeZone = null; - public string|null $context = null; public int|null $priority = null; diff --git a/shared/lib/People/Entity/Property/PronounCollection.php b/shared/lib/People/Entity/Property/PronounCollection.php new file mode 100644 index 0000000..940b4a9 --- /dev/null +++ b/shared/lib/People/Entity/Property/PronounCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class PronounCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, PronounObject::class); + } + +} diff --git a/shared/lib/People/Individual/IndividualPronounObject.php b/shared/lib/People/Entity/Property/PronounObject.php similarity index 74% rename from shared/lib/People/Individual/IndividualPronounObject.php rename to shared/lib/People/Entity/Property/PronounObject.php index c1392ae..68409b0 100644 --- a/shared/lib/People/Individual/IndividualPronounObject.php +++ b/shared/lib/People/Entity/Property/PronounObject.php @@ -7,14 +7,13 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualPronounObject extends JsonSerializableObject { - +class PronounObject extends JsonSerializableObject { + public string|null $pronoun = null; - public string|null $context = null; public int|null $priority = null; diff --git a/shared/lib/People/Individual/IndividualTagCollection.php b/shared/lib/People/Entity/Property/TagCollection.php similarity index 73% rename from shared/lib/People/Individual/IndividualTagCollection.php rename to shared/lib/People/Entity/Property/TagCollection.php index 56e7b08..9f4d9e5 100644 --- a/shared/lib/People/Individual/IndividualTagCollection.php +++ b/shared/lib/People/Entity/Property/TagCollection.php @@ -7,14 +7,14 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableCollection; -class IndividualTagCollection extends JsonSerializableCollection { +class TagCollection extends JsonSerializableCollection { public function __construct(array $data = []) { parent::__construct($data, 'string'); } - + } diff --git a/shared/lib/People/Entity/Property/TitleCollection.php b/shared/lib/People/Entity/Property/TitleCollection.php new file mode 100644 index 0000000..4772dda --- /dev/null +++ b/shared/lib/People/Entity/Property/TitleCollection.php @@ -0,0 +1,20 @@ + + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace KTXF\People\Entity\Property; + +use KTXF\Json\JsonSerializableCollection; + +class TitleCollection extends JsonSerializableCollection { + + public function __construct(array $data = []) { + parent::__construct($data, TitleObject::class, 'string'); + } + +} diff --git a/shared/lib/People/Individual/IndividualTitleObject.php b/shared/lib/People/Entity/Property/TitleObject.php similarity index 62% rename from shared/lib/People/Individual/IndividualTitleObject.php rename to shared/lib/People/Entity/Property/TitleObject.php index 28c75c4..7d0cb4f 100644 --- a/shared/lib/People/Individual/IndividualTitleObject.php +++ b/shared/lib/People/Entity/Property/TitleObject.php @@ -7,16 +7,15 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualTitleObject extends JsonSerializableObject { +class TitleObject extends JsonSerializableObject { - public IndividualTitleTypes|null $kind = null; - public string|null $label = null; + public TitleTypes|null $kind = null; + public string|null $label = null; public string|null $relation = null; - public string|null $context = null; public int|null $priority = null; diff --git a/shared/lib/People/Individual/IndividualTitleTypes.php b/shared/lib/People/Entity/Property/TitleTypes.php similarity index 72% rename from shared/lib/People/Individual/IndividualTitleTypes.php rename to shared/lib/People/Entity/Property/TitleTypes.php index 7690c64..294c646 100644 --- a/shared/lib/People/Individual/IndividualTitleTypes.php +++ b/shared/lib/People/Entity/Property/TitleTypes.php @@ -7,9 +7,9 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; -enum IndividualTitleTypes: string { +enum TitleTypes: string { case Title = 't'; case Role = 'r'; } diff --git a/shared/lib/People/Individual/IndividualTitleCollection.php b/shared/lib/People/Entity/Property/VirtualLocationCollection.php similarity index 61% rename from shared/lib/People/Individual/IndividualTitleCollection.php rename to shared/lib/People/Entity/Property/VirtualLocationCollection.php index 2c0c0cb..37753ac 100644 --- a/shared/lib/People/Individual/IndividualTitleCollection.php +++ b/shared/lib/People/Entity/Property/VirtualLocationCollection.php @@ -7,14 +7,14 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableCollection; -class IndividualTitleCollection extends JsonSerializableCollection { +class VirtualLocationCollection extends JsonSerializableCollection { public function __construct(array $data = []) { - parent::__construct($data, IndividualTitleObject::class, 'string'); + parent::__construct($data, VirtualLocationObject::class, 'string'); } - + } diff --git a/shared/lib/People/Individual/IndividualVirtualLocationObject.php b/shared/lib/People/Entity/Property/VirtualLocationObject.php similarity index 75% rename from shared/lib/People/Individual/IndividualVirtualLocationObject.php rename to shared/lib/People/Entity/Property/VirtualLocationObject.php index 76cfa0a..028b2d7 100644 --- a/shared/lib/People/Individual/IndividualVirtualLocationObject.php +++ b/shared/lib/People/Entity/Property/VirtualLocationObject.php @@ -7,14 +7,13 @@ declare(strict_types=1); * SPDX-License-Identifier: AGPL-3.0-or-later */ -namespace KTXF\People\Entity\Individual; +namespace KTXF\People\Entity\Property; use KTXF\Json\JsonSerializableObject; -class IndividualVirtualLocationObject extends JsonSerializableObject { +class VirtualLocationObject extends JsonSerializableObject { public string|null $location = null; - public string|null $label = null; public string|null $context = null; public int|null $priority = null; diff --git a/shared/lib/People/Individual/IndividualAnniversaryCollection.php b/shared/lib/People/Individual/IndividualAnniversaryCollection.php deleted file mode 100644 index b6a744d..0000000 --- a/shared/lib/People/Individual/IndividualAnniversaryCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualAnniversaryCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualAnniversaryObject::class); - } - -} diff --git a/shared/lib/People/Individual/IndividualEmailCollection.php b/shared/lib/People/Individual/IndividualEmailCollection.php deleted file mode 100644 index 1ee18d1..0000000 --- a/shared/lib/People/Individual/IndividualEmailCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualEmailCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualEmailObject::class, 'string'); - } - -} diff --git a/shared/lib/People/Individual/IndividualLanguageObject.php b/shared/lib/People/Individual/IndividualLanguageObject.php deleted file mode 100644 index a1fbc93..0000000 --- a/shared/lib/People/Individual/IndividualLanguageObject.php +++ /dev/null @@ -1,22 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableObject; - -class IndividualLanguageObject extends JsonSerializableObject { - - public string|null $Data = null; - - public string|null $Id = null; - public int|null $Priority = null; - public string|null $Context = null; - -} diff --git a/shared/lib/People/Individual/IndividualMediaCollection.php b/shared/lib/People/Individual/IndividualMediaCollection.php deleted file mode 100644 index ca49666..0000000 --- a/shared/lib/People/Individual/IndividualMediaCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualMediaCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualMediaObject::class, 'string'); - } - -} \ No newline at end of file diff --git a/shared/lib/People/Individual/IndividualNoteCollection.php b/shared/lib/People/Individual/IndividualNoteCollection.php deleted file mode 100644 index 2138aa9..0000000 --- a/shared/lib/People/Individual/IndividualNoteCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualNoteCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualNoteObject::class, 'string'); - } - -} diff --git a/shared/lib/People/Individual/IndividualObject.php b/shared/lib/People/Individual/IndividualObject.php deleted file mode 100644 index 55b5501..0000000 --- a/shared/lib/People/Individual/IndividualObject.php +++ /dev/null @@ -1,62 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use DateTimeInterface; -use KTXF\Json\JsonSerializableObject; - -class IndividualObject extends JsonSerializableObject { - - // Meta Information - public string $type = 'individual'; - public int $version = 1; - public string|null $urid = null; - public ?DateTimeInterface $created = null; - public ?DateTimeInterface $modified = null; - // Personal Information - public string|null $label = null; - public IndividualNameObject $names; - public IndividualTitleCollection $titles; - public IndividualAnniversaryCollection $anniversaries; - // Location Information - public IndividualPhysicalLocationCollection $physicalLocations; - // Communication Information - public IndividualPhoneCollection $phones; - public IndividualEmailCollection $emails; - public IndividualVirtualLocationCollection $virtualLocations; - // Media Information - public IndividualMediaCollection $media; - // Organizations Information - public IndividualOrganizationCollection $organizations; - // Organizational Information - public IndividualTagCollection $tags; - public IndividualNoteCollection $notes; - // Localization Information - public string|null $language = null; - public IndividualLanguageCollection $languages; - // Other Information - public IndividualCryptoCollection $crypto; - - public function __construct() { - $this->names = new IndividualNameObject(); - $this->anniversaries = new IndividualAnniversaryCollection(); - $this->phones = new IndividualPhoneCollection(); - $this->emails = new IndividualEmailCollection(); - $this->physicalLocations = new IndividualPhysicalLocationCollection(); - $this->organizations = new IndividualOrganizationCollection(); - $this->titles = new IndividualTitleCollection(); - $this->tags = new IndividualTagCollection(); - $this->notes = new IndividualNoteCollection(); - $this->crypto = new IndividualCryptoCollection(); - $this->virtualLocations = new IndividualVirtualLocationCollection(); - $this->media = new IndividualMediaCollection(); - } - -} diff --git a/shared/lib/People/Individual/IndividualOrganizationCollection.php b/shared/lib/People/Individual/IndividualOrganizationCollection.php deleted file mode 100644 index fc51b67..0000000 --- a/shared/lib/People/Individual/IndividualOrganizationCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualOrganizationCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualOrganizationObject::class, 'string'); - } - -} diff --git a/shared/lib/People/Individual/IndividualOrganizationObject.php b/shared/lib/People/Individual/IndividualOrganizationObject.php deleted file mode 100644 index f5aaad3..0000000 --- a/shared/lib/People/Individual/IndividualOrganizationObject.php +++ /dev/null @@ -1,29 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableObject; -use OCA\JMAPC\Objects\BaseStringCollection; - -class IndividualOrganizationObject extends JsonSerializableObject { - - public string|null $Label; - public BaseStringCollection $Units; - - public string|null $sortName = null; - - public string|null $context = null; - public int|null $priority = null; - - public function __construct() { - $this->units = new BaseStringCollection(); - } - -} diff --git a/shared/lib/People/Individual/IndividualPhoneCollection.php b/shared/lib/People/Individual/IndividualPhoneCollection.php deleted file mode 100644 index 342059b..0000000 --- a/shared/lib/People/Individual/IndividualPhoneCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualPhoneCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualPhoneObject::class, 'string'); - } - -} diff --git a/shared/lib/People/Individual/IndividualPhysicalLocationCollection.php b/shared/lib/People/Individual/IndividualPhysicalLocationCollection.php deleted file mode 100644 index dc3459a..0000000 --- a/shared/lib/People/Individual/IndividualPhysicalLocationCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualPhysicalLocationCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualPhysicalLocationObject::class, 'string'); - } - -} diff --git a/shared/lib/People/Individual/IndividualVirtualLocationCollection.php b/shared/lib/People/Individual/IndividualVirtualLocationCollection.php deleted file mode 100644 index 9df4fc5..0000000 --- a/shared/lib/People/Individual/IndividualVirtualLocationCollection.php +++ /dev/null @@ -1,20 +0,0 @@ - - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace KTXF\People\Entity\Individual; - -use KTXF\Json\JsonSerializableCollection; - -class IndividualVirtualLocationCollection extends JsonSerializableCollection { - - public function __construct(array $data = []) { - parent::__construct($data, IndividualVirtualLocationObject::class, 'string'); - } - -}