Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrDependency = errors.New("存在关联数据")
Functions ¶
This section is empty.
Types ¶
type RelationModelService ¶
type RelationModelService interface {
// CreateModelRelation 创建模型关联关系
CreateModelRelation(ctx context.Context, req domain.ModelRelation) (int64, error)
// BatchCreate 批量创建模型关联关系
BatchCreate(ctx context.Context, relations []domain.ModelRelation) error
// DeleteModelRelation 删除模型关联关系
DeleteModelRelation(ctx context.Context, id int64) (int64, error)
// GetByRelationNames 根据唯一标识获取数据
GetByRelationNames(ctx context.Context, names []string) ([]domain.ModelRelation, error)
// ListModelUidRelation 根据模型 UID 获取。支持分页
ListModelUidRelation(ctx context.Context, offset, limit int64, modelUid string) (
[]domain.ModelRelation, int64, error)
// CountByModelUid 根据模型 UID 获取数量
CountByModelUid(ctx context.Context, modelUid string) (int64, error)
// FindModelDiagramBySrcUids 查询模型关联关系,绘制拓扑图
FindModelDiagramBySrcUids(ctx context.Context, srcUids []string) ([]domain.ModelDiagram, error)
// CountByRelationTypeUID 根据关联类型 UID 获取数量
CountByRelationTypeUID(ctx context.Context, uid string) (int64, error)
// UpdateModelRelation 更新模型关联关系
UpdateModelRelation(ctx context.Context, req domain.ModelRelation) (int64, error)
// CheckBeforeDelete 检查模型是否被关联配置使用,有则拦截
CheckBeforeDelete(ctx context.Context, modelUid string) error
}
RelationModelService 模型关联关系服务接口
func NewRelationModelService ¶
func NewRelationModelService(repo repository.RelationModelRepository, resourceRepo repository.RelationResourceRepository) RelationModelService
type RelationResourceService ¶
type RelationResourceService interface {
// CreateResourceRelation 创建资源关联关系
CreateResourceRelation(ctx context.Context, req domain.ResourceRelation) (int64, error)
// ListSrcResources 查询资源关联列表
ListSrcResources(ctx context.Context, modelUid string, id int64) ([]domain.ResourceRelation, int64, error)
// ListDstResources 查询目标端关联资产列表
ListDstResources(ctx context.Context, modelUid string, id int64) ([]domain.ResourceRelation, int64, error)
// ListDiagram 通过 model_uid 和 resource_id 查询 SRC 和 DST 的数据
ListDiagram(ctx context.Context, modelUid string, id int64) (domain.ResourceDiagram, int64, error)
// ListDstAggregated 聚合查询目标关联列表
ListDstAggregated(ctx context.Context, modelUid string, id int64) ([]domain.ResourceAggregatedAssets, error)
// ListSrcAggregated 聚合查询源端关联列表
ListSrcAggregated(ctx context.Context, modelUid string, id int64) ([]domain.ResourceAggregatedAssets, error)
// ListSrcRelated 查询当前已经关联的数据,新增资源关联使用
ListSrcRelated(ctx context.Context, modelUid, relationName string, id int64) ([]int64, error)
// ListDstRelated 查询当前已经关联的目标数据,新增资源关联使用
ListDstRelated(ctx context.Context, modelUid, relationName string, id int64) ([]int64, error)
// DeleteResourceRelation 删除资源关联关系
DeleteResourceRelation(ctx context.Context, id int64) (int64, error)
// DeleteResourceRelationByName 根据关联名称和资源信息删除资产关联关系
DeleteResourceRelationByName(ctx context.Context, resourceId int64, modelUid, relationName string) (int64, error)
// DeleteSrcRelation 删除源端关系
DeleteSrcRelation(ctx context.Context, resourceId int64, modelUid, relationName string) (int64, error)
// DeleteDstRelation 删除目标端关系
DeleteDstRelation(ctx context.Context, resourceId int64, modelUid, relationName string) (int64, error)
// CountByRelationTypeUID 根据关联类型 UID 获取数量
CountByRelationTypeUID(ctx context.Context, uid string) (int64, error)
// ListRecursiveDiagram 递归获取多级关联拓扑(支持最大深度)
ListRecursiveDiagram(ctx context.Context, modelUid string, id int64, maxDepth int) (domain.ResourceDiagram, error)
}
RelationResourceService 资源实例关联关系服务接口
func NewRelationResourceService ¶
func NewRelationResourceService(repo repository.RelationResourceRepository, modelRepo repository.RelationModelRepository, resourceRepo repository.ResourceRepository) RelationResourceService
type RelationTypeService ¶
type RelationTypeService interface {
// Create 创建关联类型
Create(ctx context.Context, req domain.RelationType) (int64, error)
// GetByUids 根据 UID 获取关联类型
GetByUids(ctx context.Context, uids []string) ([]domain.RelationType, error)
// BatchCreate 批量创建
BatchCreate(ctx context.Context, rts []domain.RelationType) error
// List 获取关联类型列表
List(ctx context.Context, offset, limit int64) ([]domain.RelationType, int64, error)
// Update 更新关联类型
Update(ctx context.Context, req domain.RelationType) (int64, error)
// Delete 删除关联类型
Delete(ctx context.Context, id int64) (int64, error)
}
RelationTypeService 关联类型服务接口
func NewRelationTypeService ¶
func NewRelationTypeService(repo repository.RelationTypeRepository, modelRepo repository.RelationModelRepository, resourceRepo repository.RelationResourceRepository) RelationTypeService
Click to show internal directories.
Click to hide internal directories.