diff options
author | Aki <please@ignore.pl> | 2021-04-26 23:44:25 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2021-04-26 23:44:25 +0200 |
commit | 06074d25c7458c27480b36697d16ef8705795ce8 (patch) | |
tree | 59a9c7b6a262d276ff121c100c0f5bb60be20d9e | |
parent | 31caf8496ada3837da199bba3b1c27f5d6462f9a (diff) | |
download | field-06074d25c7458c27480b36697d16ef8705795ce8.zip field-06074d25c7458c27480b36697d16ef8705795ce8.tar.gz field-06074d25c7458c27480b36697d16ef8705795ce8.tar.bz2 |
Added details to recent battles
-rw-r--r-- | storage.go | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -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 |