mirror of
https://github.com/verdigado/organization_folders.git
synced 2024-11-22 12:40:28 +01:00
68 lines
2 KiB
PHP
68 lines
2 KiB
PHP
<?php
|
|
|
|
namespace OCA\OrganizationFolders\Db;
|
|
|
|
class FolderResource extends Resource {
|
|
protected $membersAclPermission;
|
|
protected $managersAclPermission;
|
|
protected $inheritedAclPermission;
|
|
|
|
public function __construct() {
|
|
parent::__construct();
|
|
$this->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->setOrganizationFolderId($row["organization_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,
|
|
'organizationFolderId' => $this->organizationFolderId,
|
|
'type' => "folder",
|
|
'name' => $this->name,
|
|
'active' => $this->active,
|
|
'lastUpdatedTimestamp' => $this->lastUpdatedTimestamp,
|
|
|
|
'membersAclPermission' => $this->membersAclPermission,
|
|
'managersAclPermission' => $this->managersAclPermission,
|
|
'inheritedAclPermission' => $this->inheritedAclPermission,
|
|
];
|
|
}
|
|
|
|
public function tableSerialize(?array $params = null): array {
|
|
return [
|
|
'Id' => $this->id,
|
|
'Name' => $this->name,
|
|
'Type' => "Folder",
|
|
'Active' => ((bool)$this->active) ? 'yes' : 'no',
|
|
'Last Updated' => $this->lastUpdatedTimestamp,
|
|
|
|
'Members ACL Permission' => $this->membersAclPermission,
|
|
'Managers ACL Permission' => $this->managersAclPermission,
|
|
'Inherited ACL Permission' => $this->inheritedAclPermission,
|
|
];
|
|
}
|
|
|
|
public function getType(): string {
|
|
return "folder";
|
|
}
|
|
}
|