fixed api stuff

This commit is contained in:
2024-05-22 19:57:02 +03:00
parent a6a63805e4
commit 106b7326f2
6 changed files with 82 additions and 28 deletions

View File

@@ -46,7 +46,42 @@ func (con Connection) getBrowserInfo(volume volume.Volume) (*models.FileBrowserI
Id: container.ID,
OwnerId: browserInfo.OwnerId,
ConnectedTo: *serverInfo,
Url: container.ID[:12] + "." + DOMAIN,
Url: serverInfo.Id[:12] + "." + DOMAIN,
}, nil
}
func (con Connection) getBrowserInfoFromServerId(serverId string) (*models.FileBrowserInfo, error) {
serverInfo, err := con.getServerInfoFromId(serverId)
if err != nil {
return nil, err
}
containers, err := con.dockerClient.ContainerList(context.TODO(), container.ListOptions{
All: true,
Filters: filters.NewArgs(filters.Arg("label", "type=FILE_BROWSER"), filters.Arg("label", fmt.Sprintf("volume_id=%s", serverInfo.Id))),
})
if err != nil || len(containers) == 0 {
return nil, nil
}
container := containers[0]
jsonData, err := json.Marshal(container.Labels)
if err != nil {
return nil, err
}
var browserInfo ContainerLabels
err = json.Unmarshal(jsonData, &browserInfo)
if err != nil {
return nil, err
}
return &models.FileBrowserInfo{
Id: container.ID,
OwnerId: browserInfo.OwnerId,
ConnectedTo: *serverInfo,
Url: serverInfo.Id[:12] + "." + DOMAIN,
}, nil
}
@@ -62,7 +97,7 @@ func (con Connection) GetBrowsers(ctx *gin.Context) {
ctx.AbortWithError(500, err)
}
var servers []models.FileBrowserInfo
var servers []models.FileBrowserInfo = make([]models.FileBrowserInfo, 0, len(volumes.Volumes))
for _, volume := range volumes.Volumes {
browserInfo, err := con.getBrowserInfo(*volume)