Skip to content
This repository has been archived by the owner on Feb 1, 2024. It is now read-only.

Commit

Permalink
feat: add delete credential method (#26)
Browse files Browse the repository at this point in the history
Signed-off-by: Berend Sliedrecht <[email protected]>
  • Loading branch information
berendsliedrecht authored Jan 7, 2022
1 parent 07eb905 commit bc48dad
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 1 deletion.
12 changes: 12 additions & 0 deletions android/src/main/java/com/reactlibrary/IndySdkModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,18 @@ public void proverStoreCredential(int walletHandle, String credId, String credRe
}
}

@ReactMethod
public void proverDeleteCredential(int walletHandle, String credId, Promise promise) {
try {
Wallet wallet = walletMap.get(walletHandle);
Anoncreds.proverDeleteCredential(wallet, credId).get();
promise.resolve(null);
} catch (Exception e) {
IndySdkRejectResponse rejectResponse = new IndySdkRejectResponse(e);
promise.reject(rejectResponse.getCode(), rejectResponse.toJson(), e);
}
}

@ReactMethod
public void proverGetCredential(int walletHandle, String credId, Promise promise) {
try {
Expand Down
4 changes: 4 additions & 0 deletions ios/IndySdk.m
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,10 @@ @interface RCT_EXTERN_MODULE(IndySdk, NSObject)
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)

RCT_EXTERN_METHOD(proverDeleteCredential: (NSString *)credId walletHandle:(nonnull NSNumber *)walletHandle
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)

RCT_EXTERN_METHOD(proverGetCredentialsForProofReq: (NSString *)proofReqJSON walletHandle:(nonnull NSNumber *)walletHandle
resolver:(RCTPromiseResolveBlock)resolve
rejecter:(RCTPromiseRejectBlock)reject)
Expand Down
7 changes: 7 additions & 0 deletions ios/IndySdk.swift
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,13 @@ class IndySdk : NSObject {
let whNumber:Int32 = Int32(truncating:walletHandle)
IndyAnoncreds.proverGetCredential(withId: credId, walletHandle: whNumber, completion: completionWithString(resolve, reject))
}

@objc func proverDeleteCredential(_ credId: String, walletHandle: NSNumber,
resolver resolve: @escaping RCTPromiseResolveBlock,
rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
let whNumber:Int32 = Int32(truncating:walletHandle)
IndyAnoncreds.proverDeleteCredentials(withId: credId, walletHandle: whNumber, completion: completionWithString(resolve, reject))
}

@objc func proverGetCredentialsForProofReq(_ proofReqJSON: String, walletHandle: NSNumber,
resolver resolve: @escaping RCTPromiseResolveBlock,
Expand Down
7 changes: 6 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -617,7 +617,12 @@ const indy = {
return JSON.parse(await IndySdk.proverGetCredential(wh, credId))
},

// TODO: add proverDeleteCredential() method
async proverDeleteCredential(wh: WalletHandle, credId: CredId): Promise<void> {
if (Platform.OS === 'ios') {
return JSON.parse(await IndySdk.proverDeleteCredential(credId, wh))
}
return JSON.parse(await IndySdk.proverDeleteCredential(wh, credId))
},

// NOTE: This method is deprecated because immediately returns all fetched credentials. Use proverSearchCredentials() to fetch records by small batches.
async proverGetCredentials(wh: WalletHandle, filter: {} = {}): Promise<Credential[]> {
Expand Down

0 comments on commit bc48dad

Please sign in to comment.