mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-08 05:03:56 -05:00
* [INJIMOB-3647] refactor: udpate vc verifier RN module Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> * [INJIMOB-3647] refactor: update reverification logic Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> * [INJIMOB-3647] refactor: modify status response structure Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> * [INJIMOB-3647] refactor: update response resolving of status check in swift bridge Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> * [INJIMOB-3647] refactor: update info logs to print status message Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> * [INJIMOB-3647] refactor: modify type from map to record Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> * [INJIMOB-3647] refactor: remove unnecessary async function Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> * [INJIMOB-3647] refactor: Credential summary result structure Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com> --------- Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>
51 lines
1.8 KiB
Swift
51 lines
1.8 KiB
Swift
import Foundation
|
|
import React
|
|
|
|
@objc(VCVerifierModule)
|
|
class VCVerifierModule: NSObject, RCTBridgeModule {
|
|
|
|
static func moduleName() -> String {
|
|
return "VCVerifier"
|
|
}
|
|
|
|
static func requiresMainQueueSetup() -> Bool {
|
|
return false
|
|
}
|
|
|
|
@objc
|
|
func getCredentialStatus(
|
|
_ credential: String,
|
|
format: String,
|
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
reject: @escaping RCTPromiseRejectBlock
|
|
) {
|
|
Task {
|
|
do {
|
|
guard let credentialFormat = StatusCheckCredentialFormat(rawValue: format) else {
|
|
reject("INVALID_FORMAT", "Unsupported credential format: \(format)", nil)
|
|
return
|
|
}
|
|
|
|
let verifier = CredentialsVerifier()
|
|
let results = try await verifier.getCredentialStatus(credential: credential, format: credentialFormat)
|
|
|
|
var response: [String: Any] = [:]
|
|
for (purpose, credentialStatusResult) in results {
|
|
let error : [String: Any]? = credentialStatusResult.error != nil ? [
|
|
"code": credentialStatusResult.error?.errorCode ?? "UNKNOWN_ERROR",
|
|
"message": credentialStatusResult.error?.message ?? "An unknown error occurred"
|
|
] : nil
|
|
response[purpose] = [
|
|
"isValid": credentialStatusResult.isValid,
|
|
"statusListVC": credentialStatusResult.statusListVC,
|
|
"error": error
|
|
]
|
|
}
|
|
resolve(response)
|
|
} catch {
|
|
reject("VERIFICATION_FAILED", "Verification threw an error: \(error.localizedDescription)", error)
|
|
}
|
|
}
|
|
}
|
|
}
|