summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2021-04-26 23:44:25 +0200
committerAki <please@ignore.pl>2021-04-26 23:44:25 +0200
commit06074d25c7458c27480b36697d16ef8705795ce8 (patch)
tree59a9c7b6a262d276ff121c100c0f5bb60be20d9e
parent31caf8496ada3837da199bba3b1c27f5d6462f9a (diff)
downloadfield-06074d25c7458c27480b36697d16ef8705795ce8.zip
field-06074d25c7458c27480b36697d16ef8705795ce8.tar.gz
field-06074d25c7458c27480b36697d16ef8705795ce8.tar.bz2
Added details to recent battles
-rw-r--r--storage.go19
1 files changed, 18 insertions, 1 deletions
diff --git a/storage.go b/storage.go
index 9172e96..75108ac 100644
--- a/storage.go
+++ b/storage.go
@@ -50,6 +50,19 @@ func (b *Battle) CalculateHash() {
b.Id = hex.EncodeToString(sum[:])
}
+func (s *Storage) LoadBattle(battle *Battle) error {
+ stream, err := os.Open(s.Path + "/battles/" + battle.Id)
+ if err != nil {
+ return err
+ }
+ decoder := json.NewDecoder(stream)
+ if err = decoder.Decode(battle); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (s *Storage) AddBattle(battle *Battle) error {
if len(battle.Killmails) < 1 {
return errors.New("missing killmails")
@@ -81,7 +94,11 @@ func (s *Storage) ListRecentBattles(count int) ([]Battle, error) {
battles := make([]Battle, 0, count)
for i := 0; i < count && i < len(files); i++ {
- battles = append(battles, Battle{Id: files[i].Name(), LastModified: files[i].ModTime()})
+ battle := Battle{Id: files[i].Name(), LastModified: files[i].ModTime()}
+ if err = s.LoadBattle(&battle); err != nil {
+ return nil, err
+ }
+ battles = append(battles, battle)
}
return battles, nil