%PDF- %PDF-
| Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Db/ |
| Current File : /www/varak.net/nextcloud.varak.net/apps_old/apps/passwords/lib/Db/AbstractEntity.php |
<?php
/*
* @copyright 2023 Passwords App
*
* @author Marius David Wieschollek
* @license AGPL-3.0
*
* This file is part of the Passwords App
* created by Marius David Wieschollek.
*/
namespace OCA\Passwords\Db;
use OCP\AppFramework\Db\Entity;
use OCA\Passwords\Db\Traits\GetterSetterTrait;
/**
* Class AbstractEntity
*
* @method string getUuid()
* @method void setUuid(string $uuid)
* @method string getUserId()
* @method void setUserId(string $userId)
* @method bool getDeleted()
* @method void setDeleted(bool $deleted)
* @method int getCreated()
* @method void setCreated(int $created)
* @method int getUpdated()
* @method void setUpdated(int $updated)
*
* @package OCA\Passwords\Db
*/
abstract class AbstractEntity extends Entity implements EntityInterface {
use GetterSetterTrait;
/**
* @var string
*/
protected string $uuid;
/**
* @var string
*/
protected string $userId;
/**
* @var bool
*/
protected bool $deleted;
/**
* @var int
*/
protected int $created;
/**
* @var int
*/
protected int $updated;
/**
* Folder constructor.
*/
public function __construct() {
$this->addType('uuid', 'string');
$this->addType('userId', 'string');
$this->addType('deleted', 'boolean');
$this->addType('created', 'integer');
$this->addType('updated', 'integer');
}
/**
* @return bool
*/
public function isDeleted(): bool {
return $this->getDeleted();
}
/**
* @param string $property
*
* @return mixed
*/
public function getProperty(string $property): mixed {
return $this->getter($property);
}
/**
* @param string $property
* @param $value
*/
public function setProperty(string $property, $value): void {
$this->setter($property, [$value]);
}
/**
* @param string $property
*
* @return bool
*/
public function hasProperty(string $property): bool {
$fieldTypes = $this->getFieldTypes();
return isset($fieldTypes[ $property ]);
}
/**
* @return array
*/
public function toArray(): array {
$fields = array_keys($this->getFieldTypes());
$array = [];
foreach($fields as $field) {
$array[ $field ] = $this->getProperty($field);
}
return $array;
}
}