FEATURE [genericDoc][activity] finalize implementation

This commit is contained in:
2023-05-31 16:53:38 +02:00
parent eea5cedc5f
commit ba55fa349b
5 changed files with 45 additions and 59 deletions

View File

@@ -27,32 +27,19 @@ final class AccompanyingPeriodActivityGenericDocProvider implements GenericDocFo
{
public const KEY = 'accompanying_period_activity_document';
private EntityManagerInterface $em;
private Security $security;
public function __construct(Security $security, EntityManagerInterface $entityManager)
{
$this->em = $entityManager;
$this->security = $security;
public function __construct(
private EntityManagerInterface $em,
private Security $security
){
}
/**
* @param AccompanyingPeriod $accompanyingPeriod
* @param DateTimeImmutable|null $startDate
* @param DateTimeImmutable|null $endDate
* @param string|null $content
* @param string|null $origin
* @return FetchQueryInterface
* @throws MappingException
*/
public function buildFetchQueryForAccompanyingPeriod(AccompanyingPeriod $accompanyingPeriod, ?DateTimeImmutable $startDate = null, ?DateTimeImmutable $endDate = null, ?string $content = null, ?string $origin = null): FetchQueryInterface
{
$storedObjectMetadata = $this->em->getClassMetadata(StoredObject::class);
$query = new FetchQuery(
self::KEY,
"jsonb_build_object('id', doc_obj.id)",
"jsonb_build_object('id', doc_obj.id, 'activity_id', activity.id)",
'doc_obj.'.$storedObjectMetadata->getColumnName('createdAt'),
$storedObjectMetadata->getSchemaName().'.'.$storedObjectMetadata->getTableName().' AS doc_obj'
);