src.main
Main application entry point for the EC Issuer.
1#!/usr/bin/env python3 2"""Main application entry point for the EC Issuer.""" 3 4from src.access_control.hardcoded_adapter import HardcodedAccessControlAdapter 5from src.api.api_port import ApiPort 6from src.api.http_adapter import HttpApiAdapter 7from src.config.config import EnvConfigRepo 8from src.config.config_port import ConfigRepoPort 9from src.credentials.credential_service import CredentialService 10from src.issuer_agent.ssi_agent_adapter import SsiAgentAdapter 11from src.metadata.metadata_service import MetadataService 12from src.metadata.postgresql_adapter import PostgreSQLMetadataRepository 13from src.offers.offer_service import OfferService 14from src.offers.postgresql_offers_repository_adapter import ( 15 PostgreSQLOffersRepositoryAdapter, 16) 17from src.offers.ssi_agent_offers_client_adapter import SsiAgentOffersClientAdapter 18 19 20class App: 21 """Main application entry point.""" 22 23 config: ConfigRepoPort 24 _api_port: ApiPort 25 26 def __init__(self): 27 """Initialise and wire all application dependencies.""" 28 self.config = EnvConfigRepo() 29 30 metadata_repository = PostgreSQLMetadataRepository( 31 self.config.postgresql_connection_string 32 ) 33 metadata_service = MetadataService( 34 metadata_repository=metadata_repository, public_url=self.config.public_url 35 ) 36 37 access_control = HardcodedAccessControlAdapter() 38 39 offers_client = SsiAgentOffersClientAdapter( 40 ssi_agent_url=self.config.ssi_agent_url 41 ) 42 offers_repository = PostgreSQLOffersRepositoryAdapter( 43 self.config.postgresql_connection_string 44 ) 45 offer_service = OfferService( 46 access_control=access_control, 47 offers_client=offers_client, 48 offers_repository=offers_repository, 49 ) 50 51 credential_service = CredentialService( 52 issuer_agent=SsiAgentAdapter(config=self.config) 53 ) 54 55 self._api_port = HttpApiAdapter( 56 config=self.config, 57 metadata_service=metadata_service, 58 offer_service=offer_service, 59 credential_service=credential_service, 60 ) 61 62 def run(self): 63 self._api_port.run() 64 65 66if __name__ == "__main__": 67 app = App() 68 app.run()
class
App:
21class App: 22 """Main application entry point.""" 23 24 config: ConfigRepoPort 25 _api_port: ApiPort 26 27 def __init__(self): 28 """Initialise and wire all application dependencies.""" 29 self.config = EnvConfigRepo() 30 31 metadata_repository = PostgreSQLMetadataRepository( 32 self.config.postgresql_connection_string 33 ) 34 metadata_service = MetadataService( 35 metadata_repository=metadata_repository, public_url=self.config.public_url 36 ) 37 38 access_control = HardcodedAccessControlAdapter() 39 40 offers_client = SsiAgentOffersClientAdapter( 41 ssi_agent_url=self.config.ssi_agent_url 42 ) 43 offers_repository = PostgreSQLOffersRepositoryAdapter( 44 self.config.postgresql_connection_string 45 ) 46 offer_service = OfferService( 47 access_control=access_control, 48 offers_client=offers_client, 49 offers_repository=offers_repository, 50 ) 51 52 credential_service = CredentialService( 53 issuer_agent=SsiAgentAdapter(config=self.config) 54 ) 55 56 self._api_port = HttpApiAdapter( 57 config=self.config, 58 metadata_service=metadata_service, 59 offer_service=offer_service, 60 credential_service=credential_service, 61 ) 62 63 def run(self): 64 self._api_port.run()
Main application entry point.
App()
27 def __init__(self): 28 """Initialise and wire all application dependencies.""" 29 self.config = EnvConfigRepo() 30 31 metadata_repository = PostgreSQLMetadataRepository( 32 self.config.postgresql_connection_string 33 ) 34 metadata_service = MetadataService( 35 metadata_repository=metadata_repository, public_url=self.config.public_url 36 ) 37 38 access_control = HardcodedAccessControlAdapter() 39 40 offers_client = SsiAgentOffersClientAdapter( 41 ssi_agent_url=self.config.ssi_agent_url 42 ) 43 offers_repository = PostgreSQLOffersRepositoryAdapter( 44 self.config.postgresql_connection_string 45 ) 46 offer_service = OfferService( 47 access_control=access_control, 48 offers_client=offers_client, 49 offers_repository=offers_repository, 50 ) 51 52 credential_service = CredentialService( 53 issuer_agent=SsiAgentAdapter(config=self.config) 54 ) 55 56 self._api_port = HttpApiAdapter( 57 config=self.config, 58 metadata_service=metadata_service, 59 offer_service=offer_service, 60 credential_service=credential_service, 61 )
Initialise and wire all application dependencies.