@@ -16,10 +16,10 @@ import javax.inject.Inject
1616 * The mapper ensures clean data handling:
1717 */
1818@Reusable
19- class WooPosProductModelVersion2Mapper @Inject constructor(val logger : WooPosLogWrapper ) {
19+ class WooPosProductModelMapper @Inject constructor(val logger : WooPosLogWrapper ) {
2020 private val gson = Gson ()
21- fun fromEntity (entity : WCPosProductEntity ): WooPosProductModelVersion2 {
22- return WooPosProductModelVersion2 (
21+ fun fromEntity (entity : WCPosProductEntity ): WooPosProductModel {
22+ return WooPosProductModel (
2323 remoteId = entity.remoteId.value,
2424 parentId = entity.parentId,
2525 name = entity.name,
@@ -45,7 +45,7 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
4545 )
4646 }
4747
48- fun fromEntities (entities : List <WCPosProductEntity >): List <WooPosProductModelVersion2 > {
48+ fun fromEntities (entities : List <WCPosProductEntity >): List <WooPosProductModel > {
4949 return entities.map { fromEntity(it) }
5050 }
5151
@@ -62,7 +62,7 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
6262 }
6363 }
6464
65- fun parseImages (imagesJson : String ): List <WooPosProductModelVersion2 .WooPosProductImage > {
65+ fun parseImages (imagesJson : String ): List <WooPosProductModel .WooPosProductImage > {
6666 return try {
6767 if (imagesJson.isBlank()) {
6868 emptyList()
@@ -79,7 +79,7 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
7979 }
8080 }
8181
82- private fun parseImage (imageMap : Map <String , Any ?>): WooPosProductModelVersion2 .WooPosProductImage ? {
82+ private fun parseImage (imageMap : Map <String , Any ?>): WooPosProductModel .WooPosProductImage ? {
8383 val id = when (val idValue = imageMap[" id" ]) {
8484 is Double -> idValue.toLong()
8585 is Int -> idValue.toLong()
@@ -94,10 +94,10 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
9494 logger.w(" Failed to parse images JSON, id or url is null: $id , $url " )
9595 return null
9696 }
97- return WooPosProductModelVersion2 .WooPosProductImage (id, url, name, alt)
97+ return WooPosProductModel .WooPosProductImage (id, url, name, alt)
9898 }
9999
100- fun parseAttributes (attributesJson : String ): List <WooPosProductModelVersion2 .WooPosProductAttribute > {
100+ fun parseAttributes (attributesJson : String ): List <WooPosProductModel .WooPosProductAttribute > {
101101 return try {
102102 if (attributesJson.isBlank()) {
103103 emptyList()
@@ -114,7 +114,7 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
114114 }
115115 }
116116
117- private fun parseAttribute (attrMap : Map <String , Any ?>): WooPosProductModelVersion2 .WooPosProductAttribute ? {
117+ private fun parseAttribute (attrMap : Map <String , Any ?>): WooPosProductModel .WooPosProductAttribute ? {
118118 val id = when (val idValue = attrMap[" id" ]) {
119119 is Double -> idValue.toLong()
120120 is Int -> idValue.toLong()
@@ -130,10 +130,10 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
130130 }
131131 val isVisible = attrMap[" visible" ] as ? Boolean ? : true
132132 val isVariation = attrMap[" variation" ] as ? Boolean ? : false
133- return WooPosProductModelVersion2 .WooPosProductAttribute (id, name, options, isVisible, isVariation)
133+ return WooPosProductModel .WooPosProductAttribute (id, name, options, isVisible, isVariation)
134134 }
135135
136- fun parseCategories (categoriesJson : String ): List <WooPosProductModelVersion2 .WooPosProductCategory > {
136+ fun parseCategories (categoriesJson : String ): List <WooPosProductModel .WooPosProductCategory > {
137137 return try {
138138 if (categoriesJson.isBlank()) {
139139 emptyList()
@@ -150,7 +150,7 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
150150 }
151151 }
152152
153- private fun parseCategory (catMap : Map <String , Any ?>): WooPosProductModelVersion2 .WooPosProductCategory ? {
153+ private fun parseCategory (catMap : Map <String , Any ?>): WooPosProductModel .WooPosProductCategory ? {
154154 val id = when (val idValue = catMap[" id" ]) {
155155 is Double -> idValue.toLong()
156156 is Int -> idValue.toLong()
@@ -164,10 +164,10 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
164164 logger.w(" Failed to parse category JSON, id or name is null: $id , $name " )
165165 return null
166166 }
167- return WooPosProductModelVersion2 .WooPosProductCategory (id, name, slug)
167+ return WooPosProductModel .WooPosProductCategory (id, name, slug)
168168 }
169169
170- fun parseTags (tagsJson : String ): List <WooPosProductModelVersion2 .WooPosProductTag > {
170+ fun parseTags (tagsJson : String ): List <WooPosProductModel .WooPosProductTag > {
171171 return try {
172172 if (tagsJson.isBlank()) {
173173 emptyList()
@@ -184,7 +184,7 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
184184 }
185185 }
186186
187- private fun parseTag (tagMap : Map <String , Any ?>): WooPosProductModelVersion2 .WooPosProductTag ? {
187+ private fun parseTag (tagMap : Map <String , Any ?>): WooPosProductModel .WooPosProductTag ? {
188188 val id = when (val idValue = tagMap[" id" ]) {
189189 is Double -> idValue.toLong()
190190 is Int -> idValue.toLong()
@@ -198,7 +198,7 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
198198 logger.w(" Failed to parse tag JSON, id or name is null: $id , $name " )
199199 return null
200200 }
201- return WooPosProductModelVersion2 .WooPosProductTag (id, name, slug)
201+ return WooPosProductModel .WooPosProductTag (id, name, slug)
202202 }
203203
204204 private fun parseVariationIds (variationsJson : String ): List <Long > {
@@ -229,51 +229,51 @@ class WooPosProductModelVersion2Mapper @Inject constructor(val logger: WooPosLog
229229 regularPrice : BigDecimal ? ,
230230 salePrice : BigDecimal ? ,
231231 isOnSale : Boolean
232- ): WooPosProductModelVersion2 .WooPosPricing {
232+ ): WooPosProductModel .WooPosPricing {
233233 return when {
234234 isOnSale && salePrice != null && regularPrice != null -> {
235- WooPosProductModelVersion2 .WooPosPricing .SalePricing (regularPrice, salePrice)
235+ WooPosProductModel .WooPosPricing .SalePricing (regularPrice, salePrice)
236236 }
237237
238238 isOnSale && salePrice != null && price != null -> {
239- WooPosProductModelVersion2 .WooPosPricing .SalePricing (price, salePrice)
239+ WooPosProductModel .WooPosPricing .SalePricing (price, salePrice)
240240 }
241241
242242 regularPrice != null -> {
243- WooPosProductModelVersion2 .WooPosPricing .RegularPricing (regularPrice)
243+ WooPosProductModel .WooPosPricing .RegularPricing (regularPrice)
244244 }
245245
246246 price != null -> {
247- WooPosProductModelVersion2 .WooPosPricing .RegularPricing (price)
247+ WooPosProductModel .WooPosPricing .RegularPricing (price)
248248 }
249249
250- else -> WooPosProductModelVersion2 .WooPosPricing .NoPricing
250+ else -> WooPosProductModel .WooPosPricing .NoPricing
251251 }
252252 }
253253
254- fun mapProductType (type : String ): WooPosProductModelVersion2 .WooPosProductType {
254+ fun mapProductType (type : String ): WooPosProductModel .WooPosProductType {
255255 return when (type.lowercase()) {
256- " simple" -> WooPosProductModelVersion2 .WooPosProductType .SIMPLE
257- " variable" -> WooPosProductModelVersion2 .WooPosProductType .VARIABLE
258- " grouped" -> WooPosProductModelVersion2 .WooPosProductType .GROUPED
259- " external" -> WooPosProductModelVersion2 .WooPosProductType .EXTERNAL
260- " variation" -> WooPosProductModelVersion2 .WooPosProductType .VARIATION
261- " subscription" -> WooPosProductModelVersion2 .WooPosProductType .SUBSCRIPTION
262- " variable-subscription" -> WooPosProductModelVersion2 .WooPosProductType .VARIABLE_SUBSCRIPTION
263- " bundle" -> WooPosProductModelVersion2 .WooPosProductType .BUNDLE
264- " composite" -> WooPosProductModelVersion2 .WooPosProductType .COMPOSITE
265- else -> WooPosProductModelVersion2 .WooPosProductType .CUSTOM
256+ " simple" -> WooPosProductModel .WooPosProductType .SIMPLE
257+ " variable" -> WooPosProductModel .WooPosProductType .VARIABLE
258+ " grouped" -> WooPosProductModel .WooPosProductType .GROUPED
259+ " external" -> WooPosProductModel .WooPosProductType .EXTERNAL
260+ " variation" -> WooPosProductModel .WooPosProductType .VARIATION
261+ " subscription" -> WooPosProductModel .WooPosProductType .SUBSCRIPTION
262+ " variable-subscription" -> WooPosProductModel .WooPosProductType .VARIABLE_SUBSCRIPTION
263+ " bundle" -> WooPosProductModel .WooPosProductType .BUNDLE
264+ " composite" -> WooPosProductModel .WooPosProductType .COMPOSITE
265+ else -> WooPosProductModel .WooPosProductType .CUSTOM
266266 }
267267 }
268268
269- fun mapProductStatus (status : String ): WooPosProductModelVersion2 .WooPosProductStatus {
269+ fun mapProductStatus (status : String ): WooPosProductModel .WooPosProductStatus {
270270 return when (status.lowercase()) {
271- " publish" -> WooPosProductModelVersion2 .WooPosProductStatus .PUBLISH
272- " draft" -> WooPosProductModelVersion2 .WooPosProductStatus .DRAFT
273- " pending" -> WooPosProductModelVersion2 .WooPosProductStatus .PENDING
274- " private" -> WooPosProductModelVersion2 .WooPosProductStatus .PRIVATE
275- " trash" -> WooPosProductModelVersion2 .WooPosProductStatus .TRASH
276- else -> WooPosProductModelVersion2 .WooPosProductStatus .UNKNOWN
271+ " publish" -> WooPosProductModel .WooPosProductStatus .PUBLISH
272+ " draft" -> WooPosProductModel .WooPosProductStatus .DRAFT
273+ " pending" -> WooPosProductModel .WooPosProductStatus .PENDING
274+ " private" -> WooPosProductModel .WooPosProductStatus .PRIVATE
275+ " trash" -> WooPosProductModel .WooPosProductStatus .TRASH
276+ else -> WooPosProductModel .WooPosProductStatus .UNKNOWN
277277 }
278278 }
279279}
0 commit comments