package rpc import ( pb "github.com/lorsanstand/HomeOps-Hub/api/gen/homeops" "github.com/lorsanstand/HomeOps-Hub/internal/agent/domain" ) func toAgentRegisterRequest(request domain.RegisterAgentData) pb.RegisterAgentRequest { return pb.RegisterAgentRequest{ AgentId: request.AgentId, AgentName: request.AgentName, Host: &pb.HostInfo{ Hostname: request.Host.Hostname, Arch: request.Host.Arch, System: request.Host.System, }, Version: request.AgentVersion, Capability: toGRPCCapability(request.Capabilities), } } func toGRPCCapability(caps []domain.Capability) []*pb.Capability { capability := make([]*pb.Capability, len(caps)) for _, capi := range caps { capability = append(capability, &pb.Capability{ Name: capi.Name, Available: capi.Available, Version: capi.Version, Reason: capi.Reason, }) } return capability } func toAgentRegisterDataResponse(response *pb.RegisterAgentResponse) domain.RegisterAgentDataResponse { return domain.RegisterAgentDataResponse{ AgentID: response.AgentId, Heartbeat: int(response.HeartbeatIntervalSecond), } }