Compare commits

..

No commits in common. "8668d504b9f84a5f5ebfd8c4b6e44e4b10ad613a" and "5ffb558ab865edbfa409460d62501f60183a1212" have entirely different histories.

12 changed files with 49 additions and 124 deletions

8
go.mod
View File

@ -3,7 +3,7 @@ module git.anthrove.art/Anthrove/otter-space-sdk/v2
go 1.22.0
require (
github.com/davecgh/go-spew v1.1.1
github.com/lib/pq v1.10.9
github.com/matoous/go-nanoid/v2 v2.1.0
github.com/rubenv/sql-migrate v1.7.0
github.com/sirupsen/logrus v1.9.3
@ -57,7 +57,6 @@ require (
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/rogpeppe/go-internal v1.10.0 // indirect
github.com/shirou/gopsutil/v3 v3.23.12 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
@ -66,11 +65,10 @@ require (
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect
go.opentelemetry.io/otel/log v0.4.0 // indirect
go.opentelemetry.io/otel/metric v1.28.0 // indirect
go.opentelemetry.io/otel/sdk v1.28.0 // indirect
golang.org/x/crypto v0.22.0 // indirect
golang.org/x/sync v0.8.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/text v0.17.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
google.golang.org/grpc v1.59.0 // indirect
google.golang.org/protobuf v1.33.0 // indirect

16
go.sum
View File

@ -110,8 +110,8 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY=
github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rubenv/sql-migrate v1.7.0 h1:HtQq1xyTN2ISmQDggnh0c9U3JlP8apWh8YO2jzlXpTI=
github.com/rubenv/sql-migrate v1.7.0/go.mod h1:S4wtDEG1CKn+0ShpTtzWhFpHHI5PvCUtiGI+C+Z2THE=
github.com/shirou/gopsutil/v3 v3.23.12 h1:z90NtUkp3bMtmICZKpC4+WaknU1eXtp5vtbQ11DgpE4=
@ -158,8 +158,8 @@ go.opentelemetry.io/otel/log v0.4.0 h1:/vZ+3Utqh18e8TPjuc3ecg284078KWrR8BRz+PQAj
go.opentelemetry.io/otel/log v0.4.0/go.mod h1:DhGnQvky7pHy82MIRV43iXh3FlKN8UUKftn0KbLOq6I=
go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q=
go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s=
go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE=
go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg=
go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o=
go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A=
go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g=
go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI=
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
@ -180,8 +180,8 @@ golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -198,8 +198,8 @@ golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q=
golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc=
golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=

View File

@ -29,16 +29,10 @@ var (
)
func Connect(ctx context.Context, config models.DatabaseConfig) error {
setupTelemetry()
if config.Debug {
log.SetLevel(log.DebugLevel)
}
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "Connect")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"endpoint": config.Endpoint,
"port": config.Port,
"database": config.Database,
@ -70,6 +64,8 @@ func Connect(ctx context.Context, config models.DatabaseConfig) error {
return utils.HandleError(ctx, span, localLogger, err)
}
setupTelemetry()
client = sqlDB
utils.HandleEvent(span, localLogger, "Database connected successfully")
return nil
@ -79,7 +75,7 @@ func migrateDatabase(ctx context.Context, dbPool *gorm.DB, config models.Databas
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "migrateDatabase")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"database": config.Database,
})
@ -104,9 +100,9 @@ func migrateDatabase(ctx context.Context, dbPool *gorm.DB, config models.Databas
if config.Debug {
if n != 0 {
localLogger.Debug("applied %d migrations!", n)
localLogger.Infof("postgres migration: applied %d migrations!", n)
} else {
localLogger.Debug("nothing to migrate")
localLogger.Info("postgres migration: nothing to migrate")
}
}

View File

@ -16,7 +16,7 @@ func CreateUserFavorite(ctx context.Context, userFav models.UserFavorite) (model
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateUserFavorite")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_favorite_id": userFav.ID,
})
@ -46,7 +46,7 @@ func CreateUserFavoriteInBatch(ctx context.Context, userFav []models.UserFavorit
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateUserFavoriteInBatch")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_favorite_count": len(userFav),
"batch_size": batchSize,
})
@ -86,7 +86,7 @@ func UpdateUserFavorite(ctx context.Context, userFav models.UserFavorite) error
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "UpdateUserFavorite")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_favorite_id": userFav.ID,
})
@ -124,7 +124,7 @@ func GetUserFavoritesByID(ctx context.Context, id models.UserFavoriteID) (models
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "GetUserFavoritesByID")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_favorite_id": id,
})
@ -160,7 +160,7 @@ func DeleteUserFavorite(ctx context.Context, id models.UserFavoriteID) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "DeleteUserFavorite")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_favorite_id": id,
})

View File

@ -16,7 +16,7 @@ func CreatePost(ctx context.Context, post models.Post) (models.Post, error) {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreatePost")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"post_id": post.ID,
})
@ -46,7 +46,7 @@ func CreatePostInBatch(ctx context.Context, post []models.Post, batchSize int) e
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreatePostInBatch")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"post_count": len(post),
"batch_size": batchSize,
})
@ -86,7 +86,7 @@ func GetPostByID(ctx context.Context, id models.PostID) (models.Post, error) {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "GetPostByID")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"post_id": id,
})
@ -122,7 +122,7 @@ func UpdatePost(ctx context.Context, anthrovePost models.Post) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "UpdatePost")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"post_id": anthrovePost.ID,
})
@ -162,7 +162,7 @@ func DeletePost(ctx context.Context, id models.PostID) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "DeletePost")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"post_id": id,
})

View File

@ -16,7 +16,7 @@ func CreateSource(ctx context.Context, source models.Source) (models.Source, err
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateSource")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"source_id": source.ID,
})
@ -46,7 +46,7 @@ func CreateSourceInBatch(ctx context.Context, source []models.Source, batchSize
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateSourceInBatch")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"source_count": len(source),
"batch_size": batchSize,
})
@ -86,7 +86,7 @@ func UpdateSource(ctx context.Context, source models.Source) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "UpdateSource")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"source_id": source.ID,
})
@ -126,7 +126,7 @@ func GetSourceByID(ctx context.Context, id models.SourceID) (models.Source, erro
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "GetSourceByID")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"source_id": id,
})
@ -166,7 +166,7 @@ func GetSourceByDomain(ctx context.Context, sourceDomain models.SourceDomain) (m
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "GetSourceByDomain")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"source_domain": sourceDomain,
})
@ -202,7 +202,7 @@ func DeleteSource(ctx context.Context, id models.SourceID) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "DeleteSource")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"source_id": id,
})

View File

@ -16,7 +16,7 @@ func CreateTag(ctx context.Context, tagName models.TagName, tagType models.TagTy
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateTag")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_name": tagName,
"tag_type": tagType,
})
@ -53,7 +53,7 @@ func CreateTagInBatch(ctx context.Context, tags []models.Tag, batchSize int) err
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateTagInBatch")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_count": len(tags),
"batch_size": batchSize,
})
@ -93,7 +93,7 @@ func DeleteTag(ctx context.Context, tagName models.TagName) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "DeleteTag")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_name": tagName,
})

View File

@ -16,7 +16,7 @@ func CreateTagAlias(ctx context.Context, tagAliasName models.TagAliasName, tagNa
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateTagAlias")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_alias_name": tagAliasName,
"tag_name": tagName,
})
@ -53,7 +53,7 @@ func CreateTagAliasInBatch(ctx context.Context, tagsAliases []models.TagAlias, b
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateTagAliasInBatch")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_aliases_count": len(tagsAliases),
"batch_size": batchSize,
})
@ -93,7 +93,7 @@ func DeleteTagAlias(ctx context.Context, tagAliasName models.TagAliasName) error
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "DeleteTagAlias")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_alias_name": tagAliasName,
})

View File

@ -17,7 +17,7 @@ func CreateTagGroup(ctx context.Context, tagGroupName models.TagGroupName, tagNa
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateTagGroup")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_group_name": tagGroupName,
"tag_name": tagName,
})
@ -54,7 +54,7 @@ func CreateTagGroupInBatch(ctx context.Context, tagsGroups []models.TagGroup, ba
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateTagAliasInBatch")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_groups_count": len(tagsGroups),
"batch_size": batchSize,
})
@ -100,7 +100,7 @@ func DeleteTagGroup(ctx context.Context, tagGroupName models.TagGroupName) error
attribute.String("tag_group_name", string(tagGroupName)),
)
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"tag_group_name": tagGroupName,
})

View File

@ -17,7 +17,7 @@ func CreateUser(ctx context.Context, user models.User) (models.User, error) {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateUser")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_id": user.ID,
})
@ -51,7 +51,7 @@ func GetUserByID(ctx context.Context, id models.UserID) (models.User, error) {
attribute.String("user_id", string(id)),
)
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_id": id,
})
@ -83,7 +83,7 @@ func DeleteUser(ctx context.Context, id models.UserID) error {
attribute.String("user_id", string(id)),
)
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_id": id,
})

View File

@ -16,7 +16,7 @@ func CreateUserSource(ctx context.Context, userSource models.UserSource) (models
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "CreateUserSource")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_source_id": userSource.ID,
})
@ -46,7 +46,7 @@ func UpdateUserSource(ctx context.Context, userSource models.UserSource) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "UpdateUserSource")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_source_id": userSource.ID,
})
@ -91,7 +91,7 @@ func GetUserSourceByID(ctx context.Context, id models.UserSourceID) (models.User
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "GetUserSourceByID")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_source_id": id,
})
@ -130,7 +130,7 @@ func DeleteUserSource(ctx context.Context, id models.UserSourceID) error {
ctx, span, localLogger := utils.SetupTracing(ctx, tracer, "DeleteUserSource")
defer span.End()
localLogger = localLogger.WithFields(log.Fields{
localLogger.WithFields(log.Fields{
"user_source_id": id,
})

View File

@ -1,69 +0,0 @@
package test
import (
"fmt"
"math/rand"
"git.anthrove.art/Anthrove/otter-space-sdk/v2/pkg/models"
"github.com/davecgh/go-spew/spew"
gonanoid "github.com/matoous/go-nanoid/v2"
)
func GenerateRandomTags(numTags int) []models.Tag {
var tags []models.Tag
tagTypes := []models.TagType{"general", "species", "character", "artist", "lore", "meta", "invalid", "copyright"}
for i := 0; i < numTags; i++ {
id, _ := gonanoid.New(10)
tagName := spew.Sprintf("tag_name_%s", id)
tagType := tagTypes[rand.Intn(len(tagTypes))]
tag := models.Tag{
Name: models.TagName(tagName),
Type: tagType,
}
tags = append(tags, tag)
}
return tags
}
func GenerateRandomTagGroups(tags []models.Tag, numGroups int) []models.TagGroup {
var tagGroups []models.TagGroup
for i := 0; i < numGroups; i++ {
id, _ := gonanoid.New(10)
groupName := fmt.Sprintf("tag_group_%s", id)
randomTag := tags[rand.Intn(len(tags))]
tagGroup := models.TagGroup{
Name: models.TagGroupName(groupName),
TagID: randomTag.Name,
}
tagGroups = append(tagGroups, tagGroup)
}
return tagGroups
}
func GenerateRandomTagAlias(tags []models.Tag, numGroups int) []models.TagAlias {
var tagAliases []models.TagAlias
for i := 0; i < numGroups; i++ {
id, _ := gonanoid.New(10)
groupName := fmt.Sprintf("tag_alias_%s", id)
randomTag := tags[rand.Intn(len(tags))]
tagAlias := models.TagAlias{
Name: models.TagAliasName(groupName),
TagID: randomTag.Name,
}
tagAliases = append(tagAliases, tagAlias)
}
return tagAliases
}