Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
d1ae694
chore: initial and incomplete refactor
alepane21 Mar 3, 2025
bca3e2b
feat(pubsub): refactor pubsub handling and add Kafka/NATS support
alepane21 Mar 18, 2025
d72f8c8
Merge branch 'refs/heads/main' into ale/eng-6482-edfs-refactor-kafka-…
alepane21 Mar 18, 2025
5df3613
feat(plan-generator): add logger to router initialization
alepane21 Mar 18, 2025
efaa122
refactor(pubsub): nats is now working
alepane21 Mar 20, 2025
23eb5bb
test(kafka): fix mutation kafka test
alepane21 Mar 21, 2025
b0660d9
chore: initial refactor to reduce code needed to start new provider
alepane21 Mar 22, 2025
163aa5b
refactor(pubsub): implement lazy connection handling for NATS and Kaf…
alepane21 Mar 24, 2025
1ccf0c7
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Mar 24, 2025
9dd59b2
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Mar 24, 2025
33603e8
refactor(pubsub): remove unused variables and comments in datasource …
alepane21 Mar 24, 2025
ebab2e3
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 4, 2025
a473fdd
make it works with different providers in the same datasource
alepane21 Apr 7, 2025
fa7e378
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 7, 2025
e6645c8
chore: cleaning up a little, reintroduced host and listener vars
alepane21 Apr 8, 2025
5e900cb
feat: introduce InstanceData struct for improved configuration manage…
alepane21 Apr 8, 2025
3b9ac24
chore: improved naming, simplify code
alepane21 Apr 8, 2025
51f1343
chore: remove unused pub/sub configuration code
alepane21 Apr 8, 2025
60c9b4b
chore: remove unused field
alepane21 Apr 8, 2025
4017c9f
chore: remove registry
alepane21 Apr 8, 2025
cbd58e0
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 8, 2025
e76ceb3
fix: improve error message in Kafka provider
alepane21 Apr 9, 2025
47e83bd
chore: remove commented error handling code in Planner.ConfigureFetch
alepane21 Apr 9, 2025
546be70
chore: add adapter interfaces and tests
alepane21 Apr 9, 2025
3a023e2
chore: add github.com/stretchr/objx v0.5.2 dependency
alepane21 Apr 9, 2025
2a96355
chore: remove unused bytesBuffer helper from Kafka pubsub tests
alepane21 Apr 9, 2025
04e425e
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 9, 2025
fe2f388
chore: add tests
alepane21 Apr 10, 2025
d4ed48a
chore: cleaned a bit the implementation, add a README to make it easi…
alepane21 Apr 11, 2025
592cbb6
feat: implement PubSub provider startup and shutdown on graphServer
alepane21 Apr 11, 2025
c2bb1cb
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 11, 2025
bb77254
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 14, 2025
8295c26
refactor: update Kafka and NATS adapters to use direct client connect…
alepane21 Apr 14, 2025
0a6e8a0
refactor: enhance NATS adapter with flush timeout and update test exp…
alepane21 Apr 14, 2025
3aeba04
test: log unexpected errors during WebSocket message read in tests
alepane21 Apr 14, 2025
5096734
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 14, 2025
f5e8e90
feat: add custom JSON unmarshalling for WebSocketMessage to improve e…
alepane21 Apr 14, 2025
ad96e3d
refactor: replace custom JSON unmarshalling in WebSocketMessage with …
alepane21 Apr 15, 2025
85adb37
fix: adapter base interface
alepane21 Apr 16, 2025
c571d9a
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 Apr 16, 2025
1bb2dfd
docs: update README for PubSub Provider usage section
alepane21 Apr 16, 2025
389d330
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 18, 2025
a1e3cb8
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 18, 2025
bb4e0a1
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Apr 23, 2025
43977a0
refactor: remove unused EnginePubSubProviders struct and related impo…
alepane21 Apr 23, 2025
13f8d33
refactor: update MoodHandler and NewSchema to include GetPubSubName p…
alepane21 Apr 23, 2025
5f95739
refactor: enhance NATS publishing logic in UpdateMood resolver to han…
alepane21 Apr 23, 2025
5886403
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 7, 2025
01e12bc
chore: pass up providers instead of passing down a callback, small fixes
alepane21 May 7, 2025
b5c7357
fix: rename NatParams to NatsParams for consistency in pubsub.go
alepane21 May 7, 2025
8eb72eb
refactor: replace datasource package with pubsubtest for common PubSu…
alepane21 May 7, 2025
3148ce3
docs: enhance PubSubDataSource interface documentation with detailed …
alepane21 May 7, 2025
02c0a45
fix: improve pubsub provider startup and shutdown processes with time…
alepane21 May 7, 2025
711c37d
feat: add tests for Kafka and NATS startup/shutdown behavior with inc…
alepane21 May 8, 2025
25e15aa
refactor: extract JSON reading and checking logic into a reusable fun…
alepane21 May 8, 2025
1874521
refactor: move ReadAndCheckJSON function to improve code organization…
alepane21 May 8, 2025
8b7fbb1
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 8, 2025
92b91d7
refactor: remove outdated comment regarding Kafka client connection b…
alepane21 May 9, 2025
802659a
refactor: rename datasource import to pubsub_datasource for clarity i…
alepane21 May 9, 2025
86fada3
fix: instanceData not set in the structure
alepane21 May 9, 2025
ee87b59
refactor: streamline pubsub provider startup and shutdown with unifie…
alepane21 May 9, 2025
afe6ac6
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 9, 2025
39517e8
fix: replace timeout error formatting with errors.New for consistency…
alepane21 May 9, 2025
914f21c
refactor: update ExecutorConfigurationBuilder and Loader to return Pu…
alepane21 May 9, 2025
ddb437d
refactor: update BuildEventDataBytes to use operation from ast.Docume…
alepane21 May 9, 2025
0205b27
refactor: enhance PubSub provider structure by consolidating data sou…
alepane21 May 12, 2025
158313e
fix: change tests to use EventConfiguration istead of EventConfigurat…
alepane21 May 12, 2025
48f305f
Merge branch 'main' into ale/eng-6482-edfs-refactor-filtered-datasources
alepane21 May 13, 2025
73644c8
chore: add PubSubProviderBuilder to allow the filter of datasource me…
alepane21 May 13, 2025
a24c72b
chore: a datasource per event
alepane21 May 13, 2025
3d9ef5b
Merge branch 'main' into ale/eng-6482-edfs-refactor-filtered-datasources
alepane21 May 13, 2025
abdfcfd
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
devsergiy May 13, 2025
da50cc7
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 15, 2025
f26ded9
Merge remote-tracking branch 'origin/ale/eng-6482-edfs-refactor-kafka…
alepane21 May 15, 2025
57c3d7f
feat: refactor data source handling and improve provider initialization
alepane21 May 15, 2025
56217b0
refactor: simplify BuildProvidersAndDataSources function signature an…
alepane21 May 15, 2025
526dc48
refactor: move EngineEventConfiguration interface to provider.go
alepane21 May 15, 2025
c3c5889
chore: improved docs
alepane21 May 15, 2025
a898da3
refactor: reorganize NATS provider structure
alepane21 May 15, 2025
ffff337
feat: reuse provider in different graphs, streamline pub sub builder
alepane21 May 15, 2025
765d731
test: add unit tests for BuildProvidersAndDataSources function
alepane21 May 15, 2025
c5623ca
test: add unit tests for provider
alepane21 May 15, 2025
839e8b7
docs: update README with detailed PubSub provider implementation steps
alepane21 May 15, 2025
2597f57
chore: fix small typo
alepane21 May 26, 2025
2f9c870
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 27, 2025
c84c844
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 May 27, 2025
b535e9f
refactor: streamline provider and data source construction in PubSub
alepane21 May 27, 2025
cb6ce98
chore: fix unused field
alepane21 May 28, 2025
dec7f6d
chore: testenv now don't add empty providers
alepane21 May 28, 2025
562b96d
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 May 28, 2025
cfecb90
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 May 28, 2025
49db63a
refactor: update datasource import to use pubsub_datasource in factor…
alepane21 May 28, 2025
0d0429c
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 May 28, 2025
0e3ffe4
feat: add ProviderNotDefinedError and separated logic by provider
alepane21 May 28, 2025
2e37a40
chore: add a basic provider implementation for common usage and remov…
alepane21 May 28, 2025
eb8f95e
chore: removed reference to *nodev1.EngineEventConfiguration and *nod…
alepane21 May 28, 2025
28f489d
chore: remove unused interface
alepane21 May 28, 2025
72830c9
chore: move EngineEventConfiguration in a more appropriate package
alepane21 May 28, 2025
8276186
chore: generate mocks with mockery
alepane21 May 28, 2025
4764c74
chore: update go.mod and go.sum by removing unused dependencies and a…
alepane21 May 28, 2025
d5c19d8
chore: avoid duplicated code inside BuildProvidersAndDataSources, res…
alepane21 May 28, 2025
8f29bf0
chore: add mock implementations for PubSubProvider and PubSubDataSour…
alepane21 May 29, 2025
0f7fd6f
style: update comment formatting in BuildProvidersAndDataSources func…
alepane21 May 29, 2025
7000f5a
docs: enhance README for PubSub provider integration and update confi…
alepane21 May 29, 2025
22503c9
test: rename existing test and add Kafka provider test for BuildProvi…
alepane21 May 29, 2025
ce969a2
Merge branch 'main' into ale/eng-6482-edfs-refactor-kafka-and-nats-as…
alepane21 May 29, 2025
4cd2d7e
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 May 29, 2025
156916b
chore: build the datasource when the planner gets int o ConfigureFetc…
alepane21 May 30, 2025
684a4fc
chore: add test to verify no double transformation happens when the s…
alepane21 May 30, 2025
b72c7b5
chore: go mod tidy
alepane21 May 30, 2025
22bf957
test: update PubSub data source tests to use BuildDataSourceFactory a…
alepane21 May 30, 2025
963c37d
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Jun 5, 2025
ac59b12
chore: go mod tidy
alepane21 Jun 5, 2025
31ae243
chore: use table in the README
alepane21 Jun 5, 2025
5dbef22
chore: made changes suggested in PR
alepane21 Jun 5, 2025
8a1a036
chore: change adapters names
alepane21 Jun 6, 2025
6b50be0
chore: remove BuildDataSourceFactory from ProviderBuilder
alepane21 Jun 6, 2025
dc206b5
Merge remote-tracking branch 'origin/main' into ale/eng-6482-edfs-ref…
alepane21 Jun 6, 2025
17f4df6
Merge branch 'ale/eng-6482-edfs-refactor-kafka-and-nats-as-datasource…
alepane21 Jun 6, 2025
0ff66a9
chore: renamed PubSubDataSource -> EngineDataSourceFactory, removed P…
alepane21 Jun 6, 2025
e6b5c67
chore: explain the MarshalJSONTemplate
alepane21 Jun 6, 2025
03f69eb
chore: fix comment
alepane21 Jun 6, 2025
fae3a54
Merge branch 'main' into ale/eng-6482-edfs-refactor-filtered-datasources
alepane21 Jun 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@ setup-dev-tools: setup-build-tools
go install honnef.co/go/tools/cmd/staticcheck@2024.1.1
go install github.com/yannh/kubeconform/cmd/kubeconform@v0.6.3
go install github.com/norwoodj/helm-docs/cmd/helm-docs@v1.11.3
go install github.com/vektra/mockery/v3@v3.3.1

prerequisites: setup-dev-tools
go version
pnpm -v
node -v
docker -v
dbmate -v
mockery version

infra-up: dc-dev

Expand Down
7 changes: 5 additions & 2 deletions demo/cmd/mood/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@ package main
import (
"context"
"fmt"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood"
"log"
"net/http"
"os"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood"

"github.com/99designs/gqlgen/graphql"
"github.com/99designs/gqlgen/graphql/handler/debug"
"github.com/99designs/gqlgen/graphql/playground"
Expand All @@ -31,7 +32,9 @@ func main() {
port = defaultPort
}

srv := subgraphs.NewDemoServer(mood.NewSchema(nil))
srv := subgraphs.NewDemoServer(mood.NewSchema(nil, func(name string) string {
return name
}))

srv.Use(&debug.Tracer{})
srv.Use(otelgqlgen.Middleware(otelgqlgen.WithCreateSpanFromFields(func(ctx *graphql.FieldContext) bool {
Expand Down
1 change: 1 addition & 0 deletions demo/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ require (
github.com/twmb/franz-go/pkg/kmsg v1.7.0 // indirect
github.com/urfave/cli/v2 v2.27.5 // indirect
github.com/wundergraph/astjson v0.0.0-20250106123708-be463c97e083 // indirect
github.com/wundergraph/graphql-go-tools/v2 v2.0.0-rc.183 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/availability/availability.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package availability

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/availability/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/availability/subgraph/generated"
)

func NewSchema(pubSubBySourceName map[string]pubsub_datasource.NatsPubSub, pubSubName func(string) string) graphql.ExecutableSchema {
func NewSchema(pubSubBySourceName map[string]nats.Adapter, pubSubName func(string) string) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: pubSubBySourceName,
GetPubSubName: pubSubName,
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/availability/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
GetPubSubName func(string) string
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/countries/countries.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package countries

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/countries/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/countries/subgraph/generated"
)

func NewSchema(pubSubBySourceName map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(pubSubBySourceName map[string]nats.Adapter) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: pubSubBySourceName,
}})
Expand Down
5 changes: 3 additions & 2 deletions demo/pkg/subgraphs/countries/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"sync"

"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -11,5 +12,5 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
}
5 changes: 2 additions & 3 deletions demo/pkg/subgraphs/employees/employees.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ package employees

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/employees/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/employees/subgraph/generated"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.Adapter) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
EmployeesData: subgraph.Employees,
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/employees/subgraph/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"sync"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/employees/subgraph/model"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -15,7 +15,7 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
EmployeesData []*model.Employee
}

Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/family/family.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package family

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/family/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/family/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.Adapter) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
}})
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/family/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
}
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/hobbies/hobbies.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package hobbies

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/hobbies/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/hobbies/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.Adapter) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
}})
Expand Down
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/hobbies/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"reflect"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/hobbies/subgraph/model"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
}

func (r *Resolver) Employees(hobby model.Hobby) ([]*model.Employee, error) {
Expand Down
5 changes: 3 additions & 2 deletions demo/pkg/subgraphs/mood/mood.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ package mood

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/mood/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.Adapter, getPubSubName func(string) string) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
GetPubSubName: getPubSubName,
}})
}
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/mood/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package subgraph

import (
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
//
// It serves as dependency injection for your app, add any dependencies you require here.

type Resolver struct {
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
GetPubSubName func(string) string
}
28 changes: 28 additions & 0 deletions demo/pkg/subgraphs/mood/subgraph/schema.resolvers.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/products/products.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package products

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.Adapter) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
TopSecretFederationFactsData: subgraph.TopSecretFederationFacts,
Expand Down
7 changes: 4 additions & 3 deletions demo/pkg/subgraphs/products/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package subgraph

import (
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph/model"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"sync"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products/subgraph/model"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -12,6 +13,6 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
TopSecretFederationFactsData []model.TopSecretFact
}
4 changes: 2 additions & 2 deletions demo/pkg/subgraphs/products_fg/products.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package products_fg

import (
"github.com/99designs/gqlgen/graphql"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph"
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph/generated"
)

func NewSchema(natsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub) graphql.ExecutableSchema {
func NewSchema(natsPubSubByProviderID map[string]nats.Adapter) graphql.ExecutableSchema {
return generated.NewExecutableSchema(generated.Config{Resolvers: &subgraph.Resolver{
NatsPubSubByProviderID: natsPubSubByProviderID,
TopSecretFederationFactsData: subgraph.TopSecretFederationFacts,
Expand Down
7 changes: 4 additions & 3 deletions demo/pkg/subgraphs/products_fg/subgraph/resolver.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package subgraph

import (
"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph/model"
"github.com/wundergraph/graphql-go-tools/v2/pkg/engine/datasource/pubsub_datasource"
"sync"

"github.com/wundergraph/cosmo/demo/pkg/subgraphs/products_fg/subgraph/model"
"github.com/wundergraph/cosmo/router/pkg/pubsub/nats"
)

// This file will not be regenerated automatically.
Expand All @@ -12,6 +13,6 @@ import (

type Resolver struct {
mux sync.Mutex
NatsPubSubByProviderID map[string]pubsub_datasource.NatsPubSub
NatsPubSubByProviderID map[string]nats.Adapter
TopSecretFederationFactsData []model.TopSecretFact
}
Loading
Loading