feat: added sources to AnthroveUserRelationship #1

Merged
fenpaws merged 1 commits from more-querys into main 2024-05-04 21:15:51 +00:00

View File

@ -4,7 +4,6 @@ import (
"context" "context"
"fmt" "fmt"
"git.dragse.it/anthrove/otter-space-sdk/internal/utils" "git.dragse.it/anthrove/otter-space-sdk/internal/utils"
"git.dragse.it/anthrove/otter-space-sdk/pkg/models" "git.dragse.it/anthrove/otter-space-sdk/pkg/models"
"github.com/neo4j/neo4j-go-driver/v5/neo4j" "github.com/neo4j/neo4j-go-driver/v5/neo4j"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
@ -96,7 +95,7 @@ func GetUserSourceLink(ctx context.Context, driver neo4j.DriverWithContext, anth
query := ` query := `
MATCH (user:User{user_id: $anthrove_user_id})-[r:HAS_ACCOUNT_AT]->(s:Source) MATCH (user:User{user_id: $anthrove_user_id})-[r:HAS_ACCOUNT_AT]->(s:Source)
RETURN toString(r.user_id) AS sourceUserID, toString(r.username) AS sourceUsername, s.display_name as sourceDisplayName; RETURN toString(r.user_id) AS sourceUserID, toString(r.username) AS sourceUsername, s as source;
` `
params := map[string]any{ params := map[string]any{
"anthrove_user_id": anthroveUserID, "anthrove_user_id": anthroveUserID,
@ -113,7 +112,7 @@ func GetUserSourceLink(ctx context.Context, driver neo4j.DriverWithContext, anth
for i := range result.Records { for i := range result.Records {
record := result.Records[i] record := result.Records[i]
sourceName, _, err := neo4j.GetRecordValue[string](record, "sourceDisplayName") source, _, err := neo4j.GetRecordValue[neo4j.Node](record, "source")
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -126,11 +125,20 @@ func GetUserSourceLink(ctx context.Context, driver neo4j.DriverWithContext, anth
return nil, err return nil, err
} }
displayName := source.Props["display_name"].(string)
domain := source.Props["domain"].(string)
icon := source.Props["icon"].(string)
anthroveSourceUser := models.AnthroveUserRelationship{ anthroveSourceUser := models.AnthroveUserRelationship{
UserID: sourceUserID, UserID: sourceUserID,
Username: sourceUsername, Username: sourceUsername,
Source: models.AnthroveSource{
DisplayName: displayName,
Domain: domain,
Icon: icon,
},
} }
userSource[sourceName] = anthroveSourceUser userSource[displayName] = anthroveSourceUser
} }
log.WithFields(log.Fields{ log.WithFields(log.Fields{