package uploads import ( "context" "lmika.dev/lmika/weiro/models" "lmika.dev/lmika/weiro/providers/db" "lmika.dev/lmika/weiro/providers/uploadfiles" ) type Service struct { db *db.Provider up *uploadfiles.Provider pendingDir string } func New(db *db.Provider, up *uploadfiles.Provider, pendingDir string) *Service { return &Service{ db: db, up: up, pendingDir: pendingDir, } } func (s *Service) fetchSiteAndUser(ctx context.Context) (models.Site, models.User, error) { user, ok := models.GetUser(ctx) if !ok { return models.Site{}, models.User{}, models.UserRequiredError } site, ok := models.GetSite(ctx) if !ok { return models.Site{}, models.User{}, models.SiteRequiredError } if site.OwnerID != user.ID { return models.Site{}, models.User{}, models.PermissionError } return site, user, nil }