diff --git a/backend/cmd/server/main.go b/backend/cmd/server/main.go index d78ea94..82595b5 100644 --- a/backend/cmd/server/main.go +++ b/backend/cmd/server/main.go @@ -44,7 +44,10 @@ func main() { userService := user.NewUserService(database, fs) // Admin user - userService.SetupAdminUser() + _, err = userService.SetupAdminUser() + if err != nil { + log.Fatal(err) + } // Set up router r := chi.NewRouter() diff --git a/backend/internal/db/user.go b/backend/internal/db/user.go index 830a12f..1e388dc 100644 --- a/backend/internal/db/user.go +++ b/backend/internal/db/user.go @@ -80,14 +80,20 @@ func (db *DB) GetUserByID(id int) (*models.User, error) { func (db *DB) GetUserByEmail(email string) (*models.User, error) { user := &models.User{} + var lastOpenedFilePath sql.NullString err := db.QueryRow(` SELECT id, email, display_name, password_hash, role, created_at, last_workspace_id, last_opened_file_path FROM users WHERE email = ?`, email). Scan(&user.ID, &user.Email, &user.DisplayName, &user.PasswordHash, &user.Role, &user.CreatedAt, - &user.LastWorkspaceID, &user.LastOpenedFilePath) + &user.LastWorkspaceID, &lastOpenedFilePath) if err != nil { return nil, err } + if lastOpenedFilePath.Valid { + user.LastOpenedFilePath = lastOpenedFilePath.String + } else { + user.LastOpenedFilePath = "" + } return user, nil } diff --git a/backend/internal/user/user.go b/backend/internal/user/user.go index 2f64e0d..ee23702 100644 --- a/backend/internal/user/user.go +++ b/backend/internal/user/user.go @@ -34,7 +34,7 @@ func (s *UserService) SetupAdminUser() (*models.User, error) { // Check if admin user exists adminUser, err := s.DB.GetUserByEmail(adminEmail) - if err == nil { + if adminUser != nil { return adminUser, nil // Admin user already exists }