/
applications.go
55 lines (46 loc) · 1.44 KB
/
applications.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package processes
import (
"github.com/golang/protobuf/proto"
log "github.com/sirupsen/logrus"
"github.com/unity-sds/unity-cs-manager/marketplace"
"github.com/unity-sds/unity-management-console/backend/internal/database"
"github.com/unity-sds/unity-management-console/backend/internal/websocket"
)
func fetchAllApplications(store database.Datastore) error {
dep, err := store.FetchAllApplicationStatus()
if err != nil {
return err
}
var deployments []*marketplace.Deployment
for _, d := range dep {
var apps []*marketplace.Application
for _, a := range d.Applications {
app := marketplace.Application{
ApplicationName: a.Name,
DisplayName: a.DisplayName,
PackageName: a.PackageName,
Version: a.Version,
Source: a.Source,
Status: a.Status,
}
apps = append(apps, &app)
}
deployment := marketplace.Deployment{
Name: d.Name,
Creator: d.Creator,
Creationdate: d.CreationDate.Format("2006-01-02T15:04:05"),
Application: apps,
}
deployments = append(deployments, &deployment)
}
dea := &marketplace.Deployments{Deployment: deployments}
de := &marketplace.UnityWebsocketMessage_Deployments{Deployments: dea}
msg := &marketplace.UnityWebsocketMessage{Content: de}
data, err := proto.Marshal(msg)
if err != nil {
log.WithError(err).Error("Failed to marshal config")
return err
}
websocket.WsManager.SendMessageToAllClients(data)
return nil
}