69 lines
1.3 KiB
Go
69 lines
1.3 KiB
Go
package info
|
|
|
|
import (
|
|
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/pub/xjpubmodel"
|
|
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/pub/xjpubservice"
|
|
)
|
|
|
|
type sInfo struct {
|
|
Info xjpubmodel.InfoModel
|
|
}
|
|
|
|
func NewInfo() *sInfo {
|
|
return &sInfo{
|
|
Info: xjpubmodel.InfoModel{},
|
|
}
|
|
}
|
|
|
|
func init() {
|
|
xjpubservice.RegisterInfo(NewInfo())
|
|
}
|
|
|
|
func (s *sInfo) GetInfo() *xjpubmodel.InfoModel {
|
|
return &s.Info
|
|
}
|
|
|
|
func (s *sInfo) SetInfoName(Type, Name, Title, Description string) {
|
|
if s.Info.Name == "" {
|
|
s.Info.Type = Type
|
|
s.Info.Name = Name
|
|
s.Info.Title = Title
|
|
s.Info.Description = Description
|
|
}
|
|
}
|
|
|
|
func (s *sInfo) SetInfoBuild(buildVersion, buildTime, commitID string) {
|
|
s.Info.Version = buildVersion
|
|
s.Info.Build = buildTime
|
|
s.Info.Commit = commitID
|
|
}
|
|
|
|
func (s *sInfo) SetInfoData(data map[string]interface{}) {
|
|
s.Info.Data = data
|
|
}
|
|
|
|
func (s *sInfo) GetInfoData() map[string]interface{} {
|
|
return s.Info.Data
|
|
}
|
|
|
|
func (s *sInfo) AddInfoData(key string, value interface{}) {
|
|
if s.Info.Data == nil {
|
|
s.Info.Data = make(map[string]interface{})
|
|
}
|
|
s.Info.Data[key] = value
|
|
}
|
|
|
|
func (s *sInfo) DelInfoData(key string) {
|
|
delete(s.Info.Data, key)
|
|
}
|
|
|
|
func (s *sInfo) GetInfoDataByKey(key string) interface{} {
|
|
if s.Info.Data == nil {
|
|
return nil
|
|
}
|
|
if _, ok := s.Info.Data[key]; !ok {
|
|
return nil
|
|
}
|
|
return s.Info.Data[key]
|
|
}
|