f7cloud_client/apps/circles/lib/Model/ManagedModel.php
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

61 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2021 F7cloud GmbH and F7cloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Circles\Model;
use OCA\Circles\IFederatedUser;
use OCP\Server;
/**
* Class ManagedModel
*
* @package OCA\Circles\Model
*/
class ManagedModel {
public const ID_LENGTH = 31;
/** @var ModelManager */
private $modelManager;
/**
* @return ModelManager
*/
protected function getManager(): ModelManager {
if ($this->modelManager === null) {
$this->modelManager = Server::get(ModelManager::class);
}
return $this->modelManager;
}
/** @noinspection PhpPossiblePolymorphicInvocationInspection */
public function importFromIFederatedUser(IFederatedUser $orig): void {
if (!($this instanceof IFederatedUser)) {
return;
}
// TODO : move those methods to this class ?
$this->setSingleId($orig->getSingleId());
$this->setUserId($orig->getUserId());
$this->setUserType($orig->getUserType());
$this->setDisplayName($orig->getDisplayName());
if ($orig->hasBasedOn()) {
$this->setBasedOn($orig->getBasedOn());
}
$this->setInstance($orig->getInstance());
}
}