diff --git a/build.gradle.kts b/build.gradle.kts index 165471e..bb36e79 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ plugins { } group = "com.aitrainer" -version = "1.0.21" +version = "1.0.22" java.sourceCompatibility = JavaVersion.VERSION_1_8 repositories { diff --git a/data/db/install.sql b/data/db/install.sql index 1f43623..8e26823 100644 --- a/data/db/install.sql +++ b/data/db/install.sql @@ -777,11 +777,14 @@ CREATE TABLE IF NOT EXISTS `product` ( `product_id` int(11) NOT NULL AUTO_INCREMENT, `name` char(50) NOT NULL, `description` mediumtext DEFAULT NULL, + `app_version` CHAR(50) NOT NULL COLLATE 'utf8mb4_general_ci', + `product_set` INT(5) NOT NULL, + `sort` INT(5) NOT NULL, `type` enum('subscription','in-app-currency') NOT NULL DEFAULT 'subscription', `valid_from` date DEFAULT NULL, `valid_to` date DEFAULT NULL, - `product_id_ios` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', - `product_id_android` CHAR(50) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', + `product_id_ios` CHAR(50) NULL DEFAULT NULL, + `product_id_android` CHAR(50) NULL DEFAULT NULL, `price_ios` FLOAT NULL DEFAULT NULL, `price_android` FLOAT NULL DEFAULT NULL, PRIMARY KEY (`product_id`) USING BTREE @@ -789,18 +792,24 @@ CREATE TABLE IF NOT EXISTS `product` ( -- Tábla adatainak mentése aitrainer2.product: ~12 rows (hozzávetőleg) /*!40000 ALTER TABLE `product` DISABLE KEYS */; -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (1, 'Subscription A', '700 Ft', 'subscription', '2020-11-01', NULL, 'p_ios_1', 'p_android_1', 990, 970); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (2, 'Subscription B', '1000 Ft', 'subscription', '2020-11-01', NULL, NULL, NULL, 1010, 1005); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (3, 'Subscription C', '1500 Ft', 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (4, 'Subscription D', '2000 Ft', 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (5, 'Subscription E', '3000 Ft', 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (6, 'Subscription F', '5000 Ft', 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (7, 'Subscription A Yearly', '7000 Ft', 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (8, 'Subscription B Yearly', '10000', 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (9, 'Subscription C Yearly', '15000', 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (10, 'Subscription D Yearly', '20000', 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (11, 'Subscription E Yearly', '30000', 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); -INSERT INTO `product` (`product_id`, `name`, `description`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (12, 'Subscription F Yearly', '50000', 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (1, 'Subscription A', '700 Ft', 'wt', 1, 3, 'subscription', '2020-11-01', NULL, 'p_ios_1', 'p_android_1', 990, 970); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (2, 'Subscription B', '1000 Ft', 'wt', 2, 3, 'subscription', '2020-11-01', NULL, NULL, NULL, 1010, 1005); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (3, 'Subscription C', '1500 Ft', 'wt', 3, 3, 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (4, 'Subscription D', '2000 Ft', 'wt', 4, 3, 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (5, 'Subscription E', '3000 Ft', 'wt', 5, 3, 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (6, 'Subscription F', '5000 Ft', 'wt', 6, 3, 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (7, 'Subscription A Yearly', '7000 Ft', 'wt', 1, 1, 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (8, 'Subscription B Yearly', '10000', 'wt', 2, 1, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (9, 'Subscription C Yearly', '15000', 'wt', 3, 1, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (10, 'Subscription D Yearly', '20000', 'wt', 4, 1, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (11, 'Subscription E Yearly', '30000', 'wt', 5, 1, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (12, 'Subscription F Yearly', '50000', 'wt', 6, 1, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (13, 'Subscription A Yearly 2', '7700', 'wt', 1, 1, 'subscription', '2020-11-01', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (14, 'Subscription B Yearly 2', '11000', 'wt', 2, 2, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (15, 'Subscription C Yearly 2', '16000', 'wt', 3, 2, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (16, 'Subscription D Yearly 2', '21000', 'wt', 4, 2, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (17, 'Subscription E Yearly 2', '31000', 'wt', 5, 2, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); +INSERT INTO `product` (`product_id`, `name`, `description`, `app_version`, `product_set`, `sort`, `type`, `valid_from`, `valid_to`, `product_id_ios`, `product_id_android`, `price_ios`, `price_android`) VALUES (18, 'Subscription F Yearly 2', '51000', 'wt', 6, 2, 'subscription', '2020-11-04', NULL, NULL, NULL, NULL, NULL); /*!40000 ALTER TABLE `product` ENABLE KEYS */; diff --git a/data/db/update_1_0_22.sql b/data/db/update_1_0_22.sql new file mode 100644 index 0000000..09065ef --- /dev/null +++ b/data/db/update_1_0_22.sql @@ -0,0 +1,6 @@ +ALTER TABLE `product` + ADD COLUMN `app_version` char(50) NOT NULL AFTER `description`, + ADD COLUMN `product_set` int(5) NOT NULL AFTER `app_version`, + ADD COLUMN `sort` int(5) NOT NULL AFTER `product_set`; + +UPDATE configuration set config_value = "1.0.22", date_change=CURRENT_DATE WHERE config_key = "db_version"; \ No newline at end of file diff --git a/src/main/kotlin/com/aitrainer/api/model/Product.kt b/src/main/kotlin/com/aitrainer/api/model/Product.kt index 56e15ec..286e1dd 100644 --- a/src/main/kotlin/com/aitrainer/api/model/Product.kt +++ b/src/main/kotlin/com/aitrainer/api/model/Product.kt @@ -18,6 +18,9 @@ data class Product ( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @get: NonNull var productId: Int, @get: NotBlank var name: String = "", @get: NotBlank var description: String = "", + @get: NonNull var app_version: String? = null, + @get: NonNull var product_set: Int? = null, + @get: NonNull var sort: Int? = null, @get: NonNull var type: String? = null, @get: NonNull var validFrom: String? = null, @get: NonNull var validTo: String? = null, diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties index 2613c15..7845b23 100644 --- a/src/main/resources/application-prod.properties +++ b/src/main/resources/application-prod.properties @@ -16,6 +16,6 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structure has been changed, increment this version number -application.version=1.0.21 +application.version=1.0.22 jwt.secret=aitrainer \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 626a83d..1442a64 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -16,6 +16,6 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structure has been changed, increment this version number -application.version=1.0.21 +application.version=1.0.22 jwt.secret=aitrainer \ No newline at end of file diff --git a/src/test/kotlin/com/aitrainer/api/test/ProductTesting.kt b/src/test/kotlin/com/aitrainer/api/test/ProductTesting.kt index 30bd112..e195270 100644 --- a/src/test/kotlin/com/aitrainer/api/test/ProductTesting.kt +++ b/src/test/kotlin/com/aitrainer/api/test/ProductTesting.kt @@ -26,12 +26,15 @@ class ProductTesting { assertTrue(products is List) assertTrue(products!!.isNotEmpty()) - assertEquals(products.size, 12) + assertEquals(products.size, 18) assertEquals(products[0].name, "Subscription A") assertEquals(products[0].productIdIos, "p_ios_1") assertEquals(products[0].productIdAndroid, "p_android_1") assertEquals(products[0].priceIos, 990.0) assertEquals(products[0].priceAndroid, 970.0) + assertEquals(products[0].app_version, "wt") + assertEquals(products[0].product_set, 1) + assertEquals(products[0].sort, 3) }