From 8815105bf2462787885214a12af927d484226f21 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Thu, 30 Jul 2020 16:40:23 -0300 Subject: Split out common code into multiplatform Kotlin library --- .../main/java/net/taler/common/ContractTerms.kt | 91 ---------------------- 1 file changed, 91 deletions(-) delete mode 100644 taler-kotlin-common/src/main/java/net/taler/common/ContractTerms.kt (limited to 'taler-kotlin-common/src/main/java/net/taler/common/ContractTerms.kt') diff --git a/taler-kotlin-common/src/main/java/net/taler/common/ContractTerms.kt b/taler-kotlin-common/src/main/java/net/taler/common/ContractTerms.kt deleted file mode 100644 index b891ef7..0000000 --- a/taler-kotlin-common/src/main/java/net/taler/common/ContractTerms.kt +++ /dev/null @@ -1,91 +0,0 @@ -/* - * This file is part of GNU Taler - * (C) 2020 Taler Systems S.A. - * - * GNU Taler is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 3, or (at your option) any later version. - * - * GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * GNU Taler; see the file COPYING. If not, see - */ - -package net.taler.common - -import androidx.annotation.RequiresApi -import com.fasterxml.jackson.annotation.JsonIgnore -import com.fasterxml.jackson.annotation.JsonIgnoreProperties -import com.fasterxml.jackson.annotation.JsonInclude -import com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY -import com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL -import com.fasterxml.jackson.annotation.JsonProperty -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable -import net.taler.common.TalerUtils.getLocalizedString - -@Serializable -@JsonIgnoreProperties(ignoreUnknown = true) -data class ContractTerms( - val summary: String, - @SerialName("summary_i18n") - val summaryI18n: Map? = null, - val amount: Amount, - @SerialName("fulfillment_url") - val fulfillmentUrl: String, - val products: List -) - -@JsonInclude(NON_NULL) -abstract class Product { - @get:JsonProperty("product_id") - abstract val productId: String? - abstract val description: String - - @get:JsonProperty("description_i18n") - abstract val descriptionI18n: Map? - abstract val price: Amount - - @get:JsonProperty("delivery_location") - abstract val location: String? - abstract val image: String? - - @get:JsonIgnore - val localizedDescription: String - @RequiresApi(26) - get() = getLocalizedString(descriptionI18n, description) -} - -@Serializable -data class ContractProduct( - @SerialName("product_id") - override val productId: String? = null, - override val description: String, - @SerialName("description_i18n") - override val descriptionI18n: Map? = null, - override val price: Amount, - @SerialName("delivery_location") - override val location: String? = null, - override val image: String? = null, - val quantity: Int -) : Product() { - @get:JsonIgnore - val totalPrice: Amount by lazy { - price * quantity - } -} - -data class ContractMerchant( - val name: String -) - -@Serializable -@JsonInclude(NON_EMPTY) -class Timestamp( - @SerialName("t_ms") - @JsonProperty("t_ms") - val ms: Long -) -- cgit v1.2.3