1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace Marek\Toggable\Factory\Hydrator; |
4
|
|
|
|
5
|
|
|
use Marek\Toggable\Factory\FactoryInterface; |
6
|
|
|
use Marek\Toggable\Hydrator\AggregateHydrator; |
7
|
|
|
use Marek\Toggable\Hydrator\Client\ClientHydrator; |
8
|
|
|
use Marek\Toggable\Hydrator\Dashboard\ActivityHydrator; |
9
|
|
|
use Marek\Toggable\Hydrator\Dashboard\MostActiveUserHydrator; |
10
|
|
|
use Marek\Toggable\Hydrator\Project\ProjectHydrator; |
11
|
|
|
use Marek\Toggable\Hydrator\Project\UserHydrator as ProjectUserHydrator; |
12
|
|
|
use Marek\Toggable\Hydrator\Tag\TagHydrator; |
13
|
|
|
use Marek\Toggable\Hydrator\Task\TaskHydrator; |
14
|
|
|
use Marek\Toggable\Hydrator\TimeEntry\TimeEntryHydrator; |
15
|
|
|
use Marek\Toggable\Hydrator\User\UserHydrator; |
16
|
|
|
use Marek\Toggable\Hydrator\Workspace\SubscriptionHydrator; |
17
|
|
|
use Marek\Toggable\Hydrator\Workspace\UserHydrator as WorkspaceUserHydrator; |
18
|
|
|
use Marek\Toggable\Hydrator\Workspace\WorkspaceHydrator; |
19
|
|
|
|
20
|
|
|
/** |
21
|
|
|
* Class HydratorFactory |
22
|
|
|
* @package Marek\Toggable\Factory\Hydrator |
23
|
|
|
*/ |
24
|
|
|
class HydratorFactory implements FactoryInterface |
25
|
|
|
{ |
26
|
|
|
/** |
27
|
|
|
* @inheritDoc |
28
|
|
|
*/ |
29
|
|
|
public function build() |
30
|
|
|
{ |
31
|
|
|
$aggregateHydrator = new AggregateHydrator(); |
32
|
|
|
$aggregateHydrator->add(new ClientHydrator()); |
33
|
|
|
$aggregateHydrator->add(new ActivityHydrator()); |
34
|
|
|
$aggregateHydrator->add(new MostActiveUserHydrator()); |
35
|
|
|
$aggregateHydrator->add(new ProjectHydrator()); |
36
|
|
|
$aggregateHydrator->add(new ProjectUserHydrator()); |
37
|
|
|
$aggregateHydrator->add(new TagHydrator()); |
38
|
|
|
$aggregateHydrator->add(new TaskHydrator()); |
39
|
|
|
$aggregateHydrator->add(new TimeEntryHydrator()); |
40
|
|
|
$aggregateHydrator->add(new UserHydrator()); |
41
|
|
|
$aggregateHydrator->add(new SubscriptionHydrator()); |
42
|
|
|
$aggregateHydrator->add(new WorkspaceUserHydrator()); |
43
|
|
|
$aggregateHydrator->add(new WorkspaceHydrator()); |
44
|
|
|
|
45
|
|
|
return $aggregateHydrator; |
46
|
|
|
} |
47
|
|
|
} |
48
|
|
|
|