package http

import (
	"database/sql"
	"net/http"

	"github.com/example/storage-appliance/internal/infra/osexec"
	"github.com/example/storage-appliance/internal/service"
	"github.com/example/storage-appliance/internal/service/storage"
)

// App contains injected dependencies for handlers.
type App struct {
	DB         *sql.DB
	DiskSvc    service.DiskService
	ZFSSvc     service.ZFSService
	JobRunner  service.JobRunner
	HTTPClient *http.Client
	StorageSvc *storage.StorageService
	ShareSvc   service.SharesService
	ISCSISvc   service.ISCSIService
	ObjectSvc  service.ObjectService
	Runner     osexec.Runner
}
