diff --git a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/Order.kt b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/Order.kt index 640694db..41701e2d 100644 --- a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/Order.kt +++ b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/Order.kt @@ -16,8 +16,8 @@ class Order( val validIfPending: Boolean = false, val total: BigDecimal? = null, val pendingTotal: BigDecimal? = null, - val payments: JSONArray = JSONArray(), - val refunds: JSONArray = JSONArray(), + val payments: JSONArray? = JSONArray(), + val refunds: JSONArray? = JSONArray(), ) { val hasValidStatus = when (status) { diff --git a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/OrderExensions.kt b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/OrderExensions.kt index eace5152..6a4c22e3 100644 --- a/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/OrderExensions.kt +++ b/libpretixsync/src/main/java/eu/pretix/libpretixsync/models/db/OrderExensions.kt @@ -87,19 +87,9 @@ private fun parsePendingTotal(json: JSONObject): BigDecimal? { } private fun parsePayments(json: JSONObject): JSONArray { - try { - return json.getJSONArray("payments") - } catch (e: JSONException) { - e.printStackTrace() - return JSONArray() - } + return json.optJSONArray("payments") } -private fun parseRefunds(json: JSONObject): JSONArray { - try { - return json.getJSONArray("refunds") - } catch (e: JSONException) { - e.printStackTrace() - return JSONArray() - } +private fun parseRefunds(json: JSONObject): JSONArray? { + return json.optJSONArray("refunds") } diff --git a/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/Discount.sq b/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/Discount.sq index 9e6ed951..5f6d6052 100644 --- a/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/Discount.sq +++ b/libpretixsync/src/main/sqldelight/postgres/eu/pretix/libpretixsync/sqldelight/Discount.sq @@ -1,12 +1,13 @@ import java.util.Date; +import kotlin.Long; CREATE TABLE Discount ( id serial AS Long PRIMARY KEY NOT NULL, server_id bigint NOT NULL, event_slug character varying(255) NOT NULL, active boolean NOT NULL, - available_from DATE as Date, - available_until DATE as Date, + available_from DATE AS Date, + available_until DATE AS Date, "position" bigint NOT NULL, json_data text NOT NULL ); diff --git a/libpretixsync/src/main/sqldelight/postgres/migrations/111.sqm b/libpretixsync/src/main/sqldelight/postgres/migrations/111.sqm new file mode 100644 index 00000000..85c2d584 --- /dev/null +++ b/libpretixsync/src/main/sqldelight/postgres/migrations/111.sqm @@ -0,0 +1,16 @@ +import java.util.Date; +import kotlin.Long; + +CREATE TABLE Discount ( + id serial AS Long PRIMARY KEY NOT NULL, + server_id bigint NOT NULL, + event_slug character varying(255) NOT NULL, + active boolean NOT NULL, + available_from DATE AS Date, + available_until DATE AS Date, + "position" bigint NOT NULL, + json_data text NOT NULL +); + +ALTER TABLE ReceiptLine ADD line_price_gross numeric; +ALTER TABLE ReceiptLine ADD discount_id bigint; diff --git a/libpretixsync/src/main/sqldelight/common/migrations/111.sqm b/libpretixsync/src/main/sqldelight/sqlite/migrations/111.sqm similarity index 100% rename from libpretixsync/src/main/sqldelight/common/migrations/111.sqm rename to libpretixsync/src/main/sqldelight/sqlite/migrations/111.sqm