Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Commit

Permalink
refactor(desktop): in SchoolSupplyAdapter add fromDomainToRemote
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreaBrighi committed May 16, 2023
1 parent 114259e commit 4df0156
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.intelligentbackpack.desktopdata.adapter

import book.communication.BuyBook
import com.intelligentbackpack.accessdomain.entities.User
import com.intelligentbackpack.desktopdata.adapter.AuthorAdapter.fromDBToDomain
import com.intelligentbackpack.desktopdata.db.relations.BookCopyWithAuthors
import com.intelligentbackpack.desktopdomain.entities.Book
Expand Down Expand Up @@ -52,4 +54,16 @@ internal object SchoolSupplyAdapter {
this.book = it
}
} ?: throw IllegalArgumentException("Book not found")

/**
* Convert from domain book copy to remote book copy
*
* @return Remote book copy
*/
fun BookCopy.fromDomainToRemote(user: User): BuyBook =
BuyBook.newBuilder().apply {
isbn = this@fromDomainToRemote.book.isbn
rfid = this@fromDomainToRemote.rfidCode
emailCompratore = user.email
}.build()
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.intelligentbackpack.desktopdata.datasource

import book.communication.BuyBook
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.ValueEventListener
Expand All @@ -9,6 +8,7 @@ import com.google.firebase.ktx.Firebase
import com.intelligentbackpack.accessdomain.entities.Email
import com.intelligentbackpack.accessdomain.entities.User
import com.intelligentbackpack.desktopdata.adapter.BookAdapter.fromRemoteToDomain
import com.intelligentbackpack.desktopdata.adapter.SchoolSupplyAdapter.fromDomainToRemote
import com.intelligentbackpack.desktopdata.adapter.SchoolSupplyAdapter.fromRemoteToDomain
import com.intelligentbackpack.desktopdata.api.BackpackApi
import com.intelligentbackpack.desktopdata.api.DesktopApi
Expand Down Expand Up @@ -78,11 +78,7 @@ class DesktopRemoteDataSourceImpl(

override fun addSchoolSupply(user: User, schoolSupply: SchoolSupply) {
if (schoolSupply is BookCopy) {
val copy = BuyBook.newBuilder().apply {
isbn = schoolSupply.book.isbn
rfid = schoolSupply.rfidCode
emailCompratore = user.email
}.build()
val copy = schoolSupply.fromDomainToRemote(user)
val response = desktopApi.addBookCopy(copy).execute()
if (!response.isSuccessful) {
throw DownloadException(getError(response))
Expand Down

0 comments on commit 4df0156

Please sign in to comment.