fix update place

This commit is contained in:
2026-05-29 08:11:45 +07:00
parent bed126bd85
commit 235faddaa8
2 changed files with 35 additions and 0 deletions
+14
View File
@@ -232,11 +232,25 @@ func (s *Services) UpdateNode(ctx context.Context, req *proto.UpdateNodeReq) (*p
}, },
) )
} }
doors := make([]*story_service.GraphDoor, 0, len(req.Node.Doors))
for _, door := range req.Node.Doors {
doors = append(
doors,
&story_service.GraphDoor{
Code: door.Code,
Name: door.Name,
Show: door.Show,
},
)
}
node := &story_service.GraphNode{ node := &story_service.GraphNode{
Code: req.Node.Code, Code: req.Node.Code,
Name: req.Node.Name, Name: req.Node.Name,
Text: req.Node.Text, Text: req.Node.Text,
Image: req.Node.Image,
Applications: applications, Applications: applications,
Hidden: req.Node.Hidden,
Doors: doors,
} }
if err := s.storyService.UpdatePlace(ctx, req.Code, node); err != nil { if err := s.storyService.UpdatePlace(ctx, req.Code, node); err != nil {
return nil, err return nil, err
@@ -177,7 +177,10 @@ func (s *StoryService) updatePlace(ctx context.Context, code string, node *Graph
node.Code, node.Code,
node.Name, node.Name,
s.formatter.FormatText(node.Text), s.formatter.FormatText(node.Text),
models.WithPlaceImage(node.Image),
models.WithPlaceApplication(s.getApplications(node)...), models.WithPlaceApplication(s.getApplications(node)...),
models.WithPlaceHidden(node.Hidden),
models.WithPlaceDoors(s.getDoors(node)...),
) )
return s.Update(ctx) return s.Update(ctx)
} }
@@ -188,7 +191,10 @@ func (s *StoryService) updatePlace(ctx context.Context, code string, node *Graph
code, code,
node.Name, node.Name,
s.formatter.FormatText(node.Text), s.formatter.FormatText(node.Text),
models.WithPlaceImage(node.Image),
models.WithPlaceApplication(s.getApplications(node)...), models.WithPlaceApplication(s.getApplications(node)...),
models.WithPlaceHidden(node.Hidden),
models.WithPlaceDoors(s.getDoors(node)...),
) )
break break
} }
@@ -209,6 +215,21 @@ func (s *StoryService) getApplications(node *GraphNode) []*models.Application {
return nodeApplications return nodeApplications
} }
func (s *StoryService) getDoors(node *GraphNode) []*models.Door {
nodeDoors := make([]*models.Door, 0, len(node.Doors))
for _, door := range node.Doors {
nodeDoors = append(
nodeDoors,
&models.Door{
Code: door.Code,
Name: door.Name,
Show: door.Show,
},
)
}
return nodeDoors
}
func (s *StoryService) GetGraph(ctx context.Context) *Graph { func (s *StoryService) GetGraph(ctx context.Context) *Graph {
m := make(map[string]string, len(s.story.Places)) m := make(map[string]string, len(s.story.Places))
nodes := make([]*GraphNode, 0, len(s.story.Places)) nodes := make([]*GraphNode, 0, len(s.story.Places))