Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttributeGroupRepository ¶
type AttributeGroupRepository interface {
// CreateAttributeGroup 创建属性组
CreateAttributeGroup(ctx context.Context, req domain.AttributeGroup) (int64, error)
// BatchCreateAttributeGroup 批量创建组
BatchCreateAttributeGroup(ctx context.Context, ags []domain.AttributeGroup) ([]domain.AttributeGroup, error)
// ListAttributeGroup 根据模型唯一标识,获取组信息
ListAttributeGroup(ctx context.Context, modelUid string) ([]domain.AttributeGroup, error)
// ListAttributeGroupByIds 根据 IDS 获取组信息
ListAttributeGroupByIds(ctx context.Context, ids []int64) ([]domain.AttributeGroup, error)
// DeleteAttributeGroup 删除属性组
DeleteAttributeGroup(ctx context.Context, id int64) (int64, error)
// RenameAttributeGroup 重命名属性组
RenameAttributeGroup(ctx context.Context, id int64, name string) (int64, error)
// GetMaxSortKeyByModuleUid 获取分组下的最大 SortKey
GetMaxSortKeyByModuleUid(ctx context.Context, modelUid string) (int64, error)
// UpdateSort 更新属性组排序
UpdateSort(ctx context.Context, id int64, sortKey int64) error
// BatchUpdateSort 批量更新属性组排序
BatchUpdateSort(ctx context.Context, items []domain.AttributeGroupSortItem) error
}
func NewAttributeGroupRepository ¶
func NewAttributeGroupRepository(dao dao.AttributeGroupDAO) AttributeGroupRepository
type AttributeRepository ¶
type AttributeRepository interface {
// CreateAttribute 创建模型属性字段
CreateAttribute(ctx context.Context, req domain.Attribute) (int64, error)
// BatchCreateAttribute 批量创建模型属性字段
BatchCreateAttribute(ctx context.Context, attrs []domain.Attribute) error
// SearchAttributeFieldsByModelUid 根据模型唯一值,排除安全字段
SearchAttributeFieldsByModelUid(ctx context.Context, modelUid string) ([]string, error)
// SearchAttributeFieldsBySecure 根据模型唯一值,仅展示安全字段
SearchAttributeFieldsBySecure(ctx context.Context, modelUid []string) (map[string][]string, error)
// ListAttributes 根据模型唯一值,搜索所有字段
ListAttributes(ctx context.Context, modelUID string) ([]domain.Attribute, error)
// Total 根据模型唯一值,查看字段数量
Total(ctx context.Context, modelUID string) (int64, error)
// DeleteAttribute 根据 ID 删除模型字段
DeleteAttribute(ctx context.Context, id int64) (int64, error)
// CustomAttributeFieldColumns 自定义展示字段
CustomAttributeFieldColumns(ctx context.Context, modelUid string, customField []string) (int64, error)
// CustomAttributeFieldColumnsReverse 变更顺序
CustomAttributeFieldColumnsReverse(ctx context.Context, modelUid string, customField []string) (int64, error)
// ListAttributePipeline 根据模型字段分组,进行聚合返回
ListAttributePipeline(ctx context.Context, modelUid string) ([]domain.AttributePipeline, error)
// UpdateAttribute 修改属性
UpdateAttribute(ctx context.Context, req domain.Attribute) (int64, error)
// DetailAttribute 根据 ID 查看详情属性
DetailAttribute(ctx context.Context, id int64) (domain.Attribute, error)
// DeleteByGroupId 根据分组ID删除所有属性
DeleteByGroupId(ctx context.Context, groupId int64) (int64, error)
// ListByGroupID 根据分组ID获取属性列表(按 SortKey 排序)
ListByGroupID(ctx context.Context, groupId int64) ([]domain.Attribute, error)
// GetMaxSortKeyByGroupID 获取分组下的最大 SortKey
GetMaxSortKeyByGroupID(ctx context.Context, groupId int64) (int64, error)
// UpdateSort 更新属性的分组和排序
UpdateSort(ctx context.Context, id, groupId, sortKey int64) error
// BatchUpdateSortKey 批量更新属性的 SortKey
BatchUpdateSortKey(ctx context.Context, items []domain.AttributeSortItem) error
}
func NewAttributeRepository ¶
func NewAttributeRepository(dao dao.AttributeDAO) AttributeRepository
type MGRepository ¶
type MGRepository interface {
// CreateModelGroup 创建模型分组
CreateModelGroup(ctx context.Context, req domain.ModelGroup) (int64, error)
// BatchCreate 批量创建模型分组
BatchCreate(ctx context.Context, req []domain.ModelGroup) ([]domain.ModelGroup, error)
// GetByNames 根据名称查询模型组
GetByNames(ctx context.Context, names []string) ([]domain.ModelGroup, error)
// GetByIDs 根据 ID 查询模型组
GetByIDs(ctx context.Context, ids []int64) ([]domain.ModelGroup, error)
// GetByName 根据名称查询模型组
GetByName(ctx context.Context, name string) (domain.ModelGroup, error)
// List 获取模型组列表
List(ctx context.Context, offset, limit int64) ([]domain.ModelGroup, error)
// Total 获取模型组数量
Total(ctx context.Context) (int64, error)
// DeleteModelGroup 根据 ID 删除模型组
DeleteModelGroup(ctx context.Context, id int64) (int64, error)
// Rename 重命名分组
Rename(ctx context.Context, id int64, name string) (int64, error)
}
func NewModelGroupRepository ¶
func NewModelGroupRepository(dao dao.ModelGroupDAO) MGRepository
type ModelRepository ¶
type ModelRepository interface {
Create(ctx context.Context, req domain.Model) (int64, error)
FindById(ctx context.Context, id int64) (domain.Model, error)
GetByUid(ctx context.Context, uid string) (domain.Model, error)
GetByUids(ctx context.Context, uids []string) ([]domain.Model, error)
List(ctx context.Context, offset, limit int64) ([]domain.Model, error)
ListAll(ctx context.Context) ([]domain.Model, error)
Total(ctx context.Context) (int64, error)
ListByGroupIds(ctx context.Context, mgids []int64) ([]domain.Model, error)
DeleteById(ctx context.Context, id int64) (int64, error)
DeleteByUid(ctx context.Context, modelUid string) (int64, error)
// CountByGroupId 获取指定组下的模型数量
CountByGroupId(ctx context.Context, GroupId int64) (int64, error)
}
func NewModelRepository ¶
func NewModelRepository(dao dao.ModelDAO) ModelRepository
type PluginRepository ¶
type PluginRepository interface {
// UpsertPlugin 按插件 UID 创建或更新插件定义,并保留已有自增 ID。
UpsertPlugin(ctx context.Context, p domain.Plugin) error
// UpsertBinding 按绑定 UID 创建或更新插件和模型的输入映射关系。
UpsertBinding(ctx context.Context, b domain.PluginBinding) error
// UpdateBindingEnabled 更新绑定启停状态。
UpdateBindingEnabled(ctx context.Context, uid string, enabled bool) error
// DeleteBinding 删除插件绑定。
DeleteBinding(ctx context.Context, uid string) error
// GetBinding 根据绑定 UID 查询插件绑定。
GetBinding(ctx context.Context, uid string) (domain.PluginBinding, error)
// GetPlugin 根据插件 UID 查询插件定义。
GetPlugin(ctx context.Context, uid string) (domain.Plugin, error)
// ListPlugins 查询插件定义列表。
ListPlugins(ctx context.Context) ([]domain.Plugin, error)
// ListBindingsByPluginID 查询插件绑定列表。
ListBindingsByPluginID(ctx context.Context, pluginID string) ([]domain.PluginBinding, error)
// ListBindingsByPluginIDs 批量查询插件绑定列表。
ListBindingsByPluginIDs(ctx context.Context, pluginIDs []string) ([]domain.PluginBinding, error)
// ListEnabledBindingsByModelUID 查询指定模型启用中的插件绑定。
ListEnabledBindingsByModelUID(ctx context.Context, modelUID string) ([]domain.PluginBinding, error)
// ListEnabledBindingsByModelUIDs 批量查询指定模型启用中的插件绑定。
ListEnabledBindingsByModelUIDs(ctx context.Context, modelUIDs []string) ([]domain.PluginBinding, error)
}
func NewPluginRepository ¶
func NewPluginRepository(dao dao.PluginDAO) PluginRepository
type RelationModelRepository ¶
type RelationModelRepository interface {
// CreateModelRelation 创建模型关联关系
CreateModelRelation(ctx context.Context, req domain.ModelRelation) (int64, error)
// DeleteModelRelation 删除模型关联关系
DeleteModelRelation(ctx context.Context, id int64) (int64, error)
// BatchCreate 批量创建模型关联关系
BatchCreate(ctx context.Context, relations []domain.ModelRelation) error
// GetByRelationNames 根据唯一标识获取数据
GetByRelationNames(ctx context.Context, names []string) ([]domain.ModelRelation, error)
// ListRelationByModelUid 根据模型 UID 获取。支持分页
ListRelationByModelUid(ctx context.Context, offset, limit int64, modelUid string) ([]domain.ModelRelation, error)
// TotalByModelUid 根据模型 UID 获取数量
TotalByModelUid(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)
// GetByID 根据 ID 获取数据
GetByID(ctx context.Context, id int64) (domain.ModelRelation, error)
// UpdateModelRelation 更新模型关联关系
UpdateModelRelation(ctx context.Context, req domain.ModelRelation) (int64, error)
}
RelationModelRepository 模型关联关系仓储接口
func NewRelationModelRepository ¶
func NewRelationModelRepository(dao dao.RelationModelDAO) RelationModelRepository
type RelationResourceRepository ¶
type RelationResourceRepository interface {
// CreateResourceRelation 创建资源关联关系
CreateResourceRelation(ctx context.Context, req domain.ResourceRelation) (int64, error)
// ListSrcResources 查询资源列表
ListSrcResources(ctx context.Context, modelUid string, id int64) ([]domain.ResourceRelation, error)
// ListDstResources 根据目标端查询资源关联列表
ListDstResources(ctx context.Context, modelUid string, id int64) ([]domain.ResourceRelation, error)
// TotalSrc 根据源端统计关联数量
TotalSrc(ctx context.Context, modelUid string, id int64) (int64, error)
// TotalDst 根据目标端统计关联数量
TotalDst(ctx context.Context, modelUid string, id int64) (int64, error)
// ListSrcAggregated 聚合查询关联列表
ListSrcAggregated(ctx context.Context, modelUid string, id int64) ([]domain.ResourceAggregatedAssets, error)
// ListDstAggregated 聚合查询目标关联列表
ListDstAggregated(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)
// CountByRelationTypeUID 根据关联类型 UID 获取数量
CountByRelationTypeUID(ctx context.Context, uid string) (int64, error)
// CountByRelationName 根据关联名称获取数量
CountByRelationName(ctx context.Context, name string) (int64, error)
// DeleteResourceRelation 删除资源关联关系
DeleteResourceRelation(ctx context.Context, id int64) (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)
// ListRecursiveSrc 递归查询下游关联资产列表(正向递归)
ListRecursiveSrc(ctx context.Context, modelUid string, id int64, maxDepth int) ([]domain.ResourceRelation, error)
// ListRecursiveDst 递归查询上游关联资产列表(反向递归)
ListRecursiveDst(ctx context.Context, modelUid string, id int64, maxDepth int) ([]domain.ResourceRelation, error)
}
RelationResourceRepository 资源实例关联关系仓储接口
func NewRelationResourceRepository ¶
func NewRelationResourceRepository(dao dao.RelationResourceDAO) RelationResourceRepository
type RelationTypeRepository ¶
type RelationTypeRepository interface {
// Create 创建关联类型
Create(ctx context.Context, req domain.RelationType) (int64, error)
// BatchCreate 批量创建
BatchCreate(ctx context.Context, rts []domain.RelationType) error
// GetByUids 根据 UID 获取关联类型
GetByUids(ctx context.Context, uids []string) ([]domain.RelationType, error)
// List 关联列表
List(ctx context.Context, offset, limit int64) ([]domain.RelationType, error)
// Total 数量
Total(ctx context.Context) (int64, error)
// Update 更新关联类型
Update(ctx context.Context, req domain.RelationType) (int64, error)
// Delete 删除关联类型
Delete(ctx context.Context, id int64) (int64, error)
// GetByID 根据 ID 获取关联类型
GetByID(ctx context.Context, id int64) (domain.RelationType, error)
}
RelationTypeRepository 关联关系类型仓储接口
func NewRelationTypeRepository ¶
func NewRelationTypeRepository(dao dao.RelationTypeDAO) RelationTypeRepository
type ResourceRepository ¶
type ResourceRepository interface {
// CreateResource 创建资产
CreateResource(ctx context.Context, req domain.Resource) (int64, error)
// FindResourceById 根据 ID 获取资产信息
FindResourceById(ctx context.Context, fields []string, id int64) (domain.Resource, error)
// ListResource 获取指定模型的资产列表
ListResource(ctx context.Context, fields []string, modelUid string, offset, limit int64) ([]domain.Resource, error)
// TotalByModelUid 获取指定模型的资产总数
TotalByModelUid(ctx context.Context, modelUid string) (int64, error)
// SetCustomField 设置指定资产的自定义字段值
SetCustomField(ctx context.Context, id int64, field string, data interface{}) (int64, error)
// UnsetCustomField 抹除指定模型下所有资产的自定义字段(平铺键)
UnsetCustomField(ctx context.Context, modelUid string, fieldUid string) (int64, error)
// ListResourcesByIds 根据 ID 列表批量获取资产
ListResourcesByIds(ctx context.Context, fields []string, ids []int64) ([]domain.Resource, error)
// DeleteResource 删除指定资产
DeleteResource(ctx context.Context, id int64) (int64, error)
// ListExcludeAndFilterResourceByIds 排除指定 ID 并根据条件过滤资产列表
ListExcludeAndFilterResourceByIds(ctx context.Context, fields []string, modelUid string, offset, limit int64,
ids []int64, filter domain.Condition) ([]domain.Resource, error)
// TotalExcludeAndFilterResourceByIds 排除指定 ID 并根据条件统计资产总数
TotalExcludeAndFilterResourceByIds(ctx context.Context, modelUid string, ids []int64, filter domain.Condition) (int64, error)
// Search 全局搜索资产
Search(ctx context.Context, text string) ([]domain.SearchResource, error)
// FindSecureData 查找指定资产的加密字段数据
FindSecureData(ctx context.Context, id int64, fieldUid string) (string, error)
// UpdateResource 更新资产数据
UpdateResource(ctx context.Context, resource domain.Resource) (int64, error)
// CountByModelUids 统计多个模型的资产数量
CountByModelUids(ctx context.Context, modelUids []string) (map[string]int, error)
// BatchUpdateResources 批量更新资产
BatchUpdateResources(ctx context.Context, resources []domain.Resource) (int64, error)
// BatchCreateOrUpdate 批量创建或更新资产
// 基于 model_uid + name 进行 upsert,name 已存在则更新,不存在则创建
BatchCreateOrUpdate(ctx context.Context, resources []domain.Resource) error
// ListBeforeUtime 获取指定时间前的资产列表
ListBeforeUtime(ctx context.Context, utime int64, fields []string, modelUid string,
offset, limit int64) ([]domain.Resource, error)
// ListResourcesWithFilters 根据复杂筛选条件获取资产列表
ListResourcesWithFilters(ctx context.Context, fields []string, modelUid string, ids []int64, offset, limit int64,
filterGroups []domain.FilterGroup) ([]domain.Resource, error)
// TotalResourcesWithFilters 根据复杂筛选条件统计资产数量
TotalResourcesWithFilters(ctx context.Context, modelUid string, ids []int64, filterGroups []domain.FilterGroup) (int64, error)
}
func NewResourceRepository ¶
func NewResourceRepository(dao dao.ResourceDAO) ResourceRepository
Source Files
¶
Click to show internal directories.
Click to hide internal directories.