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.
43 lines
925 B
43 lines
925 B
package api
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
_ "github.com/mattn/go-sqlite3"
|
|
sq "github.com/Masterminds/squirrel"
|
|
|
|
"MY/webapp/data"
|
|
. "MY/webapp/common"
|
|
)
|
|
|
|
func GetApiFeed(c *fiber.Ctx) error {
|
|
page := c.QueryInt("page", 0)
|
|
if page < 0 { page = 0 }
|
|
|
|
sql, args, err := sq.Select("*").
|
|
Limit(2).
|
|
Offset(uint64(2 * page)).
|
|
From("message").
|
|
Where(sq.Eq{"user_id": c.Params("user_id")}).ToSql()
|
|
|
|
if err != nil { return IfErrNil(err, c) }
|
|
|
|
err = data.SelectJson[data.Message](c, err, sql, args...)
|
|
|
|
return IfErrNil(err, c)
|
|
}
|
|
|
|
|
|
func GetApiReplies(c *fiber.Ctx) error {
|
|
message_id := c.Params("message_id")
|
|
|
|
sql, args, err := sq.Select("*").From("message").
|
|
Where(sq.Eq{"replying_to": message_id}).ToSql()
|
|
|
|
log.Println("SQL", sql, args);
|
|
if err != nil { return IfErrNil(err, c) }
|
|
|
|
err = data.SelectJson[data.Message](c, err, sql, args...)
|
|
return IfErrNil(err, c)
|
|
}
|
|
|