From ad223b9914836a46127d4e6db66d94d57b9c1076 Mon Sep 17 00:00:00 2001 From: Cristian G <113917899+cristianIOHK@users.noreply.github.com> Date: Wed, 26 Jul 2023 10:47:47 -0400 Subject: [PATCH] fix: base64 attachments and http correct request headers (#85) --- .../io/iohk/atala/prism/walletsdk/mercury/MercuryImpl.kt | 2 +- .../prismagent/protocols/outOfBand/OutOfBandInvitation.kt | 4 +++- .../walletsdk/prismagent/protocols/pickup/PickupRunner.kt | 3 ++- .../io.iohk.atala.prism.walletsdk.pluto/data/DID.sq | 2 +- sampleapp/src/main/java/io/iohk/atala/prism/sampleapp/Sdk.kt | 5 +---- sampleapp/src/main/res/layout/fragment_messages.xml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/mercury/MercuryImpl.kt b/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/mercury/MercuryImpl.kt index 13242fe0a..39300a34c 100644 --- a/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/mercury/MercuryImpl.kt +++ b/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/mercury/MercuryImpl.kt @@ -218,7 +218,7 @@ class MercuryImpl( HttpMethod.Post.value, uri, emptyArray(), - emptyArray(), + arrayOf(KeyValue(HttpHeaders.ContentType, Typ.Encrypted.typ)), message ) if (result.status >= 400) { diff --git a/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/outOfBand/OutOfBandInvitation.kt b/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/outOfBand/OutOfBandInvitation.kt index a6e99e514..d7c49cf01 100644 --- a/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/outOfBand/OutOfBandInvitation.kt +++ b/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/outOfBand/OutOfBandInvitation.kt @@ -21,7 +21,9 @@ constructor( val body: Body, val from: String, @EncodeDefault - val type: ProtocolType = ProtocolType.Didcomminvitation + val type: ProtocolType = ProtocolType.Didcomminvitation, + @EncodeDefault + val typ: String? = null ) : InvitationType() { /** diff --git a/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/pickup/PickupRunner.kt b/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/pickup/PickupRunner.kt index 76c80de7a..f92c5671f 100644 --- a/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/pickup/PickupRunner.kt +++ b/atala-prism-sdk/src/commonMain/kotlin/io/iohk/atala/prism/walletsdk/prismagent/protocols/pickup/PickupRunner.kt @@ -1,5 +1,6 @@ package io.iohk.atala.prism.walletsdk.prismagent.protocols.pickup +import io.iohk.atala.prism.apollo.base64.base64UrlDecoded import io.iohk.atala.prism.walletsdk.domain.buildingblocks.Mercury import io.iohk.atala.prism.walletsdk.domain.models.AttachmentBase64 import io.iohk.atala.prism.walletsdk.domain.models.AttachmentDescriptor @@ -57,7 +58,7 @@ class PickupRunner(message: Message, private val mercury: Mercury) { // TODO: Clean this method private fun processAttachment(attachment: AttachmentDescriptor): PickupAttachment? { return if (Message.isBase64Attachment(attachment.data)) { - PickupAttachment(attachmentId = attachment.id, data = (attachment.data as AttachmentBase64).base64) + PickupAttachment(attachmentId = attachment.id, data = (attachment.data as AttachmentBase64).base64.base64UrlDecoded) } else if (Message.isJsonAttachment(attachment.data)) { PickupAttachment( attachmentId = attachment.id, diff --git a/atala-prism-sdk/src/commonMain/sqldelight/io.iohk.atala.prism.walletsdk.pluto/data/DID.sq b/atala-prism-sdk/src/commonMain/sqldelight/io.iohk.atala.prism.walletsdk.pluto/data/DID.sq index 7c69a1b7c..cd98c5563 100644 --- a/atala-prism-sdk/src/commonMain/sqldelight/io.iohk.atala.prism.walletsdk.pluto/data/DID.sq +++ b/atala-prism-sdk/src/commonMain/sqldelight/io.iohk.atala.prism.walletsdk.pluto/data/DID.sq @@ -8,7 +8,7 @@ CREATE TABLE DID ( ); insert: -INSERT INTO DID(did, method, methodId, schema, alias) +INSERT OR IGNORE INTO DID(did, method, methodId, schema, alias) VALUES ?; fetchAllPrismDID: diff --git a/sampleapp/src/main/java/io/iohk/atala/prism/sampleapp/Sdk.kt b/sampleapp/src/main/java/io/iohk/atala/prism/sampleapp/Sdk.kt index 532a587a2..0fdfcc5f3 100644 --- a/sampleapp/src/main/java/io/iohk/atala/prism/sampleapp/Sdk.kt +++ b/sampleapp/src/main/java/io/iohk/atala/prism/sampleapp/Sdk.kt @@ -155,11 +155,8 @@ class Sdk() { } private fun initializeHandler() { - // Fabio's mediatorDID = DID("did:peer:2.Ez6LSghwSE437wnDE1pt3X6hVDUQzSjsHzinpX3XFvMjRAm7y.Vz6Mkhh1e5CEYYq6JBUcTZ6Cp2ranCWRrv7Yax3Le4N59R6dd.SeyJ0IjoiZG0iLCJzIjoiaHR0cHM6Ly9hbGljZS5kaWQuZm1ncC5hcHAvIiwiciI6W10sImEiOlsiZGlkY29tbS92MiJdfQ"), - // Javi's mediatorDID = DID("did:peer:2.Ez6LSiekedip45fb5uYRZ9DV1qVvf3rr6GpvTGLhw3nKJ9E7X.Vz6MksZCnX3hQVPP4wWDGe1Dzq5LCk5BnGUnPmq3YCfrPpfuk.SeyJpZCI6Im5ldy1pZCIsInQiOiJkbSIsInMiOiJodHRwczovL21lZGlhdG9yLmpyaWJvLmtpd2kiLCJhIjpbImRpZGNvbW0vdjIiXX0"), - // RootsID mediatorDID = DID("did:peer:2.Ez6LSms555YhFthn1WV8ciDBpZm86hK9tp83WojJUmxPGk1hZ.Vz6MkmdBjMyB4TS5UbbQw54szm8yvMMf1ftGV2sQVYAxaeWhE.SeyJpZCI6Im5ldy1pZCIsInQiOiJkbSIsInMiOiJodHRwczovL21lZGlhdG9yLnJvb3RzaWQuY2xvdWQiLCJhIjpbImRpZGNvbW0vdjIiXX0") handler = BasicMediatorHandler( - mediatorDID = DID("did:peer:2.Ez6LSms555YhFthn1WV8ciDBpZm86hK9tp83WojJUmxPGk1hZ.Vz6MkmdBjMyB4TS5UbbQw54szm8yvMMf1ftGV2sQVYAxaeWhE.SeyJpZCI6Im5ldy1pZCIsInQiOiJkbSIsInMiOiJodHRwczovL21lZGlhdG9yLnJvb3RzaWQuY2xvdWQiLCJhIjpbImRpZGNvbW0vdjIiXX0"), + mediatorDID = DID("did:peer:2.Ez6LSghwSE437wnDE1pt3X6hVDUQzSjsHzinpX3XFvMjRAm7y.Vz6Mkhh1e5CEYYq6JBUcTZ6Cp2ranCWRrv7Yax3Le4N59R6dd.SeyJ0IjoiZG0iLCJzIjoiaHR0cHM6Ly9zaXQtcHJpc20tbWVkaWF0b3IuYXRhbGFwcmlzbS5pbyIsInIiOltdLCJhIjpbImRpZGNvbW0vdjIiXX0"), mercury = mercury!!, store = BasicMediatorHandler.PlutoMediatorRepositoryImpl(pluto!!) ) diff --git a/sampleapp/src/main/res/layout/fragment_messages.xml b/sampleapp/src/main/res/layout/fragment_messages.xml index c0b7a5869..0941c16a0 100644 --- a/sampleapp/src/main/res/layout/fragment_messages.xml +++ b/sampleapp/src/main/res/layout/fragment_messages.xml @@ -21,7 +21,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" - android:visibility="gone" + android:visibility="visible" android:src="@android:drawable/ic_dialog_email" app:tint="@color/white" app:layout_constraintBottom_toBottomOf="parent"