39 lines
799 B
Go
39 lines
799 B
Go
package models
|
|
|
|
type Category struct {
|
|
CatID int
|
|
CatDesc string
|
|
}
|
|
|
|
func GetCategories() ([]*Category, error) {
|
|
rows, err := db.Query("SELECT * FROM categories")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
|
|
cats := make([]*Category, 0)
|
|
for rows.Next() {
|
|
cat := new(Category)
|
|
err := rows.Scan(&cat.CatID, &cat.CatDesc)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
cats = append(cats, cat)
|
|
}
|
|
if err = rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return cats, nil
|
|
}
|
|
|
|
func AddCategory() error {
|
|
sqlStat := "INSERT INTO categories (catdesc) VALUES ($1) RETURNING uid"
|
|
var uid int
|
|
err := db.QueryRow(sqlStat).Scan(&uid)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|