package main func (app *App) GetPlatforms() []Platform { platforms := []Platform{} query := ` SELECT id, name, url FROM platform; ` rows, err := app.DB.Queryx(query) if err != nil { Fatal(err, "GetPlatforms: Query failed") } for rows.Next() { var p Platform err = rows.StructScan(&p) if err != nil { Fatal(err, "GetPlatforms: StructScan failed") } platforms = append(platforms, p) } return platforms } func (app *App) GetLanguages() []Language { languages := []Language{} query := ` SELECT id, name FROM language; ` rows, err := app.DB.Queryx(query) if err != nil { Fatal(err, "GetLanguages: Query failed") } for rows.Next() { var l Language err = rows.StructScan(&l) if err != nil { Fatal(err, "GetLanguages: StructScan failed") } languages = append(languages, l) } return languages } func (app *App) GetUpdatePeriods() []UpdatePeriod { periods := []UpdatePeriod{} query := ` SELECT id, name FROM update_period; ` rows, err := app.DB.Queryx(query) if err != nil { Fatal(err, "GetUpdatePeriods: Query failed") } for rows.Next() { var p UpdatePeriod err = rows.StructScan(&p) if err != nil { Fatal(err, "GetUpdatePeriods: StructScan failed") } periods = append(periods, p) } return periods } func (app *App) GetOwnerID(owner *Owner) (*Owner, error) { query := `SELECT id, name, url FROM owner WHERE url = ?` err := app.DB.QueryRowx(query, owner.URL).StructScan(owner) if err != nil { Warn(err, "GetOwnerID: Query or StructScan failed") return &Owner{}, err } return owner, nil }