package interfaces

import (
	"context"

	"github.com/elastic/go-elasticsearch/v7"
	"github.com/loveuer/uzone/pkg/cache"
	"gorm.io/gorm"
)

type Uzone interface {
	Debug() bool
	UseCtx() context.Context
	UseDB(ctx ...context.Context) *gorm.DB
	UseCache() cache.Cache
	UseES() *elasticsearch.Client
	UseLogger(ctxs ...context.Context) Logger
}