parent
24d5450546
commit
4bd6cfc8ce
@ -0,0 +1,43 @@ |
||||
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) |
||||
} |
@ -0,0 +1,35 @@ |
||||
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/") |
||||
} |
@ -0,0 +1,11 @@ |
||||
package api |
||||
|
||||
import ( |
||||
"github.com/gofiber/fiber/v2" |
||||
"os" |
||||
) |
||||
|
||||
func GetApiRestart(c *fiber.Ctx) error { |
||||
os.Exit(0) |
||||
return c.Redirect("/") |
||||
} |
Loading…
Reference in new issue