PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.11
Booking for Appointments and Events Calendar – Amelia v1.2.11
2.4.4 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 / repositories.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
repositories.php
475 lines
1 <?php
2 /**
3 * Assembling repositories:
4 * Instantiating infrastructure-layer repositories implementing the Domain layer interfaces
5 */
6
7 use AmeliaBooking\Infrastructure\Common\Container;
8 use AmeliaBooking\Infrastructure\WP\InstallActions\DB;
9 use AmeliaBooking\Infrastructure\Repository;
10
11 defined('ABSPATH') or die('No script kiddies please!');
12
13 $entries['domain.bookable.category.repository'] = function (Container $c) {
14 return new Repository\Bookable\Service\CategoryRepository(
15 $c->getDatabaseConnection(),
16 DB\Bookable\CategoriesTable::getTableName()
17 );
18 };
19
20 $entries['domain.bookable.extra.repository'] = function (Container $c) {
21 return new Repository\Bookable\Service\ExtraRepository(
22 $c->getDatabaseConnection(),
23 DB\Bookable\ExtrasTable::getTableName()
24 );
25 };
26
27 $entries['domain.bookable.service.repository'] = function (Container $c) {
28 return new Repository\Bookable\Service\ServiceRepository(
29 $c->getDatabaseConnection(),
30 DB\Bookable\ServicesTable::getTableName(),
31 DB\User\Provider\ProvidersServiceTable::getTableName(),
32 DB\Bookable\ExtrasTable::getTableName(),
33 DB\Bookable\ServicesViewsTable::getTableName(),
34 DB\Gallery\GalleriesTable::getTableName()
35 );
36 };
37
38 $entries['domain.bookable.package.repository'] = function (Container $c) {
39 return new Repository\Bookable\Service\PackageRepository(
40 $c->getDatabaseConnection(),
41 DB\Bookable\PackagesTable::getTableName()
42 );
43 };
44
45 $entries['domain.bookable.package.packageService.repository'] = function (Container $c) {
46 return new Repository\Bookable\Service\PackageServiceRepository(
47 $c->getDatabaseConnection(),
48 DB\Bookable\PackagesServicesTable::getTableName()
49 );
50 };
51
52 $entries['domain.bookable.package.packageServiceLocation.repository'] = function (Container $c) {
53 return new Repository\Bookable\Service\PackageServiceLocationRepository(
54 $c->getDatabaseConnection(),
55 DB\Bookable\PackagesServicesLocationsTable::getTableName()
56 );
57 };
58
59 $entries['domain.bookable.package.packageServiceProvider.repository'] = function (Container $c) {
60 return new Repository\Bookable\Service\PackageServiceProviderRepository(
61 $c->getDatabaseConnection(),
62 DB\Bookable\PackagesServicesProvidersTable::getTableName()
63 );
64 };
65
66 $entries['domain.bookable.packageCustomer.repository'] = function (Container $c) {
67 return new Repository\Bookable\Service\PackageCustomerRepository(
68 $c->getDatabaseConnection(),
69 DB\Bookable\PackagesCustomersTable::getTableName()
70 );
71 };
72
73 $entries['domain.bookable.packageCustomerService.repository'] = function (Container $c) {
74 return new Repository\Bookable\Service\PackageCustomerServiceRepository(
75 $c->getDatabaseConnection(),
76 DB\Bookable\PackagesCustomersServicesTable::getTableName()
77 );
78 };
79
80 $entries['domain.bookable.resource.repository'] = function (Container $c) {
81 return new Repository\Bookable\Service\ResourceRepository(
82 $c->getDatabaseConnection(),
83 DB\Bookable\ResourcesTable::getTableName()
84 );
85 };
86
87 $entries['domain.bookable.resourceEntities.repository'] = function (Container $c) {
88 return new Repository\Bookable\Service\ResourceEntitiesRepository(
89 $c->getDatabaseConnection(),
90 DB\Bookable\ResourcesToEntitiesTable::getTableName()
91 );
92 };
93
94 $entries['domain.tax.repository'] = function (Container $c) {
95 return new Repository\Tax\TaxRepository(
96 $c->getDatabaseConnection(),
97 DB\Tax\TaxesTable::getTableName()
98 );
99 };
100
101 $entries['domain.tax.entity.repository'] = function (Container $c) {
102 return new Repository\Tax\TaxEntityRepository(
103 $c->getDatabaseConnection(),
104 DB\Tax\TaxesToEntitiesTable::getTableName()
105 );
106 };
107
108 $entries['domain.coupon.repository'] = function (Container $c) {
109 return new Repository\Coupon\CouponRepository(
110 $c->getDatabaseConnection(),
111 DB\Coupon\CouponsTable::getTableName(),
112 DB\Bookable\ServicesTable::getTableName(),
113 DB\Coupon\CouponsToServicesTable::getTableName(),
114 DB\Booking\EventsTable::getTableName(),
115 DB\Coupon\CouponsToEventsTable::getTableName(),
116 DB\Bookable\PackagesTable::getTableName(),
117 DB\Coupon\CouponsToPackagesTable::getTableName(),
118 DB\Booking\CustomerBookingsTable::getTableName()
119 );
120 };
121
122 $entries['domain.coupon.service.repository'] = function (Container $c) {
123 return new Repository\Coupon\CouponServiceRepository(
124 $c->getDatabaseConnection(),
125 DB\Coupon\CouponsToServicesTable::getTableName()
126 );
127 };
128
129 $entries['domain.coupon.event.repository'] = function (Container $c) {
130 return new Repository\Coupon\CouponEventRepository(
131 $c->getDatabaseConnection(),
132 DB\Coupon\CouponsToEventsTable::getTableName()
133 );
134 };
135
136 $entries['domain.coupon.package.repository'] = function (Container $c) {
137 return new Repository\Coupon\CouponPackageRepository(
138 $c->getDatabaseConnection(),
139 DB\Coupon\CouponsToPackagesTable::getTableName()
140 );
141 };
142
143 $entries['domain.locations.repository'] = function (Container $c) {
144 return new Repository\Location\LocationRepository(
145 $c->getDatabaseConnection(),
146 DB\Location\LocationsTable::getTableName(),
147 DB\User\Provider\ProvidersLocationTable::getTableName(),
148 DB\User\Provider\ProvidersServiceTable::getTableName(),
149 DB\Bookable\ServicesTable::getTableName(),
150 DB\Location\LocationsViewsTable::getTableName()
151 );
152 };
153
154 $entries['domain.notification.repository'] = function (Container $c) {
155 return new Repository\Notification\NotificationRepository(
156 $c->getDatabaseConnection(),
157 DB\Notification\NotificationsTable::getTableName()
158 );
159 };
160
161 $entries['domain.notificationEntities.repository'] = function (Container $c) {
162 return new Repository\Notification\NotificationsToEntitiesRepository(
163 $c->getDatabaseConnection(),
164 DB\Notification\NotificationsToEntitiesTable::getTableName()
165 );
166 };
167
168 $entries['domain.notificationLog.repository'] = function (Container $c) {
169 return new Repository\Notification\NotificationLogRepository(
170 $c->getDatabaseConnection(),
171 DB\Notification\NotificationsLogTable::getTableName(),
172 DB\Notification\NotificationsTable::getTableName(),
173 DB\Booking\AppointmentsTable::getTableName(),
174 DB\Booking\CustomerBookingsTable::getTableName(),
175 DB\User\UsersTable::getTableName()
176 );
177 };
178
179 $entries['domain.notificationSMSHistory.repository'] = function (Container $c) {
180 return new Repository\Notification\NotificationSMSHistoryRepository(
181 $c->getDatabaseConnection(),
182 DB\Notification\NotificationsSMSHistoryTable::getTableName()
183 );
184 };
185
186 $entries['domain.payment.repository'] = function (Container $c) {
187 return new Repository\Payment\PaymentRepository(
188 $c->getDatabaseConnection(),
189 DB\Payment\PaymentsTable::getTableName(),
190 DB\Booking\AppointmentsTable::getTableName(),
191 DB\Booking\CustomerBookingsTable::getTableName(),
192 DB\Bookable\ServicesTable::getTableName(),
193 DB\User\UsersTable::getTableName(),
194 DB\Booking\EventsTable::getTableName(),
195 DB\Booking\EventsProvidersTable::getTableName(),
196 DB\Booking\EventsPeriodsTable::getTableName(),
197 DB\Booking\CustomerBookingsToEventsPeriodsTable::getTableName(),
198 DB\Bookable\PackagesTable::getTableName(),
199 DB\Bookable\PackagesCustomersTable::getTableName()
200 );
201 };
202
203 $entries['domain.users.repository'] = function (Container $c) {
204 return new Repository\User\UserRepository(
205 $c->getDatabaseConnection(),
206 DB\User\UsersTable::getTableName()
207 );
208 };
209
210 $entries['domain.bookable.service.providerService.repository'] = function (Container $c) {
211 return new Repository\Bookable\Service\ProviderServiceRepository(
212 $c->getDatabaseConnection(),
213 DB\User\Provider\ProvidersServiceTable::getTableName()
214 );
215 };
216
217 $entries['domain.bookable.service.providerLocation.repository'] = function (Container $c) {
218 return new Repository\Location\ProviderLocationRepository(
219 $c->getDatabaseConnection(),
220 DB\User\Provider\ProvidersLocationTable::getTableName()
221 );
222 };
223
224 $entries['domain.schedule.dayOff.repository'] = function (Container $c) {
225 return new Repository\Schedule\DayOffRepository(
226 $c->getDatabaseConnection(),
227 DB\User\Provider\ProvidersDayOffTable::getTableName()
228 );
229 };
230
231 $entries['domain.schedule.weekDay.repository'] = function (Container $c) {
232 return new Repository\Schedule\WeekDayRepository(
233 $c->getDatabaseConnection(),
234 DB\User\Provider\ProvidersWeekDayTable::getTableName()
235 );
236 };
237
238 $entries['domain.schedule.timeOut.repository'] = function (Container $c) {
239 return new Repository\Schedule\TimeOutRepository(
240 $c->getDatabaseConnection(),
241 DB\User\Provider\ProvidersTimeOutTable::getTableName()
242 );
243 };
244
245 $entries['domain.schedule.period.repository'] = function (Container $c) {
246 return new Repository\Schedule\PeriodRepository(
247 $c->getDatabaseConnection(),
248 DB\User\Provider\ProvidersPeriodTable::getTableName()
249 );
250 };
251
252 $entries['domain.schedule.period.service.repository'] = function (Container $c) {
253 return new Repository\Schedule\PeriodServiceRepository(
254 $c->getDatabaseConnection(),
255 DB\User\Provider\ProvidersPeriodServiceTable::getTableName()
256 );
257 };
258
259 $entries['domain.schedule.period.location.repository'] = function (Container $c) {
260 return new Repository\Schedule\PeriodLocationRepository(
261 $c->getDatabaseConnection(),
262 DB\User\Provider\ProvidersPeriodLocationTable::getTableName()
263 );
264 };
265
266 $entries['domain.schedule.specialDay.repository'] = function (Container $c) {
267 return new Repository\Schedule\SpecialDayRepository(
268 $c->getDatabaseConnection(),
269 DB\User\Provider\ProvidersSpecialDayTable::getTableName()
270 );
271 };
272
273 $entries['domain.schedule.specialDay.period.repository'] = function (Container $c) {
274 return new Repository\Schedule\SpecialDayPeriodRepository(
275 $c->getDatabaseConnection(),
276 DB\User\Provider\ProvidersSpecialDayPeriodTable::getTableName()
277 );
278 };
279
280 $entries['domain.schedule.specialDay.period.service.repository'] = function (Container $c) {
281 return new Repository\Schedule\SpecialDayPeriodServiceRepository(
282 $c->getDatabaseConnection(),
283 DB\User\Provider\ProvidersSpecialDayPeriodServiceTable::getTableName()
284 );
285 };
286
287 $entries['domain.schedule.specialDay.period.location.repository'] = function (Container $c) {
288 return new Repository\Schedule\SpecialDayPeriodLocationRepository(
289 $c->getDatabaseConnection(),
290 DB\User\Provider\ProvidersSpecialDayPeriodLocationTable::getTableName()
291 );
292 };
293
294 $entries['domain.users.providers.repository'] = function (Container $c) {
295 return new Repository\User\ProviderRepository(
296 $c->getDatabaseConnection(),
297 DB\User\UsersTable::getTableName(),
298 DB\User\Provider\ProvidersWeekDayTable::getTableName(),
299 DB\User\Provider\ProvidersPeriodTable::getTableName(),
300 DB\User\Provider\ProvidersPeriodServiceTable::getTableName(),
301 DB\User\Provider\ProvidersPeriodLocationTable::getTableName(),
302 DB\User\Provider\ProvidersTimeOutTable::getTableName(),
303 DB\User\Provider\ProvidersSpecialDayTable::getTableName(),
304 DB\User\Provider\ProvidersSpecialDayPeriodTable::getTableName(),
305 DB\User\Provider\ProvidersSpecialDayPeriodServiceTable::getTableName(),
306 DB\User\Provider\ProvidersSpecialDayPeriodLocationTable::getTableName(),
307 DB\User\Provider\ProvidersDayOffTable::getTableName(),
308 DB\User\Provider\ProvidersServiceTable::getTableName(),
309 DB\User\Provider\ProvidersLocationTable::getTableName(),
310 DB\Bookable\ServicesTable::getTableName(),
311 DB\Location\LocationsTable::getTableName(),
312 DB\User\Provider\ProvidersViewsTable::getTableName(),
313 DB\User\Provider\ProvidersGoogleCalendarTable::getTableName(),
314 DB\User\Provider\ProvidersOutlookCalendarTable::getTableName()
315 );
316 };
317
318 $entries['domain.users.customers.repository'] = function (Container $c) {
319 return new Repository\User\CustomerRepository(
320 $c->getDatabaseConnection(),
321 DB\User\UsersTable::getTableName()
322 );
323 };
324
325 $entries['domain.wpUsers.repository'] = function (Container $c) {
326 return new Repository\User\WPUserRepository(
327 $c->getDatabaseConnection(),
328 DB\User\WPUsersTable::getTableName(),
329 DB\User\WPUsersTable::getMetaTableName(),
330 DB\User\WPUsersTable::getDatabasePrefix()
331 );
332 };
333
334 $entries['domain.booking.appointment.repository'] = function (Container $c) {
335 return new Repository\Booking\Appointment\AppointmentRepository(
336 $c->getDatabaseConnection(),
337 DB\Booking\AppointmentsTable::getTableName(),
338 DB\Bookable\ServicesTable::getTableName(),
339 DB\Booking\CustomerBookingsTable::getTableName(),
340 DB\Booking\CustomerBookingsToExtrasTable::getTableName(),
341 DB\Bookable\ExtrasTable::getTableName(),
342 DB\User\UsersTable::getTableName(),
343 DB\Payment\PaymentsTable::getTableName(),
344 DB\Coupon\CouponsTable::getTableName(),
345 DB\User\Provider\ProvidersLocationTable::getTableName(),
346 DB\User\Provider\ProvidersServiceTable::getTableName(),
347 DB\Bookable\PackagesCustomersTable::getTableName(),
348 DB\Bookable\PackagesCustomersServicesTable::getTableName()
349 );
350 };
351
352 $entries['domain.booking.customerBooking.repository'] = function (Container $c) {
353 return new Repository\Booking\Appointment\CustomerBookingRepository(
354 $c->getDatabaseConnection(),
355 DB\Booking\CustomerBookingsTable::getTableName()
356 );
357 };
358
359 $entries['domain.booking.customerBookingExtra.repository'] = function (Container $c) {
360 return new Repository\Booking\Appointment\CustomerBookingExtraRepository(
361 $c->getDatabaseConnection(),
362 DB\Booking\CustomerBookingsToExtrasTable::getTableName()
363 );
364 };
365
366 $entries['domain.booking.customerBookingEventPeriod.repository'] = function (Container $c) {
367 return new Repository\Booking\Event\CustomerBookingEventPeriodRepository(
368 $c->getDatabaseConnection(),
369 DB\Booking\CustomerBookingsToEventsPeriodsTable::getTableName()
370 );
371 };
372
373 $entries['domain.booking.customerBookingEventTicket.repository'] = function (Container $c) {
374 return new Repository\Booking\Event\CustomerBookingEventTicketRepository(
375 $c->getDatabaseConnection(),
376 DB\Booking\CustomerBookingToEventsTicketsTable::getTableName()
377 );
378 };
379
380 $entries['domain.galleries.repository'] = function (Container $c) {
381 return new Repository\Gallery\GalleryRepository(
382 $c->getDatabaseConnection(),
383 DB\Gallery\GalleriesTable::getTableName()
384 );
385 };
386
387 $entries['domain.google.calendar.repository'] = function (Container $c) {
388 return new Repository\Google\GoogleCalendarRepository(
389 $c->getDatabaseConnection(),
390 DB\User\Provider\ProvidersGoogleCalendarTable::getTableName()
391 );
392 };
393
394 $entries['domain.outlook.calendar.repository'] = function (Container $c) {
395 return new Repository\Outlook\OutlookCalendarRepository(
396 $c->getDatabaseConnection(),
397 DB\User\Provider\ProvidersOutlookCalendarTable::getTableName()
398 );
399 };
400
401 $entries['domain.customField.repository'] = function (Container $c) {
402 return new Repository\CustomField\CustomFieldRepository(
403 $c->getDatabaseConnection(),
404 DB\CustomField\CustomFieldsTable::getTableName(),
405 DB\CustomField\CustomFieldsOptionsTable::getTableName(),
406 DB\CustomField\CustomFieldsServicesTable::getTableName(),
407 DB\Bookable\ServicesTable::getTableName(),
408 DB\CustomField\CustomFieldsEventsTable::getTableName(),
409 DB\Booking\EventsTable::getTableName()
410 );
411 };
412
413 $entries['domain.customFieldOption.repository'] = function (Container $c) {
414 return new Repository\CustomField\CustomFieldOptionRepository(
415 $c->getDatabaseConnection(),
416 DB\CustomField\CustomFieldsOptionsTable::getTableName()
417 );
418 };
419
420 $entries['domain.customFieldService.repository'] = function (Container $c) {
421 return new Repository\CustomField\CustomFieldServiceRepository(
422 $c->getDatabaseConnection(),
423 DB\CustomField\CustomFieldsServicesTable::getTableName()
424 );
425 };
426
427 $entries['domain.customFieldEvent.repository'] = function (Container $c) {
428 return new Repository\CustomField\CustomFieldEventRepository(
429 $c->getDatabaseConnection(),
430 DB\CustomField\CustomFieldsEventsTable::getTableName()
431 );
432 };
433
434 $entries['domain.booking.event.repository'] = function (Container $c) {
435 return new Repository\Booking\Event\EventRepository(
436 $c->getDatabaseConnection(),
437 DB\Booking\EventsTable::getTableName()
438 );
439 };
440
441 $entries['domain.booking.event.period.repository'] = function (Container $c) {
442 return new Repository\Booking\Event\EventPeriodsRepository(
443 $c->getDatabaseConnection(),
444 DB\Booking\EventsPeriodsTable::getTableName()
445 );
446 };
447
448 $entries['domain.booking.event.tag.repository'] = function (Container $c) {
449 return new Repository\Booking\Event\EventTagsRepository(
450 $c->getDatabaseConnection(),
451 DB\Booking\EventsTagsTable::getTableName()
452 );
453 };
454
455 $entries['domain.booking.event.ticket.repository'] = function (Container $c) {
456 return new Repository\Booking\Event\EventTicketRepository(
457 $c->getDatabaseConnection(),
458 DB\Booking\EventsTicketsTable::getTableName()
459 );
460 };
461
462 $entries['domain.booking.event.provider.repository'] = function (Container $c) {
463 return new Repository\Booking\Event\EventProvidersRepository(
464 $c->getDatabaseConnection(),
465 DB\Booking\EventsProvidersTable::getTableName()
466 );
467 };
468
469 $entries['domain.cache.repository'] = function (Container $c) {
470 return new Repository\Cache\CacheRepository(
471 $c->getDatabaseConnection(),
472 DB\Cache\CacheTable::getTableName()
473 );
474 };
475