<?php namespace domain\User\UserMessage; use domain\_\AbstractManager; use domain\User\User\User; class UserMessageManager extends AbstractManager { protected UserMessageBuilder $userMessageBuilder; public function loadDependencies(): void { $this->userMessageBuilder = $this->loadService(UserMessageBuilder::class); } public function createUserMessage(User $user, string $message, User $createdBy): UserMessage { $userMessage = $this->userMessageBuilder->instanciateUserMessage($user, $createdBy); $userMessage->setMessage($message); $userMessage->save(); return $userMessage; } public function deleteUserMessage(UserMessage $userMessage): bool { return $userMessage->delete(); } public function readUserMessage(UserMessage $userMessage): bool { $userMessage->setReadAt(new \DateTime()); return $userMessage->save(); } }