Skip to content

Commit a5ce4aa

Browse files
authored
Merge pull request #937 from strukturag/serverinfo-api
Add serverinfo API
2 parents 3cbfe2f + c830403 commit a5ce4aa

15 files changed

+2130
-304
lines changed

api_backend.go

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,3 +464,103 @@ func (p *BackendInformationEtcd) CheckValid() error {
464464
p.parsedUrl = parsedUrl
465465
return nil
466466
}
467+
468+
type BackendServerInfoVideoRoom struct {
469+
Name string `json:"name,omitempty"`
470+
Version string `json:"version,omitempty"`
471+
Author string `json:"author,omitempty"`
472+
}
473+
474+
type BackendServerInfoSfuJanus struct {
475+
Url string `json:"url"`
476+
477+
Connected bool `json:"connected"`
478+
479+
Name string `json:"name,omitempty"`
480+
Version string `json:"version,omitempty"`
481+
Author string `json:"author,omitempty"`
482+
483+
DataChannels *bool `json:"datachannels,omitempty"`
484+
FullTrickle *bool `json:"fulltrickle,omitempty"`
485+
LocalIP string `json:"localip,omitempty"`
486+
IPv6 *bool `json:"ipv6,omitempty"`
487+
488+
VideoRoom *BackendServerInfoVideoRoom `json:"videoroom,omitempty"`
489+
}
490+
491+
type BackendServerInfoSfuProxy struct {
492+
Url string `json:"url"`
493+
IP string `json:"ip,omitempty"`
494+
495+
Connected bool `json:"connected"`
496+
Temporary bool `json:"temporary"`
497+
Shutdown *bool `json:"shutdown,omitempty"`
498+
Uptime *time.Time `json:"uptime,omitempty"`
499+
500+
Version string `json:"version,omitempty"`
501+
Features []string `json:"features,omitempty"`
502+
503+
Country string `json:"country,omitempty"`
504+
Load *int64 `json:"load,omitempty"`
505+
Bandwidth *EventProxyServerBandwidth `json:"bandwidth,omitempty"`
506+
}
507+
508+
type SfuMode string
509+
510+
const (
511+
SfuModeJanus SfuMode = "janus"
512+
SfuModeProxy SfuMode = "proxy"
513+
)
514+
515+
type BackendServerInfoSfu struct {
516+
Mode SfuMode `json:"mode"`
517+
518+
Janus *BackendServerInfoSfuJanus `json:"janus,omitempty"`
519+
Proxies []BackendServerInfoSfuProxy `json:"proxies,omitempty"`
520+
}
521+
522+
type BackendServerInfoDialout struct {
523+
SessionId string `json:"sessionid"`
524+
Connected bool `json:"connected"`
525+
Address string `json:"address,omitempty"`
526+
UserAgent string `json:"useragent,omitempty"`
527+
Version string `json:"version,omitempty"`
528+
Features []string `json:"features,omitempty"`
529+
}
530+
531+
type BackendServerInfoNats struct {
532+
Urls []string `json:"urls"`
533+
Connected bool `json:"connected"`
534+
535+
ServerUrl string `json:"serverurl,omitempty"`
536+
ServerID string `json:"serverid,omitempty"`
537+
ServerVersion string `json:"version,omitempty"`
538+
ClusterName string `json:"clustername,omitempty"`
539+
}
540+
541+
type BackendServerInfoGrpc struct {
542+
Target string `json:"target"`
543+
IP string `json:"ip,omitempty"`
544+
Connected bool `json:"connected"`
545+
546+
Version string `json:"version,omitempty"`
547+
}
548+
549+
type BackendServerInfoEtcd struct {
550+
Endpoints []string `json:"endpoints"`
551+
552+
Active string `json:"active,omitempty"`
553+
Connected *bool `json:"connected,omitempty"`
554+
}
555+
556+
type BackendServerInfo struct {
557+
Version string `json:"version"`
558+
Features []string `json:"features"`
559+
560+
Sfu *BackendServerInfoSfu `json:"sfu,omitempty"`
561+
Dialout []BackendServerInfoDialout `json:"dialout,omitempty"`
562+
563+
Nats *BackendServerInfoNats `json:"nats,omitempty"`
564+
Grpc []BackendServerInfoGrpc `json:"grpc,omitempty"`
565+
Etcd *BackendServerInfoEtcd `json:"etcd,omitempty"`
566+
}

0 commit comments

Comments
 (0)