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/postgres/migrations/118.sqm b/libpretixsync/src/main/sqldelight/postgres/migrations/118.sqm new file mode 100644 index 00000000..144405a9 --- /dev/null +++ b/libpretixsync/src/main/sqldelight/postgres/migrations/118.sqm @@ -0,0 +1 @@ +ALTER TABLE ReceiptLine ADD manual_discount_percent numeric; 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); diff --git a/libpretixsync/src/main/sqldelight/sqlite/migrations/118.sqm b/libpretixsync/src/main/sqldelight/sqlite/migrations/118.sqm new file mode 100644 index 00000000..c43671aa --- /dev/null +++ b/libpretixsync/src/main/sqldelight/sqlite/migrations/118.sqm @@ -0,0 +1,3 @@ +import java.math.BigDecimal; + +ALTER TABLE ReceiptLine ADD manual_discount_percent REAL AS BigDecimal;