Skip to content

Commit a15ebe5

Browse files
committed
adj struct unmarshal
1 parent 40a2479 commit a15ebe5

1 file changed

Lines changed: 32 additions & 5 deletions

File tree

backend/internal/adj/adj.go

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,56 @@
11
package adj
22

33
import (
4+
"encoding/json"
45
"github.com/go-git/go-git/v5"
6+
"os"
57
)
68

79
const (
810
RepoUrl = "https://github.com/HyperloopUPV-H8/JSON_ADE.git" // URL of the ADJ repository
911
)
1012

11-
func downloadADJ() error {
13+
func downloadADJ() (json.RawMessage, json.RawMessage, error) {
1214
_, err := git.PlainClone("", false, &git.CloneOptions{
1315
URL: RepoUrl,
1416
})
1517
if err != nil {
16-
return err
18+
return nil, nil, err
1719
}
1820

19-
return nil
21+
info, err := os.ReadFile("general_info.json")
22+
if err != nil {
23+
return nil, nil, err
24+
}
25+
26+
boards, err := os.ReadFile("boards.json")
27+
if err != nil {
28+
return nil, nil, err
29+
}
30+
31+
return info, boards, nil
2032
}
2133

2234
func NewADJ() (*ADJ, error) {
23-
err := downloadADJ()
35+
infoRaw, boardsRaw, err := downloadADJ()
2436
if err != nil {
2537
return nil, err
2638
}
2739

28-
return &ADJ{}, nil
40+
var info Info
41+
if err := json.Unmarshal(infoRaw, &info); err != nil {
42+
return nil, err
43+
}
44+
45+
var boards map[string]Board
46+
if err := json.Unmarshal(boardsRaw, &boards); err != nil {
47+
return nil, err
48+
}
49+
50+
adj := &ADJ{
51+
Info: info,
52+
Boards: boards,
53+
}
54+
55+
return adj, nil
2956
}

0 commit comments

Comments
 (0)