import { makeEnvironmentProviders, type EnvironmentProviders, } from '@angular/core'; import { ActivityGateway, AttachmentsGateway, CommentsGateway, IssuesGateway, ProjectsGateway, ReleasesGateway, TrackerRealtimeGateway, UsersGateway, } from '@task-stream/web/tracker/domain'; import { GraphqlActivityGateway, GraphqlCommentsGateway, GraphqlReleasesGateway, GraphqlUsersGateway, } from './adapters/graphql-collaboration.gateways'; import { GraphqlIssuesGateway } from './adapters/graphql-issues.gateway'; import { HttpAttachmentsGateway } from './adapters/http-attachments.gateway'; import { GraphqlProjectsGateway } from './adapters/graphql-projects.gateway'; import { GraphqlRealtimeGateway } from './adapters/graphql-realtime.gateway'; /** Ports → GraphQL adapters (and REST for files). */ export function provideTrackerInfrastructure(): EnvironmentProviders { return makeEnvironmentProviders([ { provide: ProjectsGateway, useClass: GraphqlProjectsGateway }, { provide: IssuesGateway, useClass: GraphqlIssuesGateway }, { provide: CommentsGateway, useClass: GraphqlCommentsGateway }, { provide: ReleasesGateway, useClass: GraphqlReleasesGateway }, { provide: ActivityGateway, useClass: GraphqlActivityGateway }, { provide: AttachmentsGateway, useClass: HttpAttachmentsGateway }, { provide: UsersGateway, useClass: GraphqlUsersGateway }, { provide: TrackerRealtimeGateway, useClass: GraphqlRealtimeGateway }, ]); }