ioc

package
v1.11.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 29, 2026 License: MIT Imports: 54 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// BaseSet 基础设施 Provider 集合
	BaseSet = wire.NewSet(
		InitListener,
		InitMongoDB,
		InitMongoDBV2,
		InitEtcdClient,
		InitMQ,
		InitCrypto,
		InitMinioClient,
		storage.NewS3Storage,
	)

	AttributeSet = wire.NewSet(
		dao.NewAttributeDAO,
		dao.NewAttributeGroupDAO,
		repository.NewAttributeRepository,
		repository.NewAttributeGroupRepository,
		attrSvc.NewService,
		attribute.NewHandler,
		InitFieldSecureAttrChangeEventProducer,
		InitFieldDeleteEventProducer,
	)

	PluginSet = wire.NewSet(
		dao.NewPluginDAO,
		repository.NewPluginRepository,
		pluginSvc.NewService,
		plugin.NewHandler,
	)

	RelationSet = wire.NewSet(
		dao.NewRelationTypeDAO,
		dao.NewRelationModelDAO,
		dao.NewRelationResourceDAO,
		repository.NewRelationTypeRepository,
		repository.NewRelationModelRepository,
		repository.NewRelationResourceRepository,
		relationSvc.NewRelationTypeService,
		relationSvc.NewRelationModelService,
		relationSvc.NewRelationResourceService,
		relation.NewRelationTypeHandler,
	)

	ModelSet = wire.NewSet(
		dao.NewModelDAO,
		dao.NewModelGroupDAO,
		repository.NewModelRepository,
		repository.NewModelGroupRepository,
		modelSvc.NewModelService,
		modelSvc.NewMGService,
		model.NewHandler,
	)

	ResourceSet = wire.NewSet(
		dao.NewResourceDAO,
		repository.NewResourceRepository,
		resourceSvc.NewService,
		resource.NewHandler,
	)

	// WebSet Web 服务 Provider 集合
	WebSet = wire.NewSet(
		InitPolicySDK,
		InitPermSyncer,
		InitProviders,
		InitGinMiddlewares,
		InitWebServer,
		InitGrpcServer,
		InitRegistry,
		pluginserver.NewServer,

		BaseSet,
		AttributeSet,
		toolsSet,
		dataIoSet,
		PluginSet,
		RelationSet,
		ModelSet,
		ResourceSet,

		InitFieldSecureAttrChangeConsumer,
		InitFieldDeleteConsumer,
		InitTasks,

		InitDeleteModelDependencyCheckers,
		wire.Bind(new(modelSvc.IDefaultAttributeCreator), new(attrSvc.Service)),
	)
)

Functions

func InitCrypto added in v1.11.1

func InitCrypto() cryptox.Crypto

func InitDeleteModelDependencyCheckers added in v1.11.1

func InitDeleteModelDependencyCheckers(
	resourceSvc resourceSvc.Service,
	relationRMSvc relationSvc.RelationModelService,
) []modelSvc.IDeleteModelDependencyChecker

func InitEtcdClient

func InitEtcdClient() *clientv3.Client

func InitFieldDeleteConsumer added in v1.11.1

func InitFieldDeleteConsumer(q mq.MQ, svc resourceSvc.Service) (*resourceEvent.FieldDeleteConsumer, error)

func InitFieldDeleteEventProducer added in v1.11.1

func InitFieldDeleteEventProducer(q mq.MQ) (attrSvc.IFieldDeleteEventProducer, error)

func InitFieldSecureAttrChangeConsumer added in v1.11.1

func InitFieldSecureAttrChangeConsumer(q mq.MQ, svc resourceSvc.EncryptedSvc, crypto cryptox.Crypto) (*resourceEvent.FieldSecureAttrChangeConsumer, error)

func InitFieldSecureAttrChangeEventProducer added in v1.11.1

func InitFieldSecureAttrChangeEventProducer(q mq.MQ) (attrSvc.FieldSecureAttrChangeEventProducer, error)

func InitGinMiddlewares

func InitGinMiddlewares() []gin.HandlerFunc

func InitGrpcServer added in v1.9.0

func InitGrpcServer(
	registry registrysdk.Registry,
	pluginServer *pluginserver.Server,
) *grpcpkg.Server

InitGrpcServer 初始化 ecmdb 内部的 gRPC 服务端,并注册 pluginv1 服务

func InitListener added in v1.11.0

func InitListener() net.Listener

InitListener 初始化 HTTP 监听器

func InitMQ

func InitMQ() mq.MQ

func InitMinioClient added in v1.8.0

func InitMinioClient() *minio.Client

func InitMongoDB

func InitMongoDB() *mongox.Mongo

func InitMongoDBV2 added in v1.11.1

func InitMongoDBV2(db *mongox.Mongo) *mongox.DB

func InitPermSyncer added in v1.11.1

func InitPermSyncer() capability.Syncer

InitPermSyncer 初始化 EIAM 资产上报同步器

func InitPolicySDK added in v1.11.1

func InitPolicySDK() *sdk.SDK

InitPolicySDK 初始化 EIAM 鉴权 SDK

func InitProviders added in v1.11.1

func InitProviders() []capability.PermissionProvider

InitProviders 提供逻辑权限资源列表(此处默认为 nil,依赖自动发现)

func InitRedis

func InitRedis() redis.Cmdable

func InitRegistry added in v1.10.0

func InitRegistry(etcdClient *clientv3.Client) registry.Registry

InitRegistry 初始化统一的服务注册中心,注册 ecmdb 自己的 gRPC 信息

func InitWebServer

func InitWebServer(mdls []gin.HandlerFunc, sdk *sdk.SDK, syncer capability.Syncer, providers []capability.PermissionProvider,
	modelHdl *model.Handler, attributeHdl *attribute.Handler, resourceHdl *resource.Handler,
	rmHdl *relation.RelationTypeHandler,
	toolsHdl *tools.Handler,
	dataIOHdl *dataio.Handler, pluginHdl *plugin.Handler, listener net.Listener,
) *egin.Component

Types

type App

type App struct {
	Web        *egin.Component
	GrpcServer *grpcpkg.Server
	Tasks      []Task
}

func InitApp

func InitApp() (*App, error)

InitApp 初始化完整应用

func (*App) StartBackgroundTasks added in v1.11.1

func (a *App) StartBackgroundTasks(ctx context.Context)

type Task added in v1.11.1

type Task interface {
	Start(ctx context.Context)
}

func InitTasks added in v1.11.1

func InitTasks(
	fieldDeleteConsumer *resource.FieldDeleteConsumer,
	fieldSecretConsumer *resource.FieldSecureAttrChangeConsumer,

) []Task

InitTasks 初始化所有后台任务 NOTE: 新增后台任务时在此处注入,打通定时任务、后台作业补偿及全量大事件 Kafka 消费监听

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL