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.
35 lines
805 B
35 lines
805 B
package api
|
|
|
|
import (
|
|
"github.com/gofiber/fiber/v2"
|
|
_ "github.com/mattn/go-sqlite3"
|
|
sq "github.com/Masterminds/squirrel"
|
|
|
|
"MY/webapp/data"
|
|
. "MY/webapp/common"
|
|
)
|
|
|
|
func GetApiMessage(c *fiber.Ctx) error {
|
|
sql, args, err := sq.Select("*").From("message").
|
|
Where(sq.Eq{"id": c.Params("id")}).ToSql()
|
|
|
|
if err != nil { return IfErrNil(err, c) }
|
|
|
|
err = data.GetJson[data.Message](c, err, sql, args...)
|
|
|
|
return IfErrNil(err, c)
|
|
}
|
|
|
|
func PostApiMessage(c *fiber.Ctx) error {
|
|
message, err := ReceivePost[data.Message](c)
|
|
if err != nil { return IfErrNil(err, c) }
|
|
|
|
sql, args, err := sq.Insert("message").
|
|
Columns("text", "user_id").
|
|
Values(message.Text, 1).ToSql()
|
|
|
|
err = data.Exec(err, sql, args...)
|
|
if err != nil { return IfErrNil(err, c) }
|
|
|
|
return c.Redirect("/feed/")
|
|
}
|
|
|