src.web

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.awards.award_service import AwardService
 8from src.awards.http_awards_client_adapter import HttpAwardsClientAdapter
 9from src.config.config import EnvConfigRepo
10from src.config.config_port import ConfigRepoPort
11from src.offers.offer_service import OfferService
12from src.offers.postgresql_offers_repository_adapter import (
13    PostgreSQLOffersRepositoryAdapter,
14)
15from src.offers.ssi_agent_offers_client_adapter import SsiAgentOffersClientAdapter
16
17
18class App:
19    """Main application entry point."""
20
21    config: ConfigRepoPort
22    _api_port: ApiPort
23
24    def __init__(self):
25        """Initialise and wire all application dependencies."""
26        self.config = EnvConfigRepo()
27
28        access_control = HardcodedAccessControlAdapter()
29
30        awards_client = HttpAwardsClientAdapter(
31            awards_service_url=self.config.awards_service_url
32        )
33        award_service = AwardService(client=awards_client)
34
35        offers_client = SsiAgentOffersClientAdapter(
36            ssi_agent_url=self.config.ssi_agent_url,
37            credential_configuration_id=self.config.credential_configuration_id,
38        )
39        offers_repository = PostgreSQLOffersRepositoryAdapter(
40            self.config.postgresql_connection_string
41        )
42        offer_service = OfferService(
43            access_control=access_control,
44            offers_client=offers_client,
45            offers_repository=offers_repository,
46            award_service=award_service,
47        )
48
49        self._api_port = HttpApiAdapter(
50            config=self.config,
51            offer_service=offer_service,
52        )
53
54    def run(self):
55        """Start the application."""
56        self._api_port.run()
57
58
59def main() -> None:
60    """Entry point for the EC Issuer application."""
61    app = App()
62    app.run()
63
64
65if __name__ == "__main__":
66    main()
class App:
19class App:
20    """Main application entry point."""
21
22    config: ConfigRepoPort
23    _api_port: ApiPort
24
25    def __init__(self):
26        """Initialise and wire all application dependencies."""
27        self.config = EnvConfigRepo()
28
29        access_control = HardcodedAccessControlAdapter()
30
31        awards_client = HttpAwardsClientAdapter(
32            awards_service_url=self.config.awards_service_url
33        )
34        award_service = AwardService(client=awards_client)
35
36        offers_client = SsiAgentOffersClientAdapter(
37            ssi_agent_url=self.config.ssi_agent_url,
38            credential_configuration_id=self.config.credential_configuration_id,
39        )
40        offers_repository = PostgreSQLOffersRepositoryAdapter(
41            self.config.postgresql_connection_string
42        )
43        offer_service = OfferService(
44            access_control=access_control,
45            offers_client=offers_client,
46            offers_repository=offers_repository,
47            award_service=award_service,
48        )
49
50        self._api_port = HttpApiAdapter(
51            config=self.config,
52            offer_service=offer_service,
53        )
54
55    def run(self):
56        """Start the application."""
57        self._api_port.run()

Main application entry point.

App()
25    def __init__(self):
26        """Initialise and wire all application dependencies."""
27        self.config = EnvConfigRepo()
28
29        access_control = HardcodedAccessControlAdapter()
30
31        awards_client = HttpAwardsClientAdapter(
32            awards_service_url=self.config.awards_service_url
33        )
34        award_service = AwardService(client=awards_client)
35
36        offers_client = SsiAgentOffersClientAdapter(
37            ssi_agent_url=self.config.ssi_agent_url,
38            credential_configuration_id=self.config.credential_configuration_id,
39        )
40        offers_repository = PostgreSQLOffersRepositoryAdapter(
41            self.config.postgresql_connection_string
42        )
43        offer_service = OfferService(
44            access_control=access_control,
45            offers_client=offers_client,
46            offers_repository=offers_repository,
47            award_service=award_service,
48        )
49
50        self._api_port = HttpApiAdapter(
51            config=self.config,
52            offer_service=offer_service,
53        )

Initialise and wire all application dependencies.

def run(self):
55    def run(self):
56        """Start the application."""
57        self._api_port.run()

Start the application.

def main() -> None:
60def main() -> None:
61    """Entry point for the EC Issuer application."""
62    app = App()
63    app.run()

Entry point for the EC Issuer application.