(ctx context.Context, namespace, name string)
| 600 | } |
| 601 | |
| 602 | func (c *SpaceComponent) Stop(ctx context.Context, namespace, name string) error { |
| 603 | s, err := c.ss.FindByPath(ctx, namespace, name) |
| 604 | if err != nil { |
| 605 | slog.Error("can't stop space", slog.Any("error", err), slog.String("namespace", namespace), slog.String("name", name)) |
| 606 | return err |
| 607 | } |
| 608 | // get latest Deploy of space |
| 609 | deploy, err := c.deploy.GetLatestDeployBySpaceID(ctx, s.ID) |
| 610 | if err != nil { |
| 611 | slog.Error("can't get space deployment", slog.Any("error", err), slog.Any("space id", s.ID)) |
| 612 | return fmt.Errorf("can't get space deployment,%w", err) |
| 613 | } |
| 614 | if deploy == nil { |
| 615 | return fmt.Errorf("can't get space deployment") |
| 616 | } |
| 617 | |
| 618 | err = c.deployer.Stop(ctx, types.DeployRepo{ |
| 619 | SpaceID: s.ID, |
| 620 | Namespace: namespace, |
| 621 | Name: name, |
| 622 | SvcName: deploy.SvcName, |
| 623 | }) |
| 624 | if err != nil { |
| 625 | return fmt.Errorf("can't stop space service deploy for service '%s', %w", deploy.SvcName, err) |
| 626 | } |
| 627 | |
| 628 | err = c.deploy.StopDeploy(ctx, types.SpaceRepo, deploy.RepoID, deploy.UserID, deploy.ID) |
| 629 | if err != nil { |
| 630 | return fmt.Errorf("fail to update space deploy status to stopped for deploy ID '%d', %w", deploy.ID, err) |
| 631 | } |
| 632 | return nil |
| 633 | } |
| 634 | |
| 635 | // FixHasEntryFile checks whether git repo has entry point file and update space's HasAppFile property in db |
| 636 | func (c *SpaceComponent) FixHasEntryFile(ctx context.Context, s *database.Space) *database.Space { |
no test coverage detected