<?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(), ]; } }