package site type ListQuery struct { Q string Page int Size int } type Page struct { Items []Site Total int } type Repository interface { List() ([]Site, error) Find(query ListQuery) (Page, error) Get(id uint32) (Site, error) GetByKey(key string) (Site, error) GetDefault() (Site, error) Create(site Site) (Site, error) Update(site Site) (Site, error) SetDefault(id uint32) (Site, error) DeleteMovingArticles(id uint32, reassignTo *uint32) error ClearImage(imageID uint32) ([]uint32, error) AssignImage(siteIDs []uint32, imageID uint32) error RepointImage(fromImageIDs []uint32, toImageID uint32) (int, error) }