Skip to content

Commit ed31d09

Browse files
committed
WIP Refactor and addressing review feedback.
* Rename webhook_listner to Wwebhook server * Override the webhook server method in the TenantController * Disallow instantiating server in tenant controller * make is_multitenant intrinsic (default True) tenant class attr instead of passed param. * TODO Decide on potential base class (possibly abstract) For the controller to inherit from.
1 parent f2e38a8 commit ed31d09

File tree

3 files changed

+19
-16
lines changed

3 files changed

+19
-16
lines changed

libs/aries-basic-controller/aries_basic_controller/aries_controller.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from .controllers.action_menu import ActionMenuController
2121
from .controllers.revocation import RevocationController
2222

23-
from .aries_webhook_listener import AriesWebhookListener
23+
from .aries_webhook_server import AriesWebhookServer
2424

2525
import logging
2626

@@ -135,7 +135,7 @@ def __post_init__(self):
135135
self.client_session
136136
)
137137

138-
def webhook_listener(
138+
def webhook_server(
139139
self,
140140
webhook_host: str = None,
141141
webhook_port: str = None,
@@ -151,7 +151,7 @@ def webhook_listener(
151151
webhook_base : str
152152
The base url for webhooks (default is "")
153153
"""
154-
self.webhook_listener: AriesWebhookListener = AriesWebhookListener(
154+
self.webhook_server: AriesWebhookServer = AriesWebhookServer(
155155
webhook_host=webhook_host,
156156
webhook_port=webhook_port,
157157
webhook_base=webhook_base,
@@ -266,7 +266,7 @@ def remove_all_listeners(self, topic: str = None):
266266

267267
async def listen_webhooks(self):
268268
try:
269-
await self.webhook_listener.listen_webhooks()
269+
await self.webhook_server.listen_webhooks()
270270
except AttributeError:
271271
logger.warning("Missing webhook listener.")
272272
except Exception as exc:
@@ -276,7 +276,7 @@ async def listen_webhooks(self):
276276
async def terminate(self):
277277
await self.client_session.close()
278278
try:
279-
await self.webhook_listener.terminate()
279+
await self.webhook_server.terminate()
280280
except AttributeError:
281281
# There is no webhook listener
282282
return

libs/aries-basic-controller/aries_basic_controller/aries_multitenant_controller.py renamed to libs/aries-basic-controller/aries_basic_controller/aries_tenant_controller.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,25 @@
55

66
import logging
77

8-
logger = logging.getLogger("aries_controller")
8+
logger = logging.getLogger("aries_tenant_controller")
99

1010

1111
@dataclass
12-
class AriesMultitenantController(AriesAgentController):
12+
class AriesTenantController(AriesAgentController):
1313
"""The Aries Agent Controller class
1414
1515
This class allows you to interact with Aries by exposing the aca-py API.
1616
1717
Attributes:
1818
----------
1919
wallet_id : str
20-
The tenant wallet identifier (default is None)
21-
is_multitenant : bool
22-
Initialise the multitenant interface (default is True)
20+
The tenant wallet identifier
2321
tenant_jwt : str
24-
The tenant JW token (default is None)
22+
The tenant JW token
2523
"""
2624

27-
wallet_id: str = None
28-
is_multitenant: bool = True
29-
tenant_jwt: str = None
25+
wallet_id: str
26+
tenant_jwt: str
3027

3128
def __post_init__(self):
3229
"""Constructs additional attributes,
@@ -35,6 +32,8 @@ def __post_init__(self):
3532

3633
super().__post_init__()
3734

35+
self.is_multitenant: bool = True
36+
3837
if self.api_key:
3938
self.headers.update({"X-API-Key": self.api_key})
4039

@@ -46,6 +45,10 @@ def __post_init__(self):
4645
# Update the current client session instantiated in the parent class
4746
self.client_session.headers.update(self.headers)
4847

48+
def webhook_server():
49+
raise NotImplementedError(
50+
"Please, use an AriesAgentController to start a webhook server.")
51+
4952
def add_listener(self, listener):
5053
"""Subscribe to a listeners for a topic
5154
Overrides parent method and uses the tenant's wallet ID to

libs/aries-basic-controller/aries_basic_controller/aries_webhook_listener.py renamed to libs/aries-basic-controller/aries_basic_controller/aries_webhook_server.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
from pubsub import pub
77
import logging
88

9-
logger = logging.getLogger("aries_webhook_listener")
9+
logger = logging.getLogger("aries_webhook_server")
1010

1111

1212
@dataclass
13-
class AriesWebhookListener:
13+
class AriesWebhookServer:
1414
"""The Aries Webhook Listener class
1515
1616
This class allows you to interact with Aries by exposing the aca-py API.

0 commit comments

Comments
 (0)