PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Infrastructure / ContainerConfig / domain.services.php
ameliabooking / src / Infrastructure / ContainerConfig Last commit date
application.services.php 1 month ago command.bus.php 2 years ago container.php 1 month ago domain.event.bus.php 1 year ago domain.services.php 1 year ago infrastructure.services.php 4 months ago infrastructure.user.php 1 year ago repositories.php 6 months ago request.php 1 month ago
domain.services.php
137 lines
1 <?php
2
3 /**
4 * Assembling domain services:
5 * Instantiating domain services and injecting the Infrastructure layer implementations
6 */
7
8 defined('ABSPATH') or die('No script kiddies please!');
9
10 /**
11 * Permissions service
12 *
13 * @param $c
14 *
15 * @return \AmeliaBooking\Domain\Services\Permissions\PermissionsService
16 */
17 $entries['domain.permissions.service'] = function ($c) {
18 return new AmeliaBooking\Domain\Services\Permissions\PermissionsService(
19 $c,
20 new AmeliaBooking\Infrastructure\WP\PermissionsService\PermissionsChecker()
21 );
22 };
23
24 /**
25 * Permissions service
26 *
27 * @param $c
28 *
29 * @return AmeliaBooking\Domain\Services\Permissions\PermissionsService
30 * @throws \Interop\Container\Exception\ContainerException
31 */
32 $entries['domain.api.permissions.service'] = function ($c) {
33 return AmeliaBooking\Infrastructure\Licence\DomainService::getPermissionService($c);
34 };
35
36 /**
37 * Permissions service
38 *
39 * @return AmeliaBooking\Domain\Services\Api\BasicApiService
40 */
41 $entries['domain.api.service'] = function () {
42 return AmeliaBooking\Infrastructure\Licence\DomainService::getApiService();
43 };
44
45 /**
46 * Appointment service
47 *
48 * @return \AmeliaBooking\Domain\Services\Booking\AppointmentDomainService
49 */
50 $entries['domain.booking.appointment.service'] = function () {
51 return new AmeliaBooking\Domain\Services\Booking\AppointmentDomainService();
52 };
53
54
55 /**
56 * Event service
57 *
58 * @return \AmeliaBooking\Domain\Services\Booking\EventDomainService
59 */
60 $entries['domain.booking.event.service'] = function () {
61 return new AmeliaBooking\Domain\Services\Booking\EventDomainService();
62 };
63
64 /**
65 * Settings service
66 *
67 * @return \AmeliaBooking\Domain\Services\Settings\SettingsService
68 */
69 $entries['domain.settings.service'] = function () {
70 return new AmeliaBooking\Domain\Services\Settings\SettingsService(
71 new AmeliaBooking\Infrastructure\WP\SettingsService\SettingsStorage()
72 );
73 };
74
75 /**
76 * @return \AmeliaBooking\Domain\Services\Interval\IntervalService
77 */
78 $entries['domain.interval.service'] = function () {
79 return new AmeliaBooking\Domain\Services\Interval\IntervalService();
80 };
81
82 /**
83 * @return \AmeliaBooking\Domain\Services\User\ProviderService
84 */
85 $entries['domain.user.provider.service'] = function () {
86 return new AmeliaBooking\Domain\Services\User\ProviderService(
87 new AmeliaBooking\Domain\Services\Interval\IntervalService()
88 );
89 };
90
91 /**
92 * @return \AmeliaBooking\Domain\Services\Location\LocationService
93 */
94 $entries['domain.location.service'] = function () {
95 return new AmeliaBooking\Domain\Services\Location\LocationService();
96 };
97
98 /**
99 * @return \AmeliaBooking\Domain\Services\Schedule\ScheduleService
100 */
101 $entries['domain.schedule.service'] = function () {
102 $intervalService = new AmeliaBooking\Domain\Services\Interval\IntervalService();
103
104 $locationService = new AmeliaBooking\Domain\Services\Location\LocationService();
105
106 $providerService = new AmeliaBooking\Domain\Services\User\ProviderService(
107 $intervalService
108 );
109
110 return new AmeliaBooking\Domain\Services\Schedule\ScheduleService(
111 $intervalService,
112 $providerService,
113 $locationService
114 );
115 };
116
117 /**
118 * @return AmeliaBooking\Domain\Services\Resource\AbstractResourceService
119 */
120 $entries['domain.resource.service'] = function () {
121 return AmeliaBooking\Infrastructure\Licence\DomainService::getResourceService();
122 };
123
124 /**
125 * @return AmeliaBooking\Domain\Services\Entity\EntityService
126 */
127 $entries['domain.entity.service'] = function () {
128 return AmeliaBooking\Infrastructure\Licence\DomainService::getEntityService();
129 };
130
131 /**
132 * @return AmeliaBooking\Domain\Services\TimeSlot\TimeSlotService
133 */
134 $entries['domain.timeSlot.service'] = function () {
135 return AmeliaBooking\Infrastructure\Licence\DomainService::getTimeSlotService();
136 };
137