You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

48 lines
1.0 KiB

package shelves
import "git.brettb.xyz/goinv/client/internal/types"
func (a *Shelves) UpdateData() {
a.UpdateShelfData()
a.UpdateBuildingData()
}
func (a *Shelves) UpdateShelfData() {
shelves, err := a.shelfListFunc()
a.shelfList.mu.Lock()
defer a.shelfList.mu.Unlock()
if err != nil {
a.displayError("could not retrieve shelves", err)
a.shelfList.dirty = true
return
}
a.shelfList.dirty = false
a.shelfList.report = shelves
}
func (a *Shelves) UpdateBuildingData() {
buildings, err := a.buildingListFunc()
if err != nil {
a.displayError("could not retrieve buildings", err)
return
}
a.buildingCache.mu.Lock()
a.buildingCache.report = buildings
a.buildingCache.mu.Unlock()
}
func (a *Shelves) getShelfData() []types.ShelfLocation {
a.shelfList.mu.Lock()
shelfReport := a.shelfList.report
defer a.shelfList.mu.Unlock()
return shelfReport
}
func (a *Shelves) getBuildingData() map[uint64]types.Building {
a.buildingCache.mu.Lock()
buildingReport := a.buildingCache.report
defer a.buildingCache.mu.Unlock()
return buildingReport
}