537 lines
26 KiB
PHP
537 lines
26 KiB
PHP
<?php
|
|
/*
|
|
* Copyright (C) 2025 Xibo Signage Ltd
|
|
*
|
|
* Xibo - Digital Signage - https://xibosignage.com
|
|
*
|
|
* This file is part of Xibo.
|
|
*
|
|
* Xibo is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* any later version.
|
|
*
|
|
* Xibo is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with Xibo. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
namespace Xibo\Dependencies;
|
|
|
|
use Psr\Container\ContainerInterface;
|
|
|
|
/**
|
|
* Helper class to add factories to DI.
|
|
*/
|
|
class Factories
|
|
{
|
|
/**
|
|
* Register Factories with DI
|
|
*/
|
|
public static function registerFactoriesWithDi()
|
|
{
|
|
return [
|
|
'actionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ActionFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'apiRequestsFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ApplicationRequestsFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'applicationFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ApplicationFactory(
|
|
$c->get('user'),
|
|
$c->get('applicationRedirectUriFactory'),
|
|
$c->get('applicationScopeFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'applicationRedirectUriFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ApplicationRedirectUriFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'applicationScopeFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ApplicationScopeFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'auditLogFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\AuditLogFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'bandwidthFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\BandwidthFactory(
|
|
$c->get('pool'),
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'campaignFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\CampaignFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('scheduleFactory'),
|
|
$c->get('displayNotifyService')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'commandFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\CommandFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'connectorFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ConnectorFactory(
|
|
$c->get('pool'),
|
|
$c->get('configService'),
|
|
$c->get('jwtService'),
|
|
$c->get('playerActionService'),
|
|
$c
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'dataSetColumnFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DataSetColumnFactory(
|
|
$c->get('dataTypeFactory'),
|
|
$c->get('dataSetColumnTypeFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'dataSetColumnTypeFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DataSetColumnTypeFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'dataSetFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DataSetFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('configService'),
|
|
$c->get('pool'),
|
|
$c->get('dataSetColumnFactory'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('displayNotifyService')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'dataSetRssFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DataSetRssFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'dataTypeFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DataTypeFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'dayPartFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DayPartFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'displayFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DisplayFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('displayNotifyService'),
|
|
$c->get('configService'),
|
|
$c->get('displayGroupFactory'),
|
|
$c->get('displayProfileFactory'),
|
|
$c->get('folderFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'displayEventFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DisplayEventFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'displayGroupFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DisplayGroupFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('permissionFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'displayTypeFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DisplayTypeFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'displayProfileFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\DisplayProfileFactory(
|
|
$c->get('configService'),
|
|
$c->get('commandFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'folderFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\FolderFactory(
|
|
$c->get('permissionFactory'),
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'fontFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\FontFactory(
|
|
$c->get('configService')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'layoutFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\LayoutFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('configService'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('regionFactory'),
|
|
$c->get('tagFactory'),
|
|
$c->get('campaignFactory'),
|
|
$c->get('mediaFactory'),
|
|
$c->get('moduleFactory'),
|
|
$c->get('moduleTemplateFactory'),
|
|
$c->get('resolutionFactory'),
|
|
$c->get('widgetFactory'),
|
|
$c->get('widgetOptionFactory'),
|
|
$c->get('playlistFactory'),
|
|
$c->get('widgetAudioFactory'),
|
|
$c->get('actionFactory'),
|
|
$c->get('folderFactory'),
|
|
$c->get('fontFactory'),
|
|
$c->get('widgetDataFactory'),
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
|
|
if ($c->has('pool')) {
|
|
$repository->usePool($c->get('pool'));
|
|
}
|
|
|
|
return $repository;
|
|
},
|
|
'logFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\LogFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'mediaFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\MediaFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('configService'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('playlistFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'menuBoardCategoryFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\MenuBoardCategoryFactory(
|
|
$c->get('menuBoardProductOptionFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'menuBoardProductOptionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\MenuBoardProductOptionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'menuBoardFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\MenuBoardFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('configService'),
|
|
$c->get('pool'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('menuBoardCategoryFactory'),
|
|
$c->get('displayNotifyService')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'moduleFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ModuleFactory(
|
|
$c->get('configService')->getSetting('LIBRARY_LOCATION') . 'widget',
|
|
$c->get('pool'),
|
|
$c->get('view'),
|
|
$c->get('configService')
|
|
);
|
|
$repository
|
|
->setAclDependencies(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
)
|
|
->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'moduleTemplateFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ModuleTemplateFactory(
|
|
$c->get('pool'),
|
|
$c->get('view'),
|
|
);
|
|
$repository
|
|
->setAclDependencies(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
)
|
|
->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'notificationFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\NotificationFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('userGroupFactory'),
|
|
$c->get('displayGroupFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'permissionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\PermissionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'playerFaultFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\PlayerFaultFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'playerVersionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\PlayerVersionFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('configService')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'playlistFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\PlaylistFactory(
|
|
$c->get('configService'),
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('widgetFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'regionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\RegionFactory(
|
|
$c->get('permissionFactory'),
|
|
$c->get('regionOptionFactory'),
|
|
$c->get('playlistFactory'),
|
|
$c->get('actionFactory'),
|
|
$c->get('campaignFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'regionOptionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\RegionOptionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'requiredFileFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\RequiredFileFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'reportScheduleFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ReportScheduleFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'resolutionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ResolutionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'savedReportFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\SavedReportFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('configService'),
|
|
$c->get('mediaFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'scheduleFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ScheduleFactory(
|
|
$c->get('configService'),
|
|
$c->get('pool'),
|
|
$c->get('displayGroupFactory'),
|
|
$c->get('dayPartFactory'),
|
|
$c->get('userFactory'),
|
|
$c->get('scheduleReminderFactory'),
|
|
$c->get('scheduleExclusionFactory'),
|
|
$c->get('user'),
|
|
$c->get('scheduleCriteriaFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'scheduleReminderFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ScheduleReminderFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('configService')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'scheduleExclusionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ScheduleExclusionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'scheduleCriteriaFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\ScheduleCriteriaFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'sessionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\SessionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'syncGroupFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\SyncGroupFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('displayFactory'),
|
|
$c->get('scheduleFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'tagFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\TagFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'taskFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\TaskFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'transitionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\TransitionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'userFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\UserFactory(
|
|
$c->get('configService'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('userOptionFactory'),
|
|
$c->get('applicationScopeFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'userGroupFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\UserGroupFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'userNotificationFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\UserNotificationFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'userOptionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\UserOptionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'userTypeFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\UserTypeFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'widgetFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\WidgetFactory(
|
|
$c->get('user'),
|
|
$c->get('userFactory'),
|
|
$c->get('widgetOptionFactory'),
|
|
$c->get('widgetMediaFactory'),
|
|
$c->get('widgetAudioFactory'),
|
|
$c->get('permissionFactory'),
|
|
$c->get('displayNotifyService'),
|
|
$c->get('actionFactory'),
|
|
$c->get('moduleTemplateFactory')
|
|
);
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'widgetMediaFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\WidgetMediaFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'widgetAudioFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\WidgetAudioFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'widgetOptionFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\WidgetOptionFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
'widgetDataFactory' => function (ContainerInterface $c) {
|
|
$repository = new \Xibo\Factory\WidgetDataFactory();
|
|
$repository->useBaseDependenciesService($c->get('RepositoryBaseDependenciesService'));
|
|
return $repository;
|
|
},
|
|
];
|
|
}
|
|
}
|