From c6b5f920e64b3e2b4e80a652ce5167aabe9a76aa Mon Sep 17 00:00:00 2001 From: jaswanthkumarpolisetty Date: Fri, 23 Jan 2026 13:26:53 +0530 Subject: [PATCH 1/2] [INJIVER-1529] Expose Java-friendly API for decoding claim 169 Signed-off-by: jaswanthkumarpolisetty --- .../kotlin/io/mosip/pixelpass/PixelPass.kt | 8 ++++++ .../io/mosip/pixelpass/PixelPassTest.kt | 27 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt b/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt index 4c21436..b1cc7ea 100644 --- a/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt +++ b/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt @@ -185,6 +185,14 @@ class PixelPass { return payload.toString() } + fun decodeClaim(data: String): String { + return decodeMappedData( + data, + CLAIM_169_REVERSE_KEY_MAPPER, + Utils()::replaceValuesForClaim169 + ) + } + fun decodeMappedData( data: String, keyMapper: Array> = CLAIM_169_REVERSE_KEY_MAPPER, diff --git a/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt b/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt index c47ad5b..150c143 100644 --- a/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt +++ b/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt @@ -308,4 +308,31 @@ class PixelPassTest { ) } + @Test + fun `decodeClaim169 should return properly remapped data for claim 169 CBOR`() { + + val expected = + "{\"Address\":\"New House, Near Metro Line, Bengaluru, KA\",\"Version\":10,\"Email ID\":\"janardhan@example.com\",\"Full Name\":\"Janardhan BS\",\"Date of Birth\":\"19840418\",\"ID\":\"3918592438\",\"Gender\":\"Male\",\"hello\":\"world\",\"Phone Number\":\"+919876543210\",\"Face\":{\"Data format\":\"Image\",\"Data sub format\":\"PNG\",\"Data\":\"5249\"},\"Voice\":{\"Data format\":\"Sound\",\"Data sub format\":\"WAV\",\"Data\":\"5249\"},\"Nationality\":\"IN\"}" + + val data = + "ac016a33393138353932343338020a046c4a616e61726468616e2042530868313938343034313809010a78294e657720486f7573652c204e656172204d6574726f204c696e652c2042656e67616c7572752c204b410b756a616e61726468616e406578616d706c652e636f6d0c6d2b3931393837363534333231300d62494e183ea3006435323439010002001841a3006435323439010202006568656c6c6f65776f726c64" + + val actual = PixelPass().decodeClaim(data) + + assertEquals(expected, actual) + } + + @Test + fun `decodeClaim169 should behave same as decodeMappedData with claim 169 defaults`() { + + val data = + "ac016a33393138353932343338020a046c4a616e61726468616e2042530868313938343034313809010a78294e657720486f7573652c204e656172204d6574726f204c696e652c2042656e67616c7572752c204b410b756a616e61726468616e406578616d706c652e636f6d0c6d2b3931393837363534333231300d62494e183ea3006435323439010002001841a3006435323439010202006568656c6c6f65776f726c64" + + val direct = PixelPass().decodeMappedData(data) + val viaWrapper = PixelPass().decodeClaim(data) + + assertEquals(direct, viaWrapper) + } + + } From e8db3d652606401585f36a46cc40f2a53a09c886 Mon Sep 17 00:00:00 2001 From: jaswanthkumarpolisetty Date: Fri, 23 Jan 2026 14:31:24 +0530 Subject: [PATCH 2/2] [INJIMOB-1529] Expose Java-friendly API for decoding claim 169 Signed-off-by: jaswanthkumarpolisetty --- .../kotlin/io/mosip/pixelpass/PixelPass.kt | 10 +------ .../io/mosip/pixelpass/PixelPassTest.kt | 27 ------------------- 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt b/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt index b1cc7ea..298c739 100644 --- a/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt +++ b/kotlin/PixelPass/src/commonMain/kotlin/io/mosip/pixelpass/PixelPass.kt @@ -184,15 +184,7 @@ class PixelPass { } return payload.toString() } - - fun decodeClaim(data: String): String { - return decodeMappedData( - data, - CLAIM_169_REVERSE_KEY_MAPPER, - Utils()::replaceValuesForClaim169 - ) - } - + @JvmOverloads fun decodeMappedData( data: String, keyMapper: Array> = CLAIM_169_REVERSE_KEY_MAPPER, diff --git a/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt b/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt index 150c143..c47ad5b 100644 --- a/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt +++ b/kotlin/PixelPass/src/commonTest/kotlin/io/mosip/pixelpass/PixelPassTest.kt @@ -308,31 +308,4 @@ class PixelPassTest { ) } - @Test - fun `decodeClaim169 should return properly remapped data for claim 169 CBOR`() { - - val expected = - "{\"Address\":\"New House, Near Metro Line, Bengaluru, KA\",\"Version\":10,\"Email ID\":\"janardhan@example.com\",\"Full Name\":\"Janardhan BS\",\"Date of Birth\":\"19840418\",\"ID\":\"3918592438\",\"Gender\":\"Male\",\"hello\":\"world\",\"Phone Number\":\"+919876543210\",\"Face\":{\"Data format\":\"Image\",\"Data sub format\":\"PNG\",\"Data\":\"5249\"},\"Voice\":{\"Data format\":\"Sound\",\"Data sub format\":\"WAV\",\"Data\":\"5249\"},\"Nationality\":\"IN\"}" - - val data = - "ac016a33393138353932343338020a046c4a616e61726468616e2042530868313938343034313809010a78294e657720486f7573652c204e656172204d6574726f204c696e652c2042656e67616c7572752c204b410b756a616e61726468616e406578616d706c652e636f6d0c6d2b3931393837363534333231300d62494e183ea3006435323439010002001841a3006435323439010202006568656c6c6f65776f726c64" - - val actual = PixelPass().decodeClaim(data) - - assertEquals(expected, actual) - } - - @Test - fun `decodeClaim169 should behave same as decodeMappedData with claim 169 defaults`() { - - val data = - "ac016a33393138353932343338020a046c4a616e61726468616e2042530868313938343034313809010a78294e657720486f7573652c204e656172204d6574726f204c696e652c2042656e67616c7572752c204b410b756a616e61726468616e406578616d706c652e636f6d0c6d2b3931393837363534333231300d62494e183ea3006435323439010002001841a3006435323439010202006568656c6c6f65776f726c64" - - val direct = PixelPass().decodeMappedData(data) - val viaWrapper = PixelPass().decodeClaim(data) - - assertEquals(direct, viaWrapper) - } - - }