Skip to content

Commit eb6e94b

Browse files
authored
Expose update state with message in node wrapper (#454)
Signed-off-by: Miroslav Kovar <[email protected]>
1 parent 1164b29 commit eb6e94b

File tree

3 files changed

+102
-0
lines changed

3 files changed

+102
-0
lines changed

wrappers/node/src/api/issuer-credential.ts

+34
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,40 @@ export class IssuerCredential extends VCXBaseWithState<IIssuerCredentialData, Is
179179
super(sourceId);
180180
}
181181

182+
public async updateStateWithMessage(connection: Connection, message: string): Promise<number> {
183+
try {
184+
const commandHandle = 0;
185+
const state = await createFFICallbackPromise<number>(
186+
(resolve, reject, cb) => {
187+
const rc = rustAPI().vcx_v2_issuer_credential_update_state_with_message(
188+
commandHandle,
189+
this.handle,
190+
connection.handle,
191+
message,
192+
cb,
193+
);
194+
if (rc) {
195+
resolve(0);
196+
}
197+
},
198+
(resolve, reject) =>
199+
ffi.Callback(
200+
'void',
201+
['uint32', 'uint32', 'uint32'],
202+
(handle: number, err: number, _state: number) => {
203+
if (err) {
204+
reject(err);
205+
}
206+
resolve(_state);
207+
},
208+
),
209+
);
210+
return state;
211+
} catch (err) {
212+
throw new VCXInternalError(err);
213+
}
214+
}
215+
182216
/**
183217
* Sends a credential Offer to the end user.
184218
*

wrappers/node/src/api/proof.ts

+34
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,40 @@ export class Proof extends VCXBaseWithState<IProofData, VerifierStateType> {
296296
this._name = name;
297297
}
298298

299+
public async updateStateWithMessage(connection: Connection, message: string): Promise<number> {
300+
try {
301+
const commandHandle = 0;
302+
const state = await createFFICallbackPromise<number>(
303+
(resolve, reject, cb) => {
304+
const rc = rustAPI().vcx_v2_proof_update_state_with_message(
305+
commandHandle,
306+
this.handle,
307+
connection.handle,
308+
message,
309+
cb,
310+
);
311+
if (rc) {
312+
resolve(0);
313+
}
314+
},
315+
(resolve, reject) =>
316+
ffi.Callback(
317+
'void',
318+
['uint32', 'uint32', 'uint32'],
319+
(handle: number, err: number, _state: number) => {
320+
if (err) {
321+
reject(err);
322+
}
323+
resolve(_state);
324+
},
325+
),
326+
);
327+
return state;
328+
} catch (err) {
329+
throw new VCXInternalError(err);
330+
}
331+
}
332+
299333
/**
300334
* Sends a proof request to pairwise connection.
301335
*

wrappers/node/src/rustlib.ts

+34
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,13 @@ export interface IFFIEntryPoint {
261261
connHandle: number,
262262
cb: ICbRef,
263263
) => number;
264+
vcx_v2_issuer_credential_update_state_with_message: (
265+
commandId: number,
266+
handle: number,
267+
connHandle: number,
268+
msg: string,
269+
cb: ICbRef,
270+
) => number;
264271
vcx_issuer_credential_get_state: (commandId: number, handle: number, cb: ICbRef) => number;
265272
vcx_issuer_credential_get_rev_reg_id: (
266273
commandId: number,
@@ -351,6 +358,13 @@ export interface IFFIEntryPoint {
351358
connHandle: number,
352359
cb: ICbRef,
353360
) => number;
361+
vcx_v2_proof_update_state_with_message: (
362+
commandId: number,
363+
handle: number,
364+
connHandle: number,
365+
msg: string,
366+
cb: ICbRef,
367+
) => number;
354368
vcx_proof_get_state: (commandId: number, handle: number, cb: ICbRef) => number;
355369
vcx_proof_get_thread_id: (commandId: number, handle: number, cb: ICbRef) => number;
356370
vcx_mark_presentation_request_msg_sent: (
@@ -781,6 +795,16 @@ export const FFIConfiguration: { [Key in keyof IFFIEntryPoint]: any } = {
781795
FFI_ERROR_CODE,
782796
[FFI_COMMAND_HANDLE, FFI_CREDENTIAL_HANDLE, FFI_CONNECTION_HANDLE, FFI_CALLBACK_PTR],
783797
],
798+
vcx_v2_issuer_credential_update_state_with_message: [
799+
FFI_ERROR_CODE,
800+
[
801+
FFI_COMMAND_HANDLE,
802+
FFI_CREDENTIAL_HANDLE,
803+
FFI_CONNECTION_HANDLE,
804+
FFI_STRING_DATA,
805+
FFI_CALLBACK_PTR
806+
],
807+
],
784808
vcx_issuer_credential_get_state: [
785809
FFI_ERROR_CODE,
786810
[FFI_COMMAND_HANDLE, FFI_CREDENTIAL_HANDLE, FFI_CALLBACK_PTR],
@@ -875,6 +899,16 @@ export const FFIConfiguration: { [Key in keyof IFFIEntryPoint]: any } = {
875899
FFI_ERROR_CODE,
876900
[FFI_COMMAND_HANDLE, FFI_PROOF_HANDLE, FFI_CONNECTION_HANDLE, FFI_CALLBACK_PTR],
877901
],
902+
vcx_v2_proof_update_state_with_message: [
903+
FFI_ERROR_CODE,
904+
[
905+
FFI_COMMAND_HANDLE,
906+
FFI_PROOF_HANDLE,
907+
FFI_CONNECTION_HANDLE,
908+
FFI_STRING_DATA,
909+
FFI_CALLBACK_PTR,
910+
],
911+
],
878912
vcx_proof_get_state: [FFI_ERROR_CODE, [FFI_COMMAND_HANDLE, FFI_PROOF_HANDLE, FFI_CALLBACK_PTR]],
879913
vcx_proof_get_thread_id: [
880914
FFI_ERROR_CODE,

0 commit comments

Comments
 (0)