PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 year ago command.bus.php 2 years ago container.php 1 year ago domain.event.bus.php 7 years ago domain.services.php 2 years ago infrastructure.services.php 1 year ago infrastructure.user.php 7 years ago repositories.php 2 years ago request.php 1 year ago
domain.services.php
136 lines
1 <?php
2 /**
3 * Assembling domain services:
4 * Instantiating domain services and injecting the Infrastructure layer implementations
5 */
6
7 defined('ABSPATH') or die('No script kiddies please!');
8
9 /**
10 * Permissions service
11 *
12 * @param $c
13 *
14 * @return \AmeliaBooking\Domain\Services\Permissions\PermissionsService
15 */
16 $entries['domain.permissions.service'] = function ($c) {
17 return new AmeliaBooking\Domain\Services\Permissions\PermissionsService(
18 $c,
19 new AmeliaBooking\Infrastructure\WP\PermissionsService\PermissionsChecker()
20 );
21 };
22
23 /**
24 * Permissions service
25 *
26 * @param $c
27 *
28 * @return AmeliaBooking\Domain\Services\Permissions\PermissionsService
29 * @throws \Interop\Container\Exception\ContainerException
30 */
31 $entries['domain.api.permissions.service'] = function ($c) {
32 return AmeliaBooking\Infrastructure\Licence\DomainService::getPermissionService($c);
33 };
34
35 /**
36 * Permissions service
37 *
38 * @return AmeliaBooking\Domain\Services\Api\BasicApiService
39 */
40 $entries['domain.api.service'] = function () {
41 return AmeliaBooking\Infrastructure\Licence\DomainService::getApiService();
42 };
43
44 /**
45 * Appointment service
46 *
47 * @return \AmeliaBooking\Domain\Services\Booking\AppointmentDomainService
48 */
49 $entries['domain.booking.appointment.service'] = function () {
50 return new AmeliaBooking\Domain\Services\Booking\AppointmentDomainService();
51 };
52
53
54 /**
55 * Event service
56 *
57 * @return \AmeliaBooking\Domain\Services\Booking\EventDomainService
58 */
59 $entries['domain.booking.event.service'] = function () {
60 return new AmeliaBooking\Domain\Services\Booking\EventDomainService();
61 };
62
63 /**
64 * Settings service
65 *
66 * @return \AmeliaBooking\Domain\Services\Settings\SettingsService
67 */
68 $entries['domain.settings.service'] = function () {
69 return new AmeliaBooking\Domain\Services\Settings\SettingsService(
70 new AmeliaBooking\Infrastructure\WP\SettingsService\SettingsStorage()
71 );
72 };
73
74 /**
75 * @return \AmeliaBooking\Domain\Services\Interval\IntervalService
76 */
77 $entries['domain.interval.service'] = function () {
78 return new AmeliaBooking\Domain\Services\Interval\IntervalService();
79 };
80
81 /**
82 * @return \AmeliaBooking\Domain\Services\User\ProviderService
83 */
84 $entries['domain.user.provider.service'] = function () {
85 return new AmeliaBooking\Domain\Services\User\ProviderService(
86 new AmeliaBooking\Domain\Services\Interval\IntervalService()
87 );
88 };
89
90 /**
91 * @return \AmeliaBooking\Domain\Services\Location\LocationService
92 */
93 $entries['domain.location.service'] = function () {
94 return new AmeliaBooking\Domain\Services\Location\LocationService();
95 };
96
97 /**
98 * @return \AmeliaBooking\Domain\Services\Schedule\ScheduleService
99 */
100 $entries['domain.schedule.service'] = function () {
101 $intervalService = new AmeliaBooking\Domain\Services\Interval\IntervalService();
102
103 $locationService = new AmeliaBooking\Domain\Services\Location\LocationService();
104
105 $providerService = new AmeliaBooking\Domain\Services\User\ProviderService(
106 $intervalService
107 );
108
109 return new AmeliaBooking\Domain\Services\Schedule\ScheduleService(
110 $intervalService,
111 $providerService,
112 $locationService
113 );
114 };
115
116 /**
117 * @return AmeliaBooking\Domain\Services\Resource\AbstractResourceService
118 */
119 $entries['domain.resource.service'] = function () {
120 return AmeliaBooking\Infrastructure\Licence\DomainService::getResourceService();
121 };
122
123 /**
124 * @return AmeliaBooking\Domain\Services\Entity\EntityService
125 */
126 $entries['domain.entity.service'] = function () {
127 return AmeliaBooking\Infrastructure\Licence\DomainService::getEntityService();
128 };
129
130 /**
131 * @return AmeliaBooking\Domain\Services\TimeSlot\TimeSlotService
132 */
133 $entries['domain.timeSlot.service'] = function () {
134 return AmeliaBooking\Infrastructure\Licence\DomainService::getTimeSlotService();
135 };
136