package service

import "nms_nbi/src/modules/network_element/model"

// INeSoftware 网元软件包信息 服务层接口
type INeSoftware interface {
	// SelectPage 根据条件分页查询字典类型
	SelectPage(query map[string]any) map[string]any

	// SelectList 根据实体查询
	SelectList(neSoftware model.NeSoftware) []model.NeSoftware

	// SelectById 通过ID查询
	SelectById(id string) model.NeSoftware

	// Insert 新增信息
	Insert(neSoftware model.NeSoftware) string

	// Update 修改信息
	Update(neSoftware model.NeSoftware) int64

	// DeleteByIds 批量删除信息
	DeleteByIds(ids []string) (int64, error)

	// SelectByVersionAndPath 通过文件版本和路径查询
	SelectByVersionAndPath(version, path string) model.NeSoftware

	// CheckUniqueTypeAndFileNameAndVersion 校验网元类型和文件名版本是否唯一
	CheckUniqueTypeAndFileNameAndVersion(neType, fileName, version, id string) bool

	// Install 安装软件包
	Install(neSoftware model.NeSoftware) (string, error)
}
