package helpers import ( "errors" "time" "git.readonly.ch/bouzoure/popvaud-people/models" "gorm.io/gorm" ) func FirstAccountCheck() (bool, error) { db, err := GetDatabase() if err != nil { return false, err } var user models.User result := db.First(&user, "is_admin = 1") if errors.Is(result.Error, gorm.ErrRecordNotFound) { return false, nil } if result.Error != nil { return false, result.Error } return true, nil } func FirstAccountCreate() error { db, err := GetDatabase() if err != nil { return err } password, err := HashPassword("password") if err != nil { return err } user := models.User{ Name: "Admin", Email: "admin@invalid.tld", Password: password, IsAdmin: true, } result := db.Create(&user) if result.Error != nil { return result.Error } return nil } func UserExistsAndIsActive(id int) (bool, error) { db, err := GetDatabase() if err != nil { return false, err } var user models.User result := db.First(&user, "id = ? AND (disabled_at IS NULL OR disabled_at <= ?)", id, time.Now()) if errors.Is(result.Error, gorm.ErrRecordNotFound) { return false, nil } if result.Error != nil { return false, result.Error } return true, nil }