From aa92998f6449b1c5ed43d6dfbc066533292c88e8 Mon Sep 17 00:00:00 2001 From: Martin Gross Date: Thu, 9 Jul 2026 13:59:48 +0200 Subject: [PATCH 1/3] Add manual_discount_percent column --- .../main/java/eu/pretix/libpretixsync/models/ReceiptLine.kt | 3 ++- .../pretix/libpretixsync/models/db/ReceiptLineExtensions.kt | 1 + .../pretix/libpretixsync/sqldelight/ReceiptLineExtensions.kt | 1 + .../common/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq | 4 +++- .../eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq | 1 + .../sqlite/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq | 3 ++- 6 files changed, 10 insertions(+), 3 deletions(-) diff --git a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/ReceiptLine.kt b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/ReceiptLine.kt index 7cfe1019..ed5d0da4 100644 --- a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/ReceiptLine.kt +++ b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/ReceiptLine.kt @@ -50,7 +50,8 @@ data class ReceiptLine( val giftCardSecret: String? = null, val priceCalculatedFromNet: Boolean = false, val linePriceGross: BigDecimal, - val discountId: Long? = null + val discountId: Long? = null, + val manualDiscountPercent: BigDecimal? = null ) { enum class Type(val value: String) { PRODUCT_SALE("PRODUCT_SALE"), diff --git a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/ReceiptLineExtensions.kt b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/ReceiptLineExtensions.kt index 59b4839a..a6ed510b 100644 --- a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/ReceiptLineExtensions.kt +++ b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/ReceiptLineExtensions.kt @@ -50,4 +50,5 @@ fun ReceiptLine.toModel() = priceCalculatedFromNet = price_calculated_from_net == true, linePriceGross = line_price_gross ?: price, discountId = discount_id, + manualDiscountPercent = manual_discount_percent, ) diff --git a/libpretixsync/src/main/java/eu/pretix/libpretixsync/sqldelight/ReceiptLineExtensions.kt b/libpretixsync/src/main/java/eu/pretix/libpretixsync/sqldelight/ReceiptLineExtensions.kt index ff96ed79..1c5c849d 100644 --- a/libpretixsync/src/main/java/eu/pretix/libpretixsync/sqldelight/ReceiptLineExtensions.kt +++ b/libpretixsync/src/main/java/eu/pretix/libpretixsync/sqldelight/ReceiptLineExtensions.kt @@ -55,5 +55,6 @@ fun ReceiptLine.toJSON(): JSONObject { jo.put("gift_card_secret", gift_card_secret) jo.put("line_price_gross", line_price_gross ?: JSONObject.NULL) jo.put("discount", discount_id ?: JSONObject.NULL) + jo.put("manual_discount_percent", manual_discount_percent) return jo } diff --git a/libpretixsync/src/main/sqldelight/common/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq b/libpretixsync/src/main/sqldelight/common/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq index b97edffe..1be994e2 100644 --- a/libpretixsync/src/main/sqldelight/common/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq +++ b/libpretixsync/src/main/sqldelight/common/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq @@ -60,7 +60,8 @@ INSERT INTO ReceiptLine ( variation_id, voucher_code, line_price_gross, - discount_id + discount_id, + manual_discount_percent ) VALUES ( ?, @@ -108,5 +109,6 @@ VALUES ( ?, ?, ?, + ?, ? ); \ No newline at end of file diff --git a/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq b/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq index 9dcf0929..964c9109 100644 --- a/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq +++ b/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq @@ -47,6 +47,7 @@ CREATE TABLE ReceiptLine ( voucher_code character varying(255), line_price_gross numeric, discount_id bigint, + manual_discount_percent bigint, receipt bigint REFERENCES Receipt (id) ON DELETE CASCADE, -- The foreign key constraint must be created in code since SQLDelight does not support self-referential foreign key constraints here diff --git a/libpretixsync/src/main/sqldelight/sqlite/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq b/libpretixsync/src/main/sqldelight/sqlite/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq index 948636c2..4ef611d8 100644 --- a/libpretixsync/src/main/sqldelight/sqlite/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq +++ b/libpretixsync/src/main/sqldelight/sqlite/eu/pretix/libpretixsync/sqldelight/ReceiptLine.sq @@ -49,7 +49,8 @@ CREATE TABLE ReceiptLine ( variation_id INTEGER, voucher_code TEXT, line_price_gross REAL AS BigDecimal, - discount_id INTEGER + discount_id INTEGER, + manual_discount_percent REAL AS BigDecimal ); CREATE INDEX ReceiptLine_addon_to_index ON ReceiptLine (addon_to); From 2b69b908372ba119f91c6d425e7bcb6afe954f36 Mon Sep 17 00:00:00 2001 From: Martin Gross Date: Thu, 9 Jul 2026 14:01:38 +0200 Subject: [PATCH 2/3] Add missing migrations --- libpretixsync/src/main/sqldelight/postgres/migrations/117.sqm | 1 + libpretixsync/src/main/sqldelight/sqlite/migrations/117.sqm | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 libpretixsync/src/main/sqldelight/postgres/migrations/117.sqm create mode 100644 libpretixsync/src/main/sqldelight/sqlite/migrations/117.sqm diff --git a/libpretixsync/src/main/sqldelight/postgres/migrations/117.sqm b/libpretixsync/src/main/sqldelight/postgres/migrations/117.sqm new file mode 100644 index 00000000..144405a9 --- /dev/null +++ b/libpretixsync/src/main/sqldelight/postgres/migrations/117.sqm @@ -0,0 +1 @@ +ALTER TABLE ReceiptLine ADD manual_discount_percent numeric; diff --git a/libpretixsync/src/main/sqldelight/sqlite/migrations/117.sqm b/libpretixsync/src/main/sqldelight/sqlite/migrations/117.sqm new file mode 100644 index 00000000..c43671aa --- /dev/null +++ b/libpretixsync/src/main/sqldelight/sqlite/migrations/117.sqm @@ -0,0 +1,3 @@ +import java.math.BigDecimal; + +ALTER TABLE ReceiptLine ADD manual_discount_percent REAL AS BigDecimal; From 53d007fee5760a1c39da95e4afbabdb85cb56a43 Mon Sep 17 00:00:00 2001 From: Martin Gross Date: Mon, 13 Jul 2026 11:48:46 +0200 Subject: [PATCH 3/3] Rename migrations --- .../src/main/sqldelight/postgres/migrations/{117.sqm => 118.sqm} | 0 .../src/main/sqldelight/sqlite/migrations/{117.sqm => 118.sqm} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename libpretixsync/src/main/sqldelight/postgres/migrations/{117.sqm => 118.sqm} (100%) rename libpretixsync/src/main/sqldelight/sqlite/migrations/{117.sqm => 118.sqm} (100%) diff --git a/libpretixsync/src/main/sqldelight/postgres/migrations/117.sqm b/libpretixsync/src/main/sqldelight/postgres/migrations/118.sqm similarity index 100% rename from libpretixsync/src/main/sqldelight/postgres/migrations/117.sqm rename to libpretixsync/src/main/sqldelight/postgres/migrations/118.sqm diff --git a/libpretixsync/src/main/sqldelight/sqlite/migrations/117.sqm b/libpretixsync/src/main/sqldelight/sqlite/migrations/118.sqm similarity index 100% rename from libpretixsync/src/main/sqldelight/sqlite/migrations/117.sqm rename to libpretixsync/src/main/sqldelight/sqlite/migrations/118.sqm