Files
inji-wallet/ios/RNInjiVcRenderer.swift
KiruthikaJeyashankar 8f17535a25 [INJIMOB-3571] | [INJIMOB-3572] refactor: Modify trusted verifiers construction (#2094)
* [INJIMOB-3571] add: modify trusted verifiers

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3571] add: modify trusted verifiers in swift

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3571] refactor: remove unused logs and code

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3572] add: support for unsigned request in pre-registered verifiers

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3572] chore: update openid4vp swift package version

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3571] refactor: revert changes trustedVerifiers cachePreference

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3558] refactor: update vc renderer renderVc to generateCredentualDisplayCOntent

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3559] fix: bridging issue of generateCredentialContent method

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3559] refactor: modify vc renderer native module

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3559] refactor: modify vc renderer native module

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3559] chore: update vc renderer swift package

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

---------

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>
2025-10-06 14:32:41 +05:30

60 lines
1.7 KiB
Swift

import Foundation
import React
import InjiVcRenderer
@objc(InjiVcRenderer)
class RNInjiVcRenderer: NSObject, RCTBridgeModule {
private var vcRenderer: InjiVcRenderer?
@objc static func requiresMainQueueSetup() -> Bool {
return false
}
static func moduleName() -> String {
return "InjiVcRenderer"
}
@objc
func `init`(_ traceabilityId: String) {
vcRenderer = InjiVcRenderer(traceabilityId: traceabilityId)
}
@objc(generateCredentialDisplayContent:wellKnown:vcJsonString:resolver:rejecter:)
func generateCredentialDisplayContent(
credentialFormat: String,
wellKnown: String?,
vcJsonString: String,
resolve: @escaping RCTPromiseResolveBlock,
reject: @escaping RCTPromiseRejectBlock
) {
guard let renderer = self.vcRenderer else {
reject(nil, "InjiVcRenderer not initialized", nil)
return
}
do {
guard let format = CredentialFormat.fromValue(credentialFormat) else {
throw NSError(domain: "Invalid credential format", code: 0)
}
let result = try renderer.generateCredentialDisplayContent(
credentialFormat: format,
wellKnownJson: wellKnown,
vcJsonString: vcJsonString
)
resolve(result)
} catch {
rejectWithVcRendererError(error, reject: reject)
}
}
func rejectWithVcRendererError(_ error: Error, reject: RCTPromiseRejectBlock) {
if let vcRendererError = error as? VcRendererException {
reject(vcRendererError.errorCode, vcRendererError.message, vcRendererError)
} else {
let nsError = NSError(domain: error.localizedDescription, code: 0)
reject("ERR_UNKNOWN", nsError.localizedDescription, nsError)
}
}
}