From 235faddaa85f701e2f650bee56dcf6c255c738a7 Mon Sep 17 00:00:00 2001 From: Fedorov Vladimir Date: Fri, 29 May 2026 08:11:45 +0700 Subject: [PATCH] fix update place --- internal/services/services.go | 14 ++++++++++++++ internal/services/story_service/service.go | 21 +++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/internal/services/services.go b/internal/services/services.go index d606d8e..758aee7 100644 --- a/internal/services/services.go +++ b/internal/services/services.go @@ -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{ Code: req.Node.Code, Name: req.Node.Name, Text: req.Node.Text, + Image: req.Node.Image, Applications: applications, + Hidden: req.Node.Hidden, + Doors: doors, } if err := s.storyService.UpdatePlace(ctx, req.Code, node); err != nil { return nil, err diff --git a/internal/services/story_service/service.go b/internal/services/story_service/service.go index 551c910..f59c15b 100644 --- a/internal/services/story_service/service.go +++ b/internal/services/story_service/service.go @@ -177,7 +177,10 @@ func (s *StoryService) updatePlace(ctx context.Context, code string, node *Graph node.Code, node.Name, s.formatter.FormatText(node.Text), + models.WithPlaceImage(node.Image), models.WithPlaceApplication(s.getApplications(node)...), + models.WithPlaceHidden(node.Hidden), + models.WithPlaceDoors(s.getDoors(node)...), ) return s.Update(ctx) } @@ -188,7 +191,10 @@ func (s *StoryService) updatePlace(ctx context.Context, code string, node *Graph code, node.Name, s.formatter.FormatText(node.Text), + models.WithPlaceImage(node.Image), models.WithPlaceApplication(s.getApplications(node)...), + models.WithPlaceHidden(node.Hidden), + models.WithPlaceDoors(s.getDoors(node)...), ) break } @@ -209,6 +215,21 @@ func (s *StoryService) getApplications(node *GraphNode) []*models.Application { 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 { m := make(map[string]string, len(s.story.Places)) nodes := make([]*GraphNode, 0, len(s.story.Places))