package store import ( "database/sql" "strings" ) type Experience struct { ID int `json:"id"` Company string `json:"company"` EmployeeType string `json:"employee_type"` Position string `json:"position"` Tasks []string `json:"tasks"` Tools string `json:"tools"` Years int `json:"years"` } type SQLiteExperienceStore struct { db *sql.DB } func NewSQLiteExperienceStore(db *sql.DB) *SQLiteExperienceStore { return &SQLiteExperienceStore{db: db} } func (s *SQLiteExperienceStore) GetAllExperiences() ([]Experience, error) { rows, err := s.db.Query("SELECT id, company, employee_type, position, tasks, tools, years FROM experience") if err != nil { return nil, err } defer rows.Close() var experience []Experience for rows.Next() { var e Experience var tasks sql.NullString if err := rows.Scan(&e.ID, &e.Company, &e.EmployeeType, &e.Position, &tasks, &e.Tools, &e.Years); err != nil { return nil, err } if tasks.Valid { e.Tasks = strings.Split(tasks.String, ",") } experience = append(experience, e) } return experience, nil }