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'); + } +}