A website for my game dev stuff that supports chat, etc.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
zedshaw-games/data/crud.go

40 lines
817 B

package data
import (
"github.com/gofiber/fiber/v2"
_ "github.com/mattn/go-sqlite3"
"github.com/jmoiron/sqlx"
)
func SelectJson[T any](db *sqlx.DB, c *fiber.Ctx, err error, sql string, args ...interface{}) error {
var result []T
if err != nil { goto fail }
err = db.Select(&result, sql, args...)
if err != nil { goto fail }
return c.JSON(&result)
fail: return err
}
func GetJson[T any](db *sqlx.DB, c *fiber.Ctx, err error, sql string, args ...interface{}) error {
var result T
if err != nil { goto fail }
err = db.Get(&result, sql, args...)
if err != nil { goto fail }
return c.JSON(&result)
fail: return err
}
func Insert(db *sqlx.DB, err error, sql_query string, args ...interface{}) error {
if err != nil { return err }
db.MustExec(sql_query, args...)
return err
}