diff --git a/internal/postgres/source.go b/internal/postgres/source.go index 1b013da..0e60a5e 100644 --- a/internal/postgres/source.go +++ b/internal/postgres/source.go @@ -16,7 +16,7 @@ func CreateSourceNode(ctx context.Context, db *gorm.DB, anthroveSource *pgModels return fmt.Errorf("anthroveSource domain is required") } - result := db.WithContext(ctx).Create(anthroveSource) + result := db.WithContext(ctx).Where(pgModels.Source{Domain: anthroveSource.Domain}).FirstOrCreate(anthroveSource) if result.Error != nil { return result.Error diff --git a/internal/postgres/source_test.go b/internal/postgres/source_test.go index 2bde71b..d0514c2 100644 --- a/internal/postgres/source_test.go +++ b/internal/postgres/source_test.go @@ -65,7 +65,7 @@ func TestCreateSourceNode(t *testing.T) { db: gormDB, anthroveSource: validAnthroveSource, }, - wantErr: true, + wantErr: false, }, } for _, tt := range tests { @@ -249,7 +249,7 @@ func checkSourceNode(got *pgModels.Source, want *pgModels.Source) bool { if want == nil && got == nil { return true } - + if got.Domain != want.Domain { return false }