28 lines
575 B
Go
28 lines
575 B
Go
package quote
|
|
|
|
import (
|
|
"github.com/labstack/echo/v4"
|
|
"sh.org.ru/pkg/model"
|
|
"sh.org.ru/pkg/tpl"
|
|
)
|
|
|
|
func (h *Handler) Index(c echo.Context) error {
|
|
p := &Pagination{}
|
|
if err := c.Bind(p); err != nil {
|
|
return err
|
|
}
|
|
|
|
quotes := make([]model.Quote, 0, 20)
|
|
count, err := h.db.NewSelect().
|
|
Model((*model.Quote)(nil)).
|
|
Order("id DESC").
|
|
Where("approved = ?", true).
|
|
Limit(20).
|
|
Offset(p.Page*20).
|
|
ScanAndCount(c.Request().Context(), "es)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return tpl.List(quotes, p.Page, count).Render(c.Request().Context(), c.Response())
|
|
}
|