mirror of
https://github.com/lorsanstand/HomeOps-Hub.git
synced 2026-06-19 16:45:15 +03:00
refactor: change structure project
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
package store
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain"
|
||||
gen2 "github.com/lorsanstand/HomeOps-Hub/hub/internal/store/sqlc/gen"
|
||||
"github.com/lorsanstand/HomeOps-Hub/shared/domain"
|
||||
)
|
||||
|
||||
func toDBAgent(agent domainHub.CreateAgentModel) gen2.CreateAgentParams {
|
||||
return gen2.CreateAgentParams{
|
||||
AgentID: agent.AgentID,
|
||||
AgentName: &agent.AgentName,
|
||||
Architecture: agent.Architecture,
|
||||
System: agent.System,
|
||||
Hostname: agent.Hostname,
|
||||
Version: agent.Version,
|
||||
Capabilities: toJsonCapabilities(agent.Capabilities),
|
||||
}
|
||||
}
|
||||
|
||||
func toUpdateDBAgent(agent domainHub.CreateAgentModel) gen2.UpdateAgentByIDParams {
|
||||
return gen2.UpdateAgentByIDParams{
|
||||
AgentID: agent.AgentID,
|
||||
AgentName: &agent.AgentName,
|
||||
Architecture: agent.Architecture,
|
||||
System: agent.System,
|
||||
Hostname: agent.Hostname,
|
||||
Version: agent.Version,
|
||||
Capabilities: toJsonCapabilities(agent.Capabilities),
|
||||
}
|
||||
}
|
||||
|
||||
func toJsonCapabilities(caps []domain.Capability) []byte {
|
||||
data, err := json.Marshal(caps)
|
||||
if err != nil {
|
||||
// Note: Error is silently handled - consider logging in production
|
||||
return []byte{}
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
func toAgentModel(dbAgent gen2.Agent) domainHub.AgentModel {
|
||||
var dbAgentName string
|
||||
if dbAgent.AgentName != nil {
|
||||
dbAgentName = *dbAgent.AgentName
|
||||
}
|
||||
|
||||
return domainHub.AgentModel{
|
||||
ID: int(dbAgent.ID),
|
||||
AgentID: dbAgent.AgentID,
|
||||
AgentName: dbAgentName,
|
||||
Architecture: dbAgent.Architecture,
|
||||
System: dbAgent.System,
|
||||
Hostname: dbAgent.Hostname,
|
||||
Capabilities: toDomainCapabilities(dbAgent.Capabilities),
|
||||
}
|
||||
}
|
||||
|
||||
func toDomainCapabilities(caps []byte) []domain.Capability {
|
||||
var capabilities []domain.Capability
|
||||
err := json.Unmarshal(caps, &capabilities)
|
||||
if err != nil {
|
||||
// Note: Error is silently handled - consider logging in production
|
||||
return []domain.Capability{}
|
||||
}
|
||||
return capabilities
|
||||
}
|
||||
Reference in New Issue
Block a user