This commit is contained in:
2025-08-18 21:28:01 +02:00
parent 0d92b6b8a0
commit 0f2c0e511f
4 changed files with 17 additions and 17 deletions

6
.vscode/launch.json vendored
View File

@@ -5,13 +5,13 @@
"version": "0.2.0", "version": "0.2.0",
"configurations": [ "configurations": [
{ {
"name": "server", "name": "web",
"type": "go", "type": "go",
"request": "launch", "request": "launch",
"mode": "auto", "mode": "auto",
"args": ["-document-root", "${workspaceFolder}/env"], "args": ["-config", "${workspaceFolder}/env/config.json"],
"console": "integratedTerminal", "console": "integratedTerminal",
"program": "${workspaceFolder}/cmd/server" "program": "${workspaceFolder}/cmd/web"
}, },
{ {
"name": "cli", "name": "cli",

View File

@@ -162,9 +162,8 @@ func (s *HTTPServer) detailled(w http.ResponseWriter, r *http.Request) {
} }
var wg sync.WaitGroup var wg sync.WaitGroup
var err1, err2, err3 error var err1, err2 error
var save repository.Metadata var save repository.Metadata
var h string
var ids []string var ids []string
wg.Add(1) wg.Add(1)
@@ -175,24 +174,18 @@ func (s *HTTPServer) detailled(w http.ResponseWriter, r *http.Request) {
wg.Add(1) wg.Add(1)
go func() { go func() {
h, err2 = cli.Hash(id) ids, err2 = cli.ListArchives(id)
wg.Done()
}()
wg.Add(1)
go func() {
ids, err3 = cli.ListArchives(id)
wg.Done() wg.Done()
}() }()
wg.Wait() wg.Wait()
if err1 != nil || err2 != nil || err3 != nil { if err1 != nil || err2 != nil {
if errors.Is(err1, client.ErrUnauthorized) { if errors.Is(err1, client.ErrUnauthorized) {
unauthorized("Unable to access resources", w, r) unauthorized("Unable to access resources", w, r)
return return
} }
slog.Error("unable to connect to the remote", "err", err1) slog.Error("failed to get metadata: unable to connect to the remote", "err", err1)
return return
} }
@@ -205,7 +198,7 @@ func (s *HTTPServer) detailled(w http.ResponseWriter, r *http.Request) {
defer wg.Done() defer wg.Done()
b, err := cli.ArchiveInfo(id, i) b, err := cli.ArchiveInfo(id, i)
if err != nil { if err != nil {
slog.Error("unable to connect to the remote", "err", err) slog.Error("failed to get backup: unable to connect to the remote", "err", err)
return return
} }
bm = append(bm, b) bm = append(bm, b)
@@ -216,7 +209,6 @@ func (s *HTTPServer) detailled(w http.ResponseWriter, r *http.Request) {
payload := DetaillePayload{ payload := DetaillePayload{
Save: save, Save: save,
Hash: h,
BackupMetadata: bm, BackupMetadata: bm,
Version: constants.Version, Version: constants.Version,
} }

View File

@@ -30,7 +30,7 @@
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="list-group-item">UUID: {{.Save.ID}}</li> <li class="list-group-item">UUID: {{.Save.ID}}</li>
<li class="list-group-item">Last Upload: {{.Save.Date}}</li> <li class="list-group-item">Last Upload: {{.Save.Date}}</li>
<li class="list-group-item">Hash (MD5): {{.Hash}}</li> <li class="list-group-item">Hash (MD5): {{.Save.MD5}}</li>
</ul> </ul>
<hr /> <hr />

View File

@@ -167,6 +167,10 @@ func (c *Client) ListArchives(gameID string) ([]string, error) {
return nil, err return nil, err
} }
if o.Data == nil {
return nil, nil
}
if m, ok := (o.Data).([]any); ok { if m, ok := (o.Data).([]any); ok {
var res []string var res []string
for _, uuid := range m { for _, uuid := range m {
@@ -338,6 +342,10 @@ func (c *Client) All() ([]repository.Metadata, error) {
return nil, err return nil, err
} }
if o.Data == nil {
return nil, nil
}
if games, ok := (o.Data).([]any); ok { if games, ok := (o.Data).([]any); ok {
var res []repository.Metadata var res []repository.Metadata
for _, g := range games { for _, g := range games {