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) LockSite(id uint32) error TryLockSites(ids []uint32) 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) }