ringfinger/backend/classes/database/Sharing.php

59 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
final class Sharing extends MySqlTable implements JsonSerializable
{
public const FIELD_ID = 'SharingId';
public const FIELD_USER = 'User';
public const FIELD_USER_SHARED = 'UserShared';
public function __construct($id = null, DatabaseInterface &$database = null)
{
parent::__construct(self::class, $id, $database);
}
public function getSharingId(): ?int
{
if ($this->getPrimaryKey() === null) {
return null;
}
return (int)$this->getPrimaryKey();
}
public function getUserId(): int
{
return $this->getField(self::FIELD_USER);
}
public function getUserShared(): int
{
return $this->getField(self::FIELD_USER_SHARED);
}
public function setId(int $id): void
{
$this->setField(self::FIELD_ID, $id);
}
public function setUserId(int $userId): void
{
$this->setField(self::FIELD_USER, $userId);
}
public function setUserShared(int $userShared): void
{
$this->setField(self::FIELD_USER_SHARED, $userShared);
}
public function jsonSerialize()
{
return [
'sharingId' => $this->getSharingId(),
'userId' => $this->getUserId(),
'userSharedId' => $this->getUserShared(),
];
}
}