Skip to content

Commit 7b62574

Browse files
authored
Colocate handlers and protocol implementations into modules (openwallet-foundation#191)
Signed-off-by: Jakub Koci <[email protected]>
1 parent 1caba41 commit 7b62574

File tree

140 files changed

+212
-221
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+212
-221
lines changed

src/lib/__tests__/credentials.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
waitForCredentialRecord,
1515
} from './helpers';
1616
import { CredentialRecord } from '../storage/CredentialRecord';
17-
import { CredentialPreview, CredentialPreviewAttribute, CredentialState } from '../protocols/issue-credential';
17+
import { CredentialPreview, CredentialPreviewAttribute, CredentialState } from '../modules/credentials';
1818
import { InitConfig } from '../types';
1919
import logger from '../logger';
2020

src/lib/__tests__/helpers.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ import logger from '../logger';
44
import path from 'path';
55
import { Subject } from 'rxjs';
66
import { ConnectionRecord } from '../storage/ConnectionRecord';
7-
import { Agent, InboundTransporter, OutboundTransporter, ProofEventType, ProofState, ProofStateChangedEvent } from '..';
7+
import { Agent, InboundTransporter, OutboundTransporter } from '..';
8+
import { ProofEventType, ProofState, ProofStateChangedEvent } from '../modules/proofs';
89
import { OutboundPackage, WireMessage } from '../types';
9-
import { SchemaTemplate, CredDefTemplate } from '../agent/LedgerService';
10+
import { SchemaTemplate, CredDefTemplate } from '../modules/ledger/LedgerService';
1011
import {
1112
CredentialState,
1213
CredentialOfferTemplate,
1314
CredentialEventType,
1415
CredentialStateChangedEvent,
15-
} from '../protocols/issue-credential';
16+
} from '../modules/credentials';
1617
import { CredentialRecord } from '../storage/CredentialRecord';
1718
import { ProofRecord } from '../storage/ProofRecord';
18-
import { BasicMessage } from '../protocols/basicmessage/BasicMessage';
19-
import { BasicMessageEventType, BasicMessageReceivedEvent } from '../protocols/basicmessage/BasicMessageService';
19+
import { BasicMessage, BasicMessageEventType, BasicMessageReceivedEvent } from '../modules/basic-messages';
2020

2121
export const genesisPath = process.env.GENESIS_TXN_PATH
2222
? path.resolve(process.env.GENESIS_TXN_PATH)

src/lib/__tests__/proofs.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
issueCredential,
1515
waitForProofRecord,
1616
} from './helpers';
17-
import { CredentialPreview, CredentialPreviewAttribute } from '../protocols/issue-credential';
17+
import { CredentialPreview, CredentialPreviewAttribute } from '../modules/credentials';
1818
import { InitConfig } from '../types';
1919
import {
2020
PredicateType,
@@ -25,7 +25,7 @@ import {
2525
ProofAttributeInfo,
2626
AttributeFilter,
2727
ProofPredicateInfo,
28-
} from '../protocols/present-proof';
28+
} from '../modules/proofs';
2929
import { ConnectionRecord } from '../storage/ConnectionRecord';
3030
import logger from '../logger';
3131

src/lib/agent/Agent.ts

+33-33
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,29 @@ import type Indy from 'indy-sdk';
22
import logger from '../logger';
33
import { InitConfig } from '../types';
44
import { IndyWallet } from '../wallet/IndyWallet';
5-
import { ConnectionService } from '../protocols/connections/ConnectionService';
6-
import { ProofService } from '../protocols/present-proof/ProofService';
7-
import { ProviderRoutingService } from '../protocols/routing/ProviderRoutingService';
8-
import { ConsumerRoutingService } from '../protocols/routing/ConsumerRoutingService';
9-
import { BasicMessageService } from '../protocols/basicmessage/BasicMessageService';
10-
import { TrustPingService } from '../protocols/trustping/TrustPingService';
11-
import { MessagePickupService } from '../protocols/messagepickup/MessagePickupService';
5+
import { ConnectionService } from '../modules/connections/ConnectionService';
6+
import { ProofService } from '../modules/proofs/ProofService';
7+
import { ProviderRoutingService } from '../modules/routing/ProviderRoutingService';
8+
import { ConsumerRoutingService } from '../modules/routing/ConsumerRoutingService';
9+
import { BasicMessageService } from '../modules/basic-messages/BasicMessageService';
10+
import { TrustPingService } from '../modules/connections/TrustPingService';
11+
import { MessagePickupService } from '../modules/routing/MessagePickupService';
1212
import { MessageReceiver } from './MessageReceiver';
1313
import { EnvelopeService } from './EnvelopeService';
14-
import { LedgerService } from './LedgerService';
14+
import { LedgerService } from '../modules/ledger/LedgerService';
1515
import { Dispatcher } from './Dispatcher';
1616
import { MessageSender } from './MessageSender';
1717
import { InboundTransporter } from '../transport/InboundTransporter';
1818
import { OutboundTransporter } from '../transport/OutboundTransporter';
19-
import { ConnectionRequestHandler } from '../handlers/connections/ConnectionRequestHandler';
20-
import { ConnectionResponseHandler } from '../handlers/connections/ConnectionResponseHandler';
21-
import { AckMessageHandler } from '../handlers/acks/AckMessageHandler';
22-
import { BasicMessageHandler } from '../handlers/basicmessage/BasicMessageHandler';
23-
import { ForwardHandler } from '../handlers/routing/ForwardHandler';
24-
import { TrustPingMessageHandler } from '../handlers/trustping/TrustPingMessageHandler';
25-
import { TrustPingResponseMessageHandler } from '../handlers/trustping/TrustPingResponseMessageHandler';
26-
import { MessagePickupHandler } from '../handlers/messagepickup/MessagePickupHandler';
27-
import { KeylistUpdateHandler } from '../handlers/coordinatemediation/KeylistUpdateHandler';
19+
import { ConnectionRequestHandler } from '../modules/connections/handlers/ConnectionRequestHandler';
20+
import { ConnectionResponseHandler } from '../modules/connections/handlers/ConnectionResponseHandler';
21+
import { AckMessageHandler } from '../modules/connections/handlers/AckMessageHandler';
22+
import { BasicMessageHandler } from '../modules/basic-messages/handlers/BasicMessageHandler';
23+
import { ForwardHandler } from '../modules/routing/handlers/ForwardHandler';
24+
import { TrustPingMessageHandler } from '../modules/connections/handlers/TrustPingMessageHandler';
25+
import { TrustPingResponseMessageHandler } from '../modules/connections/handlers/TrustPingResponseMessageHandler';
26+
import { MessagePickupHandler } from '../modules/routing/handlers/MessagePickupHandler';
27+
import { KeylistUpdateHandler } from '../modules/routing/handlers/KeylistUpdateHandler';
2828
import { MessageRepository } from '../storage/MessageRepository';
2929
import { BasicMessageRecord } from '../storage/BasicMessageRecord';
3030
import { Repository } from '../storage/Repository';
@@ -34,24 +34,24 @@ import { AgentConfig } from './AgentConfig';
3434
import { Wallet } from '../wallet/Wallet';
3535
import { ProvisioningRecord } from '../storage/ProvisioningRecord';
3636
import { ProvisioningService } from './ProvisioningService';
37-
import { ConnectionsModule } from '../modules/ConnectionsModule';
38-
import { RoutingModule } from '../modules/RoutingModule';
39-
import { BasicMessagesModule } from '../modules/BasicMessagesModule';
40-
import { LedgerModule } from '../modules/LedgerModule';
41-
import { CredentialsModule } from '../modules/CredentialsModule';
42-
import { ProofsModule } from '../modules/ProofsModule';
43-
import { CredentialService } from '../protocols/issue-credential/CredentialService';
37+
import { ConnectionsModule } from '../modules/connections/ConnectionsModule';
38+
import { RoutingModule } from '../modules/routing/RoutingModule';
39+
import { BasicMessagesModule } from '../modules/basic-messages/BasicMessagesModule';
40+
import { LedgerModule } from '../modules/ledger/LedgerModule';
41+
import { CredentialsModule } from '../modules/credentials/CredentialsModule';
42+
import { ProofsModule } from '../modules/proofs/ProofsModule';
43+
import { CredentialService } from '../modules/credentials/CredentialService';
4444
import { CredentialRecord } from '../storage/CredentialRecord';
45-
import { OfferCredentialHandler } from '../handlers/issue-credential/OfferCredentialHandler';
46-
import { RequestCredentialHandler } from '../handlers/issue-credential/RequestCredentialHandler';
47-
import { IssueCredentialHandler } from '../handlers/issue-credential/IssueCredentialHandler';
48-
import { CredentialAckHandler } from '../handlers/issue-credential/CredentialAckHandler';
49-
import { RequestPresentationHandler } from '../handlers/present-proof/RequestPresentationHandler';
45+
import { OfferCredentialHandler } from '../modules/credentials/handlers/OfferCredentialHandler';
46+
import { RequestCredentialHandler } from '../modules/credentials/handlers/RequestCredentialHandler';
47+
import { IssueCredentialHandler } from '../modules/credentials/handlers/IssueCredentialHandler';
48+
import { CredentialAckHandler } from '../modules/credentials/handlers/CredentialAckHandler';
49+
import { RequestPresentationHandler } from '../modules/proofs/handlers/RequestPresentationHandler';
5050
import { ProofRecord } from '../storage/ProofRecord';
51-
import { ProposePresentationHandler } from '../handlers/present-proof/ProposePresentationHandler';
52-
import { PresentationAckHandler } from '../handlers/present-proof/PresentationAckHandler';
53-
import { PresentationHandler } from '../handlers/present-proof/PresentationHandler';
54-
import { ProposeCredentialHandler } from '../handlers/issue-credential/ProposeCredentialHandler';
51+
import { ProposePresentationHandler } from '../modules/proofs/handlers/ProposePresentationHandler';
52+
import { PresentationAckHandler } from '../modules/proofs/handlers/PresentationAckHandler';
53+
import { PresentationHandler } from '../modules/proofs/handlers/PresentationHandler';
54+
import { ProposeCredentialHandler } from '../modules/credentials/handlers/ProposeCredentialHandler';
5555

5656
export class Agent {
5757
protected wallet: Wallet;

src/lib/agent/EnvelopeService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logger from '../logger';
22
import { OutboundMessage, OutboundPackage, UnpackedMessageContext } from '../types';
33
import { Wallet } from '../wallet/Wallet';
4-
import { ForwardMessage } from '../protocols/routing/ForwardMessage';
4+
import { ForwardMessage } from '../modules/routing/ForwardMessage';
55

66
class EnvelopeService {
77
private wallet: Wallet;

src/lib/agent/MessageReceiver.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { AgentConfig } from './AgentConfig';
33
import { Dispatcher } from './Dispatcher';
44
import { EnvelopeService } from './EnvelopeService';
55
import { UnpackedMessageContext, UnpackedMessage } from '../types';
6-
import { MessageType } from '../protocols/routing/messages';
6+
import { MessageType } from '../modules/routing/messages';
77
import { InboundMessageContext } from './models/InboundMessageContext';
8-
import { ConnectionService } from '../protocols/connections/ConnectionService';
8+
import { ConnectionService } from '../modules/connections/ConnectionService';
99
import { AgentMessage } from './AgentMessage';
1010
import { JsonTransformer } from '../utils/JsonTransformer';
1111

@@ -44,8 +44,6 @@ class MessageReceiver {
4444

4545
logger.logJson('inboundMessage', unpackedMessage);
4646

47-
// TODO move `message` declaration down right above `messageContext` creation
48-
const message = await this.transformMessage(unpackedMessage);
4947
const senderKey = unpackedMessage.sender_verkey;
5048
let connection = undefined;
5149
if (senderKey && unpackedMessage.recipient_verkey) {
@@ -63,6 +61,7 @@ class MessageReceiver {
6361
}
6462
}
6563

64+
const message = await this.transformMessage(unpackedMessage);
6665
const messageContext = new InboundMessageContext(message, {
6766
connection,
6867
senderVerkey: senderKey,

src/lib/agent/__tests__/AgentConfig.test.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { getMockConnection } from '../../protocols/connections/__tests__/ConnectionService.test';
2-
import { DidDoc } from '../../protocols/connections/domain/did/DidDoc';
3-
import { IndyAgentService } from '../../protocols/connections/domain/did/service';
1+
import { getMockConnection } from '../../modules/connections/__tests__/ConnectionService.test';
2+
import { DidDoc, IndyAgentService } from '../../modules/connections';
43
import { AgentConfig } from '../AgentConfig';
54

65
describe('AgentConfig', () => {

src/lib/protocols/helpers.ts renamed to src/lib/agent/helpers.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { ConnectionRecord } from '../storage/ConnectionRecord';
2-
import { AgentMessage } from '../agent/AgentMessage';
2+
import { AgentMessage } from './AgentMessage';
33
import { OutboundMessage } from '../types';
4-
import { ConnectionInvitationMessage } from './connections/messages/ConnectionInvitationMessage';
5-
import { IndyAgentService } from './connections/domain/did/service';
4+
import { ConnectionInvitationMessage } from '../modules/connections';
5+
import { IndyAgentService } from '../modules/connections';
66

77
export function createOutboundMessage<T extends AgentMessage = AgentMessage>(
88
connection: ConnectionRecord,

src/lib/helpers.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { validateOrReject } from 'class-validator';
22

3-
import { ConnectionInvitationMessage } from './protocols/connections/messages/ConnectionInvitationMessage';
3+
import { ConnectionInvitationMessage } from './modules/connections';
44
import { JsonEncoder } from './utils/JsonEncoder';
55
import { JsonTransformer } from './utils/JsonTransformer';
66

src/lib/index.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ export { InitConfig, OutboundPackage } from './types';
1010
export { ConnectionRecord } from './storage/ConnectionRecord';
1111
export { BasicMessageRecord } from './storage/BasicMessageRecord';
1212
export { CredentialRecord } from './storage/CredentialRecord';
13-
export { ConnectionEventType } from './protocols/connections/ConnectionService';
14-
export { BasicMessageEventType } from './protocols/basicmessage/BasicMessageService';
15-
export * from './protocols/issue-credential';
16-
export * from './protocols/present-proof';
17-
export * from './protocols/connections';
13+
export { ConnectionEventType } from './modules/connections/ConnectionService';
14+
export { BasicMessageEventType } from './modules/basic-messages/BasicMessageService';
15+
export * from './modules/credentials';
16+
export * from './modules/proofs';
17+
export * from './modules/connections';
1818
export * from './utils/JsonTransformer';

src/lib/protocols/basicmessage/BasicMessageService.ts renamed to src/lib/modules/basic-messages/BasicMessageService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { Verkey, WalletQuery } from 'indy-sdk';
22
import { EventEmitter } from 'events';
33
import { OutboundMessage } from '../../types';
4-
import { createOutboundMessage } from '../helpers';
4+
import { createOutboundMessage } from '../../agent/helpers';
55
import { Repository } from '../../storage/Repository';
66
import { BasicMessageRecord } from '../../storage/BasicMessageRecord';
77
import { ConnectionRecord } from '../../storage/ConnectionRecord';

src/lib/modules/BasicMessagesModule.ts renamed to src/lib/modules/basic-messages/BasicMessagesModule.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { WalletQuery } from 'indy-sdk';
22
import { EventEmitter } from 'events';
3-
import { BasicMessageService } from '../protocols/basicmessage/BasicMessageService';
4-
import { MessageSender } from '../agent/MessageSender';
5-
import { ConnectionRecord } from '../storage/ConnectionRecord';
3+
import { BasicMessageService } from './BasicMessageService';
4+
import { MessageSender } from '../../agent/MessageSender';
5+
import { ConnectionRecord } from '../../storage/ConnectionRecord';
66

77
export class BasicMessagesModule {
88
private basicMessageService: BasicMessageService;

src/lib/handlers/basicmessage/BasicMessageHandler.ts renamed to src/lib/modules/basic-messages/handlers/BasicMessageHandler.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { Handler, HandlerInboundMessage } from '../Handler';
2-
import { BasicMessageService } from '../../protocols/basicmessage/BasicMessageService';
3-
import { BasicMessage } from '../../protocols/basicmessage/BasicMessage';
1+
import { Handler, HandlerInboundMessage } from '../../../handlers/Handler';
2+
import { BasicMessageService } from '../BasicMessageService';
3+
import { BasicMessage } from '../BasicMessage';
44

55
export class BasicMessageHandler implements Handler {
66
private basicMessageService: BasicMessageService;
+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export { BasicMessage } from './BasicMessage';
2+
export { BasicMessageService, BasicMessageEventType, BasicMessageReceivedEvent } from './BasicMessageService';

src/lib/protocols/connections/ConnectionService.ts renamed to src/lib/modules/connections/ConnectionService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { Connection } from './domain/Connection';
1515
import { AckMessage } from './messages/AckMessage';
1616
import { InboundMessageContext } from '../../agent/models/InboundMessageContext';
1717
import { ConnectionRole } from './domain/ConnectionRole';
18-
import { TrustPingMessage } from '../trustping/TrustPingMessage';
18+
import { TrustPingMessage } from './messages/TrustPingMessage';
1919
import { JsonTransformer } from '../../utils/JsonTransformer';
2020
import { AgentMessage } from '../../agent/AgentMessage';
2121
import { Ed25119Sig2018 } from './domain/did/publicKey';

src/lib/modules/ConnectionsModule.ts renamed to src/lib/modules/connections/ConnectionsModule.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import type { Verkey } from 'indy-sdk';
22
import { EventEmitter } from 'events';
33

4-
import { AgentConfig } from '../agent/AgentConfig';
5-
import { ConnectionService, ConnectionStateChangedEvent } from '../protocols/connections/ConnectionService';
6-
import { ConsumerRoutingService } from '../protocols/routing/ConsumerRoutingService';
7-
import { ConnectionRecord } from '../storage/ConnectionRecord';
8-
import { ConnectionState } from '../protocols/connections/domain/ConnectionState';
9-
import { ConnectionInvitationMessage } from '../protocols/connections/messages/ConnectionInvitationMessage';
10-
import { MessageSender } from '../agent/MessageSender';
11-
import { ConnectionEventType } from '..';
12-
import { createOutboundMessage } from '../protocols/helpers';
4+
import { AgentConfig } from '../../agent/AgentConfig';
5+
import { ConnectionService, ConnectionStateChangedEvent } from './ConnectionService';
6+
import { ConsumerRoutingService } from '../routing/ConsumerRoutingService';
7+
import { ConnectionRecord } from '../../storage/ConnectionRecord';
8+
import { ConnectionState } from './domain/ConnectionState';
9+
import { MessageSender } from '../../agent/MessageSender';
10+
import { ConnectionEventType } from './ConnectionService';
11+
import { createOutboundMessage } from '../../agent/helpers';
12+
import { ConnectionInvitationMessage } from './messages';
1313

1414
export class ConnectionsModule {
1515
private agentConfig: AgentConfig;

src/lib/protocols/trustping/TrustPingService.ts renamed to src/lib/modules/connections/TrustPingService.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { createOutboundMessage } from '../helpers';
1+
import { createOutboundMessage } from '../../agent/helpers';
22
import { ConnectionRecord } from '../../storage/ConnectionRecord';
3-
import { TrustPingMessage } from './TrustPingMessage';
4-
import { TrustPingResponseMessage } from './TrustPingResponseMessage';
3+
import { TrustPingMessage } from './messages/TrustPingMessage';
4+
import { TrustPingResponseMessage } from './messages/TrustPingResponseMessage';
55
import { InboundMessageContext } from '../../agent/models/InboundMessageContext';
66

77
/**

src/lib/protocols/connections/__tests__/ConnectionService.test.ts renamed to src/lib/modules/connections/__tests__/ConnectionService.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { InboundMessageContext } from '../../../agent/models/InboundMessageConte
1616
import { ConnectionResponseMessage } from '../messages/ConnectionResponseMessage';
1717
import { SignatureDecorator } from '../../../decorators/signature/SignatureDecorator';
1818
import { ConnectionRequestMessage } from '../messages/ConnectionRequestMessage';
19-
import { TrustPingMessage } from '../../trustping/TrustPingMessage';
19+
import { TrustPingMessage } from '../messages/TrustPingMessage';
2020
import { AckMessage, AckStatus } from '../messages/AckMessage';
2121
import { JsonTransformer } from '../../../utils/JsonTransformer';
2222
import { DidDoc } from '../domain/did/DidDoc';

src/lib/handlers/acks/AckMessageHandler.ts renamed to src/lib/modules/connections/handlers/AckMessageHandler.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { Handler, HandlerInboundMessage } from '../Handler';
2-
import { ConnectionService } from '../../protocols/connections/ConnectionService';
3-
import { AckMessage } from '../../protocols/connections/messages/AckMessage';
1+
import { Handler, HandlerInboundMessage } from '../../../handlers/Handler';
2+
import { ConnectionService } from '../ConnectionService';
3+
import { AckMessage } from '../messages/AckMessage';
44

55
export class AckMessageHandler implements Handler {
66
private connectionService: ConnectionService;

src/lib/handlers/connections/ConnectionRequestHandler.ts renamed to src/lib/modules/connections/handlers/ConnectionRequestHandler.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Handler, HandlerInboundMessage } from '../Handler';
2-
import { ConnectionService } from '../../protocols/connections/ConnectionService';
3-
import { ConnectionRequestMessage } from '../../protocols/connections/messages/ConnectionRequestMessage';
4-
import { AgentConfig } from '../../agent/AgentConfig';
5-
import { createOutboundMessage } from '../../protocols/helpers';
1+
import { Handler, HandlerInboundMessage } from '../../../handlers/Handler';
2+
import { ConnectionService } from '../ConnectionService';
3+
import { ConnectionRequestMessage } from '../messages/ConnectionRequestMessage';
4+
import { AgentConfig } from '../../../agent/AgentConfig';
5+
import { createOutboundMessage } from '../../../agent/helpers';
66

77
export class ConnectionRequestHandler implements Handler {
88
private connectionService: ConnectionService;

0 commit comments

Comments
 (0)