commit 45a6cafb9356db7c62a31ed5c26431c88058a81e
parent 5ea3d3b7daef1c48fb567966928e5c0c73087854
Author: Jacob R. Edwards <jacob@jacobedwards.org>
Date: Tue, 17 Sep 2024 12:52:18 -0700
Fix backend's ReplaceFloorplanData
Shorten it up and add support for furniture and furniture maps.
Diffstat:
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/internal/backend/floorplan_data.go b/internal/backend/floorplan_data.go
@@ -308,28 +308,32 @@ func (e *Env) ReplaceFloorplanData(tx *sql.Tx, user string, floorplan string, da
}
defer tx.Rollback()
}
+ createPatch := func(id ObjectID, value any) Patch {
+ return Patch{
+ Op: "new",
+ Path: id.Path(),
+ Value: value,
+ }
+ }
if err := e.DeleteFloorplanData(tx, user, floorplan); err != nil {
return FloorplanData{}, err
}
patches := make([]Patch, 0)
- for id, point := range data.Points {
- patch := Patch{
- Op: "new",
- Path: id.Path(),
- Value: point,
- }
- patches = append(patches, patch)
+ for id, v := range data.Points {
+ patches = append(patches, createPatch(id, v))
}
- for id, pointmap := range data.Pointmaps {
- patch := Patch{
- Op: "new",
- Path: id.Path(),
- Value: pointmap,
- }
- patches = append(patches, patch)
+ for id, v := range data.Pointmaps {
+ patches = append(patches, createPatch(id, v))
}
+ for id, v := range data.Furniture {
+ patches = append(patches, createPatch(id, v))
+ }
+ for id, v := range data.FurnitureMaps {
+ patches = append(patches, createPatch(id, v))
+ }
+
newdata, err := e.PatchFloorplanData(tx, user, floorplan, patches)
if err != nil {
return FloorplanData{}, err