diff --git a/lib/FederatedItems/CircleCreate.php b/lib/FederatedItems/CircleCreate.php index 50e611b87..5b844f959 100644 --- a/lib/FederatedItems/CircleCreate.php +++ b/lib/FederatedItems/CircleCreate.php @@ -11,6 +11,7 @@ namespace OCA\Circles\FederatedItems; +use OC\User\NoUserException; use OCA\Circles\Db\CircleRequest; use OCA\Circles\Db\MemberRequest; use OCA\Circles\Exceptions\CircleNotFoundException; @@ -25,6 +26,7 @@ use OCA\Circles\Model\Federated\FederatedEvent; use OCA\Circles\Service\CircleService; use OCA\Circles\Service\EventService; +use OCA\Circles\Service\MaintenanceService; use OCA\Circles\Service\MembershipService; use OCA\Circles\Tools\Traits\TDeserialize; @@ -40,44 +42,14 @@ class CircleCreate implements IFederatedItemMustBeInitializedLocally { use TDeserialize; - - /** @var CircleRequest */ - private $circleRequest; - - /** @var MemberRequest */ - private $memberRequest; - - /** @var CircleService */ - private $circleService; - - /** @var MembershipService */ - private $membershipService; - - /** @var EventService */ - private $eventService; - - - /** - * CircleCreate constructor. - * - * @param CircleRequest $circleRequest - * @param MemberRequest $memberRequest - * @param CircleService $circleService - * @param MembershipService $membershipService - * @param EventService $eventService - */ public function __construct( - CircleRequest $circleRequest, - MemberRequest $memberRequest, - CircleService $circleService, - MembershipService $membershipService, - EventService $eventService + private CircleRequest $circleRequest, + private MemberRequest $memberRequest, + private CircleService $circleService, + private MembershipService $membershipService, + private MaintenanceService $maintenanceService, + private EventService $eventService, ) { - $this->circleRequest = $circleRequest; - $this->memberRequest = $memberRequest; - $this->circleService = $circleService; - $this->membershipService = $membershipService; - $this->eventService = $eventService; } @@ -126,6 +98,12 @@ public function manage(FederatedEvent $event): void { $this->membershipService->onUpdate($owner->getSingleId()); $this->membershipService->updatePopulation($circle); + try { + $this->maintenanceService->updateDisplayName($owner); + } catch (NoUserException) { + // ignoreable + } + $this->eventService->circleCreating($event); } diff --git a/lib/FederatedItems/SingleMemberAdd.php b/lib/FederatedItems/SingleMemberAdd.php index 260db5c27..4bada08ca 100644 --- a/lib/FederatedItems/SingleMemberAdd.php +++ b/lib/FederatedItems/SingleMemberAdd.php @@ -11,6 +11,7 @@ namespace OCA\Circles\FederatedItems; +use OC\User\NoUserException; use OCA\Circles\Db\MemberRequest; use OCA\Circles\Exceptions\CircleNotFoundException; use OCA\Circles\Exceptions\FederatedItemBadRequestException; @@ -46,6 +47,7 @@ use OCA\Circles\Service\ConfigService; use OCA\Circles\Service\EventService; use OCA\Circles\Service\FederatedUserService; +use OCA\Circles\Service\MaintenanceService; use OCA\Circles\Service\MemberService; use OCA\Circles\Service\MembershipService; use OCA\Circles\Service\RemoteStreamService; @@ -79,7 +81,8 @@ public function __construct( protected MemberService $memberService, protected MembershipService $membershipService, protected EventService $eventService, - protected ConfigService $configService + protected ConfigService $configService, + protected MaintenanceService $maintenanceService, ) { } @@ -235,6 +238,15 @@ protected function generateMember(FederatedEvent $event, Circle $circle, Member // of the event to Federated RemoteInstance for their first member. $this->memberRequest->insertOrUpdate($member); + try { + $displayName = $this->maintenanceService->updateDisplayName($member); + if ($displayName !== '') { + $member->setDisplayName($displayName); + } + } catch (NoUserException) { + // ignoreable + } + return $member; }