PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.31
Booking for Appointments and Events Calendar – Amelia v1.2.31
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 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 / Bookable / PackagesTable.php
ameliabooking / src / Infrastructure / WP / InstallActions / DB / Bookable Last commit date
CategoriesTable.php 1 year ago ExtrasTable.php 1 year ago PackagesCustomersServicesTable.php 1 year ago PackagesCustomersTable.php 1 year ago PackagesServicesLocationsTable.php 1 year ago PackagesServicesProvidersTable.php 1 year ago PackagesServicesTable.php 1 year ago PackagesTable.php 1 year ago ResourcesTable.php 1 year ago ResourcesToEntitiesTable.php 1 year ago ServicesTable.php 1 year ago ServicesViewsTable.php 1 year ago
PackagesTable.php
61 lines
1 <?php
2
3 namespace AmeliaBooking\Infrastructure\WP\InstallActions\DB\Bookable;
4
5 use AmeliaBooking\Domain\Common\Exceptions\InvalidArgumentException;
6 use AmeliaBooking\Domain\ValueObjects\Picture;
7 use AmeliaBooking\Domain\ValueObjects\String\Color;
8 use AmeliaBooking\Domain\ValueObjects\String\Description;
9 use AmeliaBooking\Domain\ValueObjects\String\Name;
10 use AmeliaBooking\Infrastructure\WP\InstallActions\DB\AbstractDatabaseTable;
11
12 /**
13 * Class PackagesTable
14 *
15 * @package AmeliaBooking\Infrastructure\WP\InstallActions\DB\Bookable
16 */
17 class PackagesTable extends AbstractDatabaseTable
18 {
19 public const TABLE = 'packages';
20
21 /**
22 * @return string
23 * @throws InvalidArgumentException
24 */
25 public static function buildTable()
26 {
27 $table = self::getTableName();
28
29 $name = Name::MAX_LENGTH;
30 $description = Description::MAX_LENGTH;
31 $color = Color::MAX_LENGTH;
32 $picture = Picture::MAX_LENGTH;
33
34 return "CREATE TABLE {$table} (
35 `id` INT(11) NOT NULL AUTO_INCREMENT,
36 `name` VARCHAR({$name}) NOT NULL DEFAULT '',
37 `description` TEXT({$description}) NULL,
38 `color` VARCHAR({$color}) NOT NULL DEFAULT '',
39 `price` DOUBLE NOT NULL,
40 `status` ENUM('hidden', 'visible', 'disabled') NOT NULL DEFAULT 'visible',
41 `pictureFullPath` VARCHAR ({$picture}) NULL,
42 `pictureThumbPath` VARCHAR ({$picture}) NULL,
43 `position` INT(11) DEFAULT 0,
44 `calculatedPrice` TINYINT(1) DEFAULT 1,
45 `discount` DOUBLE NOT NULL,
46 `endDate` DATETIME NULL,
47 `durationType` ENUM('day', 'week', 'month') DEFAULT NULL,
48 `durationCount` INT(4) DEFAULT NULL,
49 `settings` TEXT({$description}) NULL DEFAULT NULL,
50 `translations` TEXT NULL DEFAULT NULL,
51 `depositPayment` ENUM('disabled' , 'fixed', 'percentage') DEFAULT 'disabled',
52 `deposit` DOUBLE DEFAULT 0,
53 `fullPayment` TINYINT(1) DEFAULT 0,
54 `sharedCapacity` TINYINT(1) DEFAULT 0,
55 `quantity` INT(11) DEFAULT 1,
56 `limitPerCustomer` TEXT NULL DEFAULT NULL,
57 PRIMARY KEY (`id`)
58 ) DEFAULT CHARSET=utf8 COLLATE utf8_general_ci";
59 }
60 }
61