Apparently for 2 weeks (yes 2 whole fucking weeks) I was using NamedExec wrong instead of MustExec so inserts haven't worked since then. Other than that, this is a more cleaned up MVC style setup than before.

This commit is contained in:
Zed A. Shaw 2025-06-22 02:48:02 -04:00
parent 1785a8e4f5
commit bac4472c3a
5 changed files with 127 additions and 93 deletions

View file

@ -1,69 +0,0 @@
package tools
import (
"log"
"github.com/gofiber/fiber/v2"
_ "github.com/mattn/go-sqlite3"
"github.com/jmoiron/sqlx"
"github.com/go-playground/validator/v10"
)
func SelectJson[T any](db *sqlx.DB, c *fiber.Ctx, err error, sql string, args ...interface{}) error {
if(err != nil) {
log.Fatalln(err)
}
var result []T
err = db.Select(&result, sql, args...)
if(err != nil) {
log.Fatalln(err);
}
return c.JSON(&result);
}
func GetJson[T any](db *sqlx.DB, c *fiber.Ctx, err error, sql string, args ...interface{}) error {
if(err != nil) {
log.Fatalln(err)
}
var result T
err = db.Get(&result, sql, args...)
if(err != nil) {
log.Fatalln(err);
}
return c.JSON(&result);
}
func ReceivePost[T any](c *fiber.Ctx) (*T, error) {
var result *T
result = new(T)
if err := c.BodyParser(result); err != nil {
log.Println(err);
return result, err
}
var validate *validator.Validate
validate = validator.New(validator.WithRequiredStructEnabled())
if err := validate.Struct(result); err != nil {
validationErrors := err.(validator.ValidationErrors)
log.Println(validationErrors)
return result, err
}
return result, nil
}
func Insert(db *sqlx.DB, err error, sql_query string, args ...interface{}) error {
if err != nil {
log.Println(err)
return err
}
_, exec_err := db.NamedExec(sql_query, args)
return exec_err
}