1
0
Fork 1
mirror of https://github.com/0x2E/fusion.git synced 2025-06-09 09:34:58 +09:00

refactor: fetch item-list data by sveltekit load

This commit is contained in:
rook1e 2024-03-14 00:15:39 +08:00
parent c66559ac82
commit 79345d5f4e
No known key found for this signature in database
GPG key ID: C63289D731719BC0
13 changed files with 148 additions and 78 deletions

View file

@ -1,6 +1,6 @@
package server
type Paginate struct {
Count *int `query:"count" validate:"omitnil,min=0"`
Offset *int `query:"offset" validate:"omitnil,min=0"`
PageSize int `query:"page_size" validate:"omitnil,min=0"`
Page int `query:"page" validate:"omitnil,min=0"`
}

View file

@ -8,7 +8,7 @@ import (
//go:generate mockgen -destination=item_mock.go -source=item.go -package=server
type ItemRepo interface {
List(filter repo.ItemFilter, offset, count *int) ([]*model.Item, int, error)
List(filter repo.ItemFilter, page, pageSize int) ([]*model.Item, int, error)
Get(id uint) (*model.Item, error)
Delete(id uint) error
UpdateUnread(ids []uint, unread *bool) error
@ -32,7 +32,13 @@ func (i Item) List(req *ReqItemList) (*RespItemList, error) {
Unread: req.Unread,
Bookmark: req.Bookmark,
}
data, total, err := i.repo.List(filter, req.Offset, req.Count)
if req.Page == 0 {
req.Page = 1
}
if req.PageSize == 0 {
req.PageSize = 10
}
data, total, err := i.repo.List(filter, req.Page, req.PageSize)
if err != nil {
return nil, err
}