From cd0327eb79b027021971876a5da49892eef9035e Mon Sep 17 00:00:00 2001 From: Guilherme Pimenta Date: Mon, 19 Aug 2024 10:56:13 -0300 Subject: [PATCH] Device enum to uppercase --- .../topsort/analytics/banners/BannerConfig.kt | 12 +++--- .../analytics/model/auctions/Auction.kt | 42 ++++++++++++++++--- .../model/auctions/AuctionRequest.kt | 7 +++- .../analytics/model/auctions/Device.kt | 7 ++-- 4 files changed, 52 insertions(+), 16 deletions(-) diff --git a/TopsortAnalytics/src/main/java/com/topsort/analytics/banners/BannerConfig.kt b/TopsortAnalytics/src/main/java/com/topsort/analytics/banners/BannerConfig.kt index 4170c1d..afdacc3 100644 --- a/TopsortAnalytics/src/main/java/com/topsort/analytics/banners/BannerConfig.kt +++ b/TopsortAnalytics/src/main/java/com/topsort/analytics/banners/BannerConfig.kt @@ -18,7 +18,7 @@ sealed class BannerConfig private constructor() { data class LandingPage( val slotId: String, val ids: List, - val device: Device = Device.mobile, + val device: Device = Device.MOBILE, val geoTargeting: String? = null ) : BannerConfig() @@ -33,7 +33,7 @@ sealed class BannerConfig private constructor() { data class CategorySingle( val slotId: String, val category: String, - val device: Device = Device.mobile, + val device: Device = Device.MOBILE, val geoTargeting: String? = null ) : BannerConfig() @@ -48,7 +48,7 @@ sealed class BannerConfig private constructor() { data class CategoryMultiple( val slotId: String, val categories: List, - val device: Device = Device.mobile, + val device: Device = Device.MOBILE, val geoTargeting: String? = null, ) : BannerConfig() @@ -63,7 +63,7 @@ sealed class BannerConfig private constructor() { data class CategoryDisjunctions( val slotId: String, val disjunctions: List>, - val device: Device = Device.mobile, + val device: Device = Device.MOBILE, val geoTargeting: String? = null, ) : BannerConfig() @@ -78,7 +78,7 @@ sealed class BannerConfig private constructor() { data class Keyword( val slotId: String, val keyword: String, - val device: Device = Device.mobile, + val device: Device = Device.MOBILE, val geoTargeting: String? = null, ) : BannerConfig() -} \ No newline at end of file +} diff --git a/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Auction.kt b/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Auction.kt index 7babc7f..1170c2b 100644 --- a/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Auction.kt +++ b/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Auction.kt @@ -1,5 +1,7 @@ package com.topsort.analytics.model.auctions +import org.json.JSONObject + data class Auction private constructor( val type: String, val slots: Int, @@ -11,6 +13,36 @@ data class Auction private constructor( val device: Device? = null, ) { + fun toJsonObject(): JSONObject { + val builder = JSONObject() + + with(builder) { + put("type", type) + put("slots", slots) + if (products != null) { + put("products", products) + } + if (category != null) { + put("category", category) + } + if (searchQuery != null) { + put("searchQuery", searchQuery) + } + if (geoTargeting != null) { + put("geoTargeting", geoTargeting) + } + if (slotId != null) { + put("slotId", slotId) + } + if (device != null) { + put("device", device.name.lowercase()) + } + } + + return builder + + } + object Factory { @JvmOverloads @@ -88,7 +120,7 @@ data class Auction private constructor( slots: Int, slotId: String, ids: List, - device: Device = Device.mobile, + device: Device = Device.MOBILE, geoTargeting: String? = null, ): Auction { return Auction( @@ -106,7 +138,7 @@ data class Auction private constructor( slots: Int, slotId: String, category: String, - device: Device = Device.mobile, + device: Device = Device.MOBILE, geoTargeting: String? = null, ): Auction { return Auction( @@ -124,7 +156,7 @@ data class Auction private constructor( slots: Int, slotId: String, categories: List, - device: Device = Device.mobile, + device: Device = Device.MOBILE, geoTargeting: String? = null, ): Auction { return Auction( @@ -142,7 +174,7 @@ data class Auction private constructor( slots: Int, slotId: String, disjunctions: List>, - device: Device = Device.mobile, + device: Device = Device.MOBILE, geoTargeting: String? = null, ): Auction { return Auction( @@ -160,7 +192,7 @@ data class Auction private constructor( slots: Int, slotId: String, keyword: String, - device: Device = Device.mobile, + device: Device = Device.MOBILE, geoTargeting: String? = null, ): Auction { return Auction( diff --git a/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/AuctionRequest.kt b/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/AuctionRequest.kt index 4a57669..d5cba94 100644 --- a/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/AuctionRequest.kt +++ b/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/AuctionRequest.kt @@ -1,11 +1,16 @@ package com.topsort.analytics.model.auctions +import org.json.JSONArray import org.json.JSONObject data class AuctionRequest( val auctions : List ){ fun toJsonObject(): JSONObject { - return JSONObject().put("auctions", auctions) + val array = JSONArray() + auctions.indices.map { + array.put(it, auctions[it].toJsonObject()) + } + return JSONObject().put("auctions", array) } } diff --git a/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Device.kt b/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Device.kt index e80aec8..9c5274b 100644 --- a/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Device.kt +++ b/TopsortAnalytics/src/main/java/com/topsort/analytics/model/auctions/Device.kt @@ -1,7 +1,6 @@ package com.topsort.analytics.model.auctions -@Suppress("EnumNaming") enum class Device { - desktop, - mobile -} \ No newline at end of file + DESKTOP, + MOBILE, +}