package dep

import (
	"kpt-pasture/config"
	"kpt-pasture/module/backend"
	"kpt-pasture/module/consumer"
	"kpt-pasture/module/crontab"
	"kpt-pasture/service/asynqsvc"
	"kpt-pasture/service/redis"
	"kpt-pasture/service/sso"
	"kpt-pasture/service/wechat"
	"kpt-pasture/store/kptstore"

	"gitee.com/xuyiping_admin/pkg/di"
)

// Global 全局所有的依赖
// 除了:
// * cmd
// * http
// * grpc
func Global() di.HubOption {
	return di.Options(Options()...)
}

func Options() []di.HubOption {
	return []di.HubOption{
		// 基础依赖
		config.Module,
		// store
		kptstore.Module,
		backend.Module,
		sso.Module,
		wechat.Module,
		asynqsvc.Module,
		consumer.Module,
		redis.Module,
		crontab.Module,
	}
}