From 91ba3e412669e254f57770817c91222dfe9829da Mon Sep 17 00:00:00 2001 From: nxtcoder17 Date: Wed, 14 Feb 2024 03:00:53 +0530 Subject: [PATCH] fix: IAM missing account name, infra missing cluster grpc error, and vpn device message publishing --- apps/console/internal/domain/vpn-device.go | 16 ++++++++-------- apps/iam/internal/app/grpc-server.go | 6 ++++++ apps/infra/internal/app/grpc-server.go | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/apps/console/internal/domain/vpn-device.go b/apps/console/internal/domain/vpn-device.go index 61baf952a..a2d7d00bb 100644 --- a/apps/console/internal/domain/vpn-device.go +++ b/apps/console/internal/domain/vpn-device.go @@ -202,7 +202,7 @@ func (d *domain) CreateVPNDevice(ctx ConsoleContext, device entities.ConsoleVPND return nil, errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *nDevice.ProjectName, entities.ResourceTypeVPNDevice, nDevice.Name, PublishAdd) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, nDevice.Name, PublishAdd) if device.ProjectName == nil || device.EnvironmentName == nil { return nDevice, nil @@ -237,7 +237,7 @@ func (d *domain) ActivateVPNDeviceOnNamespace(ctx ConsoleContext, devName string if err != nil { return errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *upDevice.ProjectName, entities.ResourceTypeVPNDevice, devName, PublishUpdate) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, devName, PublishUpdate) if err := d.applyVPNDevice(ctx, upDevice); err != nil { return errors.NewE(err) @@ -310,7 +310,7 @@ func (d *domain) updateVpnDevice(ctx ConsoleContext, device entities.ConsoleVPND return nil, errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *upDevice.ProjectName, entities.ResourceTypeVPNDevice, device.Name, PublishUpdate) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, device.Name, PublishUpdate) if err := d.updateVpnOnCluster(ctx, upDevice, xdevice); err != nil { return nil, errors.NewE(err) @@ -340,7 +340,7 @@ func (d *domain) DeleteVPNDevice(ctx ConsoleContext, name string) error { return errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *upDevice.ProjectName, entities.ResourceTypeVPNDevice, name, PublishUpdate) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, name, PublishUpdate) for _, v := range upDevice.LinkedClusters { if err := d.deleteK8sResourceOfCluster(ctx, v, &upDevice.Device); err != nil { @@ -387,7 +387,7 @@ func (d *domain) UpdateVpnDevicePorts(ctx ConsoleContext, devName string, ports return errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *upDevice.ProjectName, entities.ResourceTypeVPNDevice, devName, PublishUpdate) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, devName, PublishUpdate) return nil } @@ -458,7 +458,7 @@ func (d *domain) OnVPNDeviceUpdateMessage(ctx ConsoleContext, device entities.Co return errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *upDevice.ProjectName, entities.ResourceTypeVPNDevice, upDevice.Name, PublishUpdate) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, upDevice.Name, PublishUpdate) return nil } @@ -502,7 +502,7 @@ func (d *domain) OnVPNDeviceDeleteMessage(ctx ConsoleContext, device entities.Co return errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *device.ProjectName, entities.ResourceTypeVPNDevice, device.Name, PublishDelete) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, device.Name, PublishDelete) return nil } @@ -536,6 +536,6 @@ func (d *domain) OnVPNDeviceApplyError(ctx ConsoleContext, errMsg string, name s if err != nil { return errors.NewE(err) } - d.resourceEventPublisher.PublishProjectResourceEvent(ctx, *udevice.ProjectName, entities.ResourceTypeVPNDevice, udevice.Name, PublishDelete) + d.resourceEventPublisher.PublishConsoleEvent(ctx, entities.ResourceTypeVPNDevice, udevice.Name, PublishDelete) return errors.NewE(err) } diff --git a/apps/iam/internal/app/grpc-server.go b/apps/iam/internal/app/grpc-server.go index b6b9f46a9..8858443d6 100644 --- a/apps/iam/internal/app/grpc-server.go +++ b/apps/iam/internal/app/grpc-server.go @@ -2,6 +2,7 @@ package app import ( "context" + "fmt" "strings" "github.com/kloudlite/api/apps/iam/internal/entities" @@ -138,6 +139,11 @@ func (s *GrpcService) Can(ctx context.Context, in *iam.CanIn) (*iam.CanOut, erro if err != nil { return nil, err } + + if strings.TrimSpace(accountName) == "" { + return nil, fmt.Errorf("accountName must be provided") + } + nf := s.rbRepo.MergeMatchFilters(repos.Filter{}, map[string]repos.MatchFilter{ "resource_ref": { MatchType: repos.MatchTypeRegex, diff --git a/apps/infra/internal/app/grpc-server.go b/apps/infra/internal/app/grpc-server.go index 3ef9e636c..7a4b9a3da 100644 --- a/apps/infra/internal/app/grpc-server.go +++ b/apps/infra/internal/app/grpc-server.go @@ -96,7 +96,7 @@ func (g *grpcServer) ClusterExists(ctx context.Context, in *infra.ClusterExistsI } cluster, err := g.d.GetCluster(infraCtx, in.ClusterName) if err != nil { - if !errors.Is(err, domain.ErrClusterNotFound) { + if errors.Is(err, domain.ErrClusterNotFound) { return &infra.ClusterExistsOut{Exists: false}, nil } return nil, errors.NewE(err)