diff --git a/main.go b/main.go index a50d8fb..30471e2 100644 --- a/main.go +++ b/main.go @@ -58,8 +58,7 @@ func main() { }) app.Post("/api/link", func (c *fiber.Ctx) error { - link, err := tools.GetThing[Link](c) - + link, err := tools.ReceivePost[Link](c) if(err != nil) { log.Println(err) c.Redirect("/live/") @@ -67,14 +66,14 @@ func main() { sql, args, err := sq.Insert("stream_link").Columns("stream_id", "url", "description").Values(link.StreamId, link.Url, link.Description).ToSql() + err = tools.Insert(db, err, sql, args...) + if err != nil { log.Println(err) + c.Redirect("/live/") + } else { return c.Redirect("/live/") } - - db.MustExec(sql, args...) - - return c.Redirect("/live/") }) app.Static("/", "./public") diff --git a/tools/tools.go b/tools/tools.go index 7a82e05..d604bd4 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -37,7 +37,7 @@ func GetJson[T any](db *sqlx.DB, c *fiber.Ctx, err error, sql string, args ...in return c.JSON(&result); } -func GetThing[T any](c *fiber.Ctx) (*T, error) { +func ReceivePost[T any](c *fiber.Ctx) (*T, error) { var result *T result = new(T) @@ -57,3 +57,12 @@ func GetThing[T any](c *fiber.Ctx) (*T, error) { return result, nil } + +func Insert(db *sqlx.DB, err error, sql string, args ...interface{}) error { + if err != nil { + log.Println(err) + return err + } + + return db.MustExec(sql, args...) +}