From 8064b750937231b24753bab5b51a740cd7c36fbe Mon Sep 17 00:00:00 2001 From: Jonathan Treffler Date: Tue, 15 Oct 2024 17:10:48 +0200 Subject: [PATCH] added resource entities --- lib/Db/FolderResource.php | 50 +++++++++++++++++++++++++++++++++++++++ lib/Db/Resource.php | 22 +++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 lib/Db/FolderResource.php create mode 100644 lib/Db/Resource.php diff --git a/lib/Db/FolderResource.php b/lib/Db/FolderResource.php new file mode 100644 index 0000000..fdb8307 --- /dev/null +++ b/lib/Db/FolderResource.php @@ -0,0 +1,50 @@ +addType('membersAclPermission','integer'); + $this->addType('managersAclPermission','integer'); + $this->addType('inheritedAclPermission','integer'); + } + + public static function fromRow(array $row): static { + $instance = new static(); + + $instance->setId($row["id"]); + $instance->setParentResource($row["parent_resource"]); + $instance->setGroupFolderId($row["group_folder_id"]); + $instance->setName($row["name"]); + $instance->setActive($row["active"]); + $instance->setLastUpdatedTimestamp($row["last_updated_timestamp"]); + $instance->setMembersAclPermission($row["members_acl_permission"]); + $instance->setManagersAclPermission($row["managers_acl_permission"]); + $instance->setInheritedAclPermission($row["inherited_acl_permission"]); + + $instance->resetUpdatedFields(); + + return $instance; + } + + public function jsonSerialize(): array { + return [ + 'id' => $this->id, + 'parentResource' => $this->parentResource, + 'groupFolderId' => $this->groupFolderId, + 'type' => "folder", + 'name' => $this->name, + 'active' => $this->active, + 'lastUpdatedTimestamp' => $this->lastUpdatedTimestamp, + + 'membersAclPermission' => $this->membersAclPermission, + 'managersAclPermission' => $this->managersAclPermission, + 'inheritedAclPermission' => $this->inheritedAclPermission, + ]; + } +} diff --git a/lib/Db/Resource.php b/lib/Db/Resource.php new file mode 100644 index 0000000..47afbff --- /dev/null +++ b/lib/Db/Resource.php @@ -0,0 +1,22 @@ +addType('groupFolderId','integer'); + $this->addType('parentResource','integer'); + $this->addType('active','bool'); + $this->addType('lastUpdatedTimestamp','integer'); + } +}