diff --git a/server/db/seed.go b/server/db/seed.go index b138d4a2..3d4f7cd9 100644 --- a/server/db/seed.go +++ b/server/db/seed.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "log" - "reflect" "time" "github.com/FachschaftMathPhysInfo/kummerkasten/auth" @@ -22,11 +21,6 @@ func SeedData(ctx context.Context, db *bun.DB) error { return err } - if envConf.Env != "DEV" { - fmt.Printf("Skipping test data seeding (ENV != DEV)") - return nil - } - if err := seedTestUsers(ctx, db); err != nil { return err } @@ -353,21 +347,31 @@ func createAdminUser(ctx context.Context, db *bun.DB) error { mail = defaultMail } - adminUser := new(models.User) + exists, err := db.NewSelect().Model((*models.User)(nil)).Where("mail = ?", mail).Exists(ctx) - err = db.NewSelect(). - Model(adminUser). - Where("mail = ?", mail). - Scan(ctx) if err != nil { + log.Printf("Error scanning for admin user: %v", err) return err } - if !reflect.ValueOf(adminUser).IsZero() { + if exists { log.Printf("Admin user with email %s already exists, skipping creation", mail) + + adminUser := new(models.User) + + err = db.NewSelect(). + Model(adminUser). + Where("mail = ?", mail). + Scan(ctx) + if err != nil { + return err + } + isStoredPasswordCorrectErr := auth.VerifyPassword(adminUser.Password, password) if isStoredPasswordCorrectErr != nil { + log.Print("New admin password detected, updating user") + _, err := db.NewDelete().Model((*models.Session)(nil)).Where("user_id = ?", adminUser.ID).Exec(ctx) if err != nil { diff --git a/server/graph/schema.resolvers.go b/server/graph/schema.resolvers.go index c4b0c6c6..18bf0427 100644 --- a/server/graph/schema.resolvers.go +++ b/server/graph/schema.resolvers.go @@ -926,7 +926,7 @@ func (r *mutationResolver) UpdateQuestionAnswerPair(ctx context.Context, id stri return qAP.ID, nil } -// UpdateQuestionAnswerPairBatchPositons is the resolver for the updateQuestionAnswerPairBatchPositons field. +// UpdateQuestionAnswerPairBatchPositions is the resolver for the updateQuestionAnswerPairBatchPositons field. func (r *mutationResolver) UpdateQuestionAnswerPairBatchPositions(ctx context.Context, questionAnswerPairs []*model.UpdateQuestionAnswerPairPosition) (bool, error) { amountQAPsInDB, err := r.DB.NewSelect().Model((*model.QuestionAnswerPair)(nil)).Count(ctx) if err != nil { @@ -1318,7 +1318,6 @@ func (r *queryResolver) LoginCheck(ctx context.Context, sid *string) (*model.Use } if sessions == nil { - log.Printf("Found no session for user with id: %v", *sid) return nil, nil }