PluginProbe
Booking for Appointments and Events Calendar – Amelia / 2.4.9
Booking for Appointments and Events Calendar – Amelia v2.4.9
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 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 All 59 releases
ameliabooking / src / Infrastructure / WP / InstallActions / DB / Booking / EventsPeriodsTable.php
EventsPeriodsTable.php
46 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace AmeliaBooking\Infrastructure\WP\InstallActions\DB\Booking;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\ValueObjects\String\Description;
7 use AmeliaBooking\Infrastructure\WP\InstallActions\DB\AbstractDatabaseTable;
8
9 /**
10 * Class EventsPeriodsTable
11 *
12 * @package AmeliaBooking\Infrastructure\WP\InstallActions\DB\Booking
13 */
14 class EventsPeriodsTable extends AbstractDatabaseTable
15 {
16 public const TABLE = 'events_periods';
17
18 /**
19 * @return string
20 * @throws InvalidArgumentException
21 */
22 public static function buildTable()
23 {
24 $table = self::getTableName();
25
26 $charsetCollate = self::getCharsetCollate();
27
28 $description = Description::MAX_LENGTH;
29
30 return "CREATE TABLE {$table} (
31 `id` INT(11) NOT NULL AUTO_INCREMENT,
32 `eventId` bigint(20) NOT NULL,
33 `periodStart` DATETIME NOT NULL,
34 `periodEnd` DATETIME NOT NULL,
35 `zoomMeeting` TEXT({$description}) NULL,
36 `lessonSpace` TEXT({$description}) NULL,
37 `googleCalendarEventId` VARCHAR(255) NULL,
38 `googleMeetUrl` VARCHAR(255) NULL,
39 `outlookCalendarEventId` VARCHAR(255) NULL,
40 `microsoftTeamsUrl` VARCHAR(255) NULL,
41 `appleCalendarEventId` VARCHAR(255) NULL,
42 PRIMARY KEY (`id`)
43 ) {$charsetCollate};";
44 }
45 }
46