add support stream in hub

Create connection manager for stream
This commit is contained in:
Станислав
2026-05-23 14:16:18 +03:00
committed by lorsan
30 changed files with 1255 additions and 83 deletions
+3 -18
View File
@@ -9,14 +9,9 @@ import (
)
type Config struct {
DBHost string `env:"DB_HOST"`
DBPort int `env:"DB_PORT"`
DBPassword string `env:"DB_PASS"`
DBUser string `env:"DB_USER"`
DBName string `env:"DB_NAME"`
LogLevel string `env:"LOG_LEVEL" env-default:"INFO"`
Mode string `env:"MODE" env-default:"DEV"`
Port int `env:"PORT" env-default:"9000"`
LogLevel string `env:"LOG_LEVEL" env-default:"INFO"`
Mode string `env:"MODE" env-default:"DEV"`
Port int `env:"PORT" env-default:"9000"`
}
func NewConfig() (*Config, error) {
@@ -33,16 +28,6 @@ func NewConfig() (*Config, error) {
return &cfg, nil
}
func (c *Config) GetURLPostgres() string {
return fmt.Sprintf(
"postgres://%v:%v@%v:%v/%v?sslmode=disable",
c.DBUser,
c.DBPassword,
c.DBHost,
c.DBPort,
c.DBName)
}
func (c *Config) GetLogLevel() zerolog.Level {
level, err := zerolog.ParseLevel(c.LogLevel)
if err != nil {
+11 -8
View File
@@ -1,35 +1,38 @@
package domain
import (
"fmt"
pb "github.com/lorsanstand/HomeOps-Hub/api/gen/homeops"
)
func ToDomainAgentRequest(request *pb.RegisterAgentRequest) RegisterAgentRequest {
func ToDomainAgentRequest(request *pb.RegisterAgentRequest) (RegisterAgentRequest, error) {
if request == nil {
return RegisterAgentRequest{}
return RegisterAgentRequest{}, fmt.Errorf("request is empty")
}
return RegisterAgentRequest{
AgentID: request.AgentId,
AgentName: request.AgentName,
AgentVersion: request.Version,
AgentID: request.AgentId,
AgentName: request.AgentName,
Host: HostInfo{
System: request.Host.System,
Hostname: request.Host.Hostname,
Arch: request.Host.Arch,
},
Capabilities: ToDomainCapabilities(request.Capability),
}
}, nil
}
func ToDomainAgentResponse(response *pb.RegisterAgentResponse) RegisterAgentResponse {
func ToDomainAgentResponse(response *pb.RegisterAgentResponse) (RegisterAgentResponse, error) {
if response == nil {
return RegisterAgentResponse{}
return RegisterAgentResponse{}, fmt.Errorf("request is empty")
}
return RegisterAgentResponse{
AgentID: response.AgentId,
Heartbeat: int(response.HeartbeatIntervalSecond),
}
}, nil
}
func ToDomainCapabilities(capability []*pb.Capability) []Capability {