src/Backend/src/api/dependencies.py [452:497]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @injector.provider
    @injector.singleton
    def provice_firebase_auth(self, settings: Settings) -> ports.ExternalAuth:
        """
        Provide the GCP's Secret Manager.
        """
        return google.FirebaseAuth(
            project_id=settings.get("project_id", ""),
            creds_path=settings.get("gcp_fb_credentials", ""),
        )

    @injector.provider
    @injector.singleton
    def provide_pubsub(self, settings: Settings) -> ports.MessagePublisher:
        """
        Provide the GCP's Pubsub.
        """
        return google.MessagePublisher(
            project_id=settings.get("project_id", ""),
            creds_path=settings.get("gcp_bucket_credentials", ""),
            topic=settings.get("pubsub_topic", ""),
        )

    @injector.provider
    @injector.singleton
    def provide_bigquery(self, settings: Settings) -> ports.AnalyticalResult:
        """
        Provide the GCP's BigQuery.
        """
        return google.BigQuery(
            project_id=settings.get("project_id", ""),
            dataset=settings.get("bq_dataset", ""),
            table_name=settings.get("bq_table_name", ""),
            creds_path=settings.get("gcp_bigquery_credentials", ""),
        )

    @injector.provider
    @injector.singleton
    def provide_looker(self, settings: Settings) -> ports.Dashboard:
        """
        Provide the GCP's Looker.
        """
        return google.LookerDashboard(
            looker_secret=settings.get("looker_secret", ""),
            looker_host=settings.get("looker_host", ""),
        )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



src/Backend/src/api/dependencies.py [530:575]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @injector.provider
    @injector.singleton
    def provice_firebase_auth(self, settings: Settings) -> ports.ExternalAuth:
        """
        Provide the GCP's Secret Manager.
        """
        return google.FirebaseAuth(
            project_id=settings.get("project_id", ""),
            creds_path=settings.get("gcp_fb_credentials", ""),
        )

    @injector.provider
    @injector.singleton
    def provide_pubsub(self, settings: Settings) -> ports.MessagePublisher:
        """
        Provide the GCP's Pubsub.
        """
        return google.MessagePublisher(
            project_id=settings.get("project_id", ""),
            creds_path=settings.get("gcp_bucket_credentials", ""),
            topic=settings.get("pubsub_topic", ""),
        )

    @injector.provider
    @injector.singleton
    def provide_bigquery(self, settings: Settings) -> ports.AnalyticalResult:
        """
        Provide the GCP's BigQuery.
        """
        return google.BigQuery(
            project_id=settings.get("project_id", ""),
            dataset=settings.get("bq_dataset", ""),
            table_name=settings.get("bq_table_name", ""),
            creds_path=settings.get("gcp_bigquery_credentials", ""),
        )

    @injector.provider
    @injector.singleton
    def provide_looker(self, settings: Settings) -> ports.Dashboard:
        """
        Provide the GCP's Looker.
        """
        return google.LookerDashboard(
            looker_secret=settings.get("looker_secret", ""),
            looker_host=settings.get("looker_host", ""),
        )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



