PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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 / WP / InstallActions / DB / Booking / CustomerBookingsTable.php
ameliabooking / src / Infrastructure / WP / InstallActions / DB / Booking Last commit date
AppointmentsTable.php 1 year ago CustomerBookingToEventsTicketsTable.php 2 years ago CustomerBookingsTable.php 1 year ago CustomerBookingsToEventsPeriodsTable.php 2 years ago CustomerBookingsToExtrasTable.php 2 years ago EventsPeriodsTable.php 1 year ago EventsProvidersTable.php 2 years ago EventsTable.php 1 year ago EventsTagsTable.php 2 years ago EventsTicketsTable.php 1 year ago
CustomerBookingsTable.php
67 lines
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\Token;
7 use AmeliaBooking\Infrastructure\WP\InstallActions\DB\AbstractDatabaseTable;
8
9 /**
10 * Class CustomerBookingsTable
11 *
12 * @package AmeliaBooking\Infrastructure\WP\InstallActions\DB\Booking
13 */
14 class CustomerBookingsTable extends AbstractDatabaseTable
15 {
16
17 const TABLE = 'customer_bookings';
18
19 /**
20 * @return string
21 * @throws InvalidArgumentException
22 */
23 public static function buildTable()
24 {
25 $table = self::getTableName();
26
27 $token = Token::MAX_LENGTH;
28
29 return "CREATE TABLE {$table} (
30 `id` INT(11) NOT NULL AUTO_INCREMENT,
31 `appointmentId` INT(11) NULL,
32 `customerId` INT(11) NOT NULL,
33 `status` ENUM('approved', 'pending', 'canceled', 'rejected', 'no-show', 'waiting') NULL,
34 `price` DOUBLE NOT NULL,
35 `tax` VARCHAR(255) DEFAULT NULL,
36 `persons` INT(11) NOT NULL,
37 `couponId` INT(11) NULL,
38 `token` VARCHAR({$token}) NULL,
39 `customFields` TEXT NULL,
40 `info` TEXT NULL,
41 `utcOffset` INT(3) NULL,
42 `aggregatedPrice` TINYINT(1) DEFAULT 1,
43 `packageCustomerServiceId` INT(11) NULL,
44 `duration` int(11) DEFAULT NULL,
45 `created` DATETIME NULL,
46 `actionsCompleted` TINYINT(1) NULL,
47 PRIMARY KEY (`id`)
48 ) DEFAULT CHARSET=utf8 COLLATE utf8_general_ci";
49 }
50
51 /**
52 * @return array
53 * @throws InvalidArgumentException
54 */
55 public static function alterTable()
56 {
57 $table = self::getTableName();
58
59 global $wpdb;
60
61 return ($wpdb->get_var("SHOW COLUMNS FROM `{$table}` LIKE 'eventId'") !== 'eventId') ?
62 [
63 "ALTER TABLE {$table} MODIFY appointmentId INT(11) NULL",
64 ] : [];
65 }
66 }
67