Skip to content

Commit 306c524

Browse files
authored
fix: events typings (#362)
* fix: events typings Signed-off-by: Krishna Waske <krishna.waske@ayanworks.com> * fix: remove unnecessary comments Signed-off-by: Krishna Waske <krishna.waske@ayanworks.com> * fix: add non-throwing method Signed-off-by: Krishna Waske <krishna.waske@ayanworks.com> * fix: edge case handling Signed-off-by: Krishna Waske <krishna.waske@ayanworks.com> * fix: formatting Signed-off-by: Krishna Waske <krishna.waske@ayanworks.com> --------- Signed-off-by: Krishna Waske <krishna.waske@ayanworks.com>
1 parent 7fadfe6 commit 306c524

3 files changed

Lines changed: 33 additions & 7 deletions

File tree

src/cliAgent.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import {
3131
X509Module,
3232
JwkDidRegistrar,
3333
JwkDidResolver,
34+
PeerDidNumAlgo,
3435
} from '@credo-ts/core'
3536
import {
3637
DidCommHttpOutboundTransport,
@@ -209,6 +210,8 @@ const getModules = (
209210
basicMessages: true,
210211
connections: {
211212
autoAcceptConnections: autoAcceptConnections || true,
213+
peerNumAlgoForDidExchangeRequests: PeerDidNumAlgo.GenesisDoc,
214+
peerNumAlgoForDidRotation: PeerDidNumAlgo.ShortFormAndLongForm,
212215
},
213216
proofs: {
214217
autoAcceptProofs: autoAcceptProofs || DidCommAutoAcceptProof.ContentApproved,

src/events/CredentialEvents.ts

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,44 @@ export const credentialEvents = async (agent: Agent, config: ServerConfig) => {
1212
DidCommCredentialEventTypes.DidCommCredentialStateChanged,
1313
async (event: DidCommCredentialStateChangedEvent) => {
1414
const record = event.payload.credentialExchangeRecord
15+
const tenantId = (!event.metadata.contextCorrelationId || event.metadata.contextCorrelationId === 'default') ? event.metadata.contextCorrelationId : event.metadata.contextCorrelationId.split('tenant-')[1]
1516

1617
const body: Record<string, unknown> = {
1718
...record.toJSON(),
1819
...event.metadata,
20+
contextCorrelationId: tenantId,
1921
outOfBandId: null,
2022
credentialData: null,
2123
}
2224

2325
if (record?.connectionId) {
24-
const connectionRecord = await agent.modules.connections.findById(record.connectionId!)
26+
let connectionRecord
27+
if (tenantId && tenantId !== 'default') {
28+
await (agent as Agent<RestMultiTenantAgentModules>).modules.tenants.withTenantAgent(
29+
{ tenantId: body.contextCorrelationId as string },
30+
async (tenantAgent) => {
31+
connectionRecord = await tenantAgent.modules.didcomm.connections.findById(record.connectionId ? record.connectionId : '')
32+
},
33+
)
34+
} else {
35+
connectionRecord = await agent.modules.didcomm.connections.findById(record.connectionId)
36+
}
2537
body.outOfBandId = connectionRecord?.outOfBandId
2638
}
2739

28-
const data = await agent.modules.credentials.getFormatData(record.id)
29-
body.credentialData = data
40+
let formatData = null
41+
if (tenantId && tenantId !== 'default') {
42+
await (agent as Agent<RestMultiTenantAgentModules>).modules.tenants.withTenantAgent(
43+
{ tenantId: body.contextCorrelationId as string },
44+
async (tenantAgent) => {
45+
formatData = await tenantAgent.modules.didcomm.credentials.getFormatData(record.id)
46+
},
47+
)
48+
} else {
49+
formatData = await agent.modules.didcomm.credentials.getFormatData(record.id)
50+
}
51+
52+
body.credentialData = formatData
3053

3154
if (config.webhookUrl) {
3255
await sendWebhookEvent(config.webhookUrl + '/credentials', body, agent.config.logger)

src/events/ProofEvents.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ export const proofEvents = async (agent: Agent, config: ServerConfig) => {
99
agent.events.on(DidCommProofEventTypes.ProofStateChanged, async (event: DidCommProofStateChangedEvent) => {
1010
const record = event.payload.proofRecord
1111
const body = { ...record.toJSON(), ...event.metadata } as { proofData?: any }
12-
if (event.metadata.contextCorrelationId !== 'default') {
12+
if (event.metadata.contextCorrelationId && event.metadata.contextCorrelationId !== 'default') {
1313
const tenantAgent = await agent.modules.tenants.getTenantAgent({
14-
tenantId: event.metadata.contextCorrelationId,
14+
tenantId: event.metadata.contextCorrelationId.split('tenant-')[1],
1515
})
16-
const data = await tenantAgent.proofs.getFormatData(record.id)
16+
const data = await tenantAgent.modules.didcomm.proofs.getFormatData(record.id)
1717
body.proofData = data
1818
}
1919

2020
//Emit webhook for dedicated agent
2121
if (event.metadata.contextCorrelationId === 'default') {
22-
const data = await agent.modules.proofs.getFormatData(record.id)
22+
const data = await agent.modules.didcomm.proofs.getFormatData(record.id)
2323
body.proofData = data
2424
}
2525

0 commit comments

Comments
 (0)