Skip to content

Commit

Permalink
Get rid of metal-go
Browse files Browse the repository at this point in the history
  • Loading branch information
majst01 committed Feb 11, 2025
1 parent db23c1c commit dcf6630
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 19 deletions.
4 changes: 0 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ require (
github.com/metal-stack/api v0.0.0-20250211071026-5b30e480db1b
github.com/metal-stack/go-ipam v1.14.8
github.com/metal-stack/masterdata-api v0.11.5
github.com/metal-stack/metal-go v0.39.7
github.com/metal-stack/metal-lib v0.19.2
github.com/metal-stack/security v0.9.2
github.com/metal-stack/v v1.0.3
Expand Down Expand Up @@ -77,16 +76,13 @@ require (
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/loads v0.22.0 // indirect
github.com/go-openapi/runtime v0.28.0 // indirect
github.com/go-openapi/spec v0.21.0 // indirect
github.com/go-openapi/strfmt v0.23.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/go-openapi/validate v0.24.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/goccy/go-json v0.10.5 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
Expand Down
2 changes: 0 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,6 @@ github.com/metal-stack/go-ipam v1.14.8 h1:M840hp1RcM2fHfMjFG5rn02yKFq6hXh+WvmYIS
github.com/metal-stack/go-ipam v1.14.8/go.mod h1:LzAKT0X9dGAMs1uoLyJfJZkhwMMDLaSYvx9n6MJ9FI4=
github.com/metal-stack/masterdata-api v0.11.5 h1:r7bYdhdVgOjCk6k7K/SCLlHALH23ZuMGY8E4udk4wXQ=
github.com/metal-stack/masterdata-api v0.11.5/go.mod h1:Xk8kqxAp3NkAc2BX8yTIWgSlD77T897QSdRSluWvP4w=
github.com/metal-stack/metal-go v0.39.7 h1:kKbwF6jCXGj5JZr65muJyR/oDMAUKbVn2f+vJ+kx7Qw=
github.com/metal-stack/metal-go v0.39.7/go.mod h1:ltItf/Md/z588c7Dr3X6iemCeOFh3rJ8nDL5Dpb9zFQ=
github.com/metal-stack/metal-lib v0.19.2 h1:8/qOtRDr7V3/C35ltyxfvYw5d2x/PJHcuAyuHzf+tjo=
github.com/metal-stack/metal-lib v0.19.2/go.mod h1:9jql29GhlfKbzC3YVHgWtxv8bsuHo1IetuV8C66jbJE=
github.com/metal-stack/security v0.9.2 h1:WH5LYwKccoEgS532f5qwonS7zX4/PJJO1RQ6R6Md410=
Expand Down
21 changes: 8 additions & 13 deletions pkg/service/project/project-service.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,13 @@ import (
"github.com/google/uuid"
"github.com/metal-stack/api-server/pkg/invite"
putil "github.com/metal-stack/api-server/pkg/project"
"github.com/metal-stack/api-server/pkg/repository"
tutil "github.com/metal-stack/api-server/pkg/tenant"
"github.com/metal-stack/api-server/pkg/token"
apiv1 "github.com/metal-stack/api/go/metalstack/api/v2"
"github.com/metal-stack/api/go/metalstack/api/v2/apiv2connect"
v1 "github.com/metal-stack/masterdata-api/api/v1"
mdc "github.com/metal-stack/masterdata-api/pkg/client"
metalgo "github.com/metal-stack/metal-go"
"github.com/metal-stack/metal-go/api/client/ip"
"github.com/metal-stack/metal-go/api/client/project"
"github.com/metal-stack/metal-go/api/models"
"github.com/metal-stack/metal-lib/pkg/pointer"
"google.golang.org/protobuf/types/known/timestamppb"
"google.golang.org/protobuf/types/known/wrapperspb"
Expand All @@ -30,14 +27,14 @@ import (
type Config struct {
Log *slog.Logger
MasterClient mdc.Client
MetalClient metalgo.Client
Repo repository.Repository
InviteStore invite.ProjectInviteStore
TokenStore token.TokenStore
}
type projectServiceServer struct {
log *slog.Logger
masterClient mdc.Client
metalClient metalgo.Client
repo repository.Repository
inviteStore invite.ProjectInviteStore
tokenStore token.TokenStore
}
Expand All @@ -46,9 +43,9 @@ func New(c Config) apiv2connect.ProjectServiceHandler {
return &projectServiceServer{
log: c.Log.WithGroup("projectService"),
masterClient: c.MasterClient,
metalClient: c.MetalClient,
inviteStore: c.InviteStore,
tokenStore: c.TokenStore,
repo: c.Repo,
}
}

Expand Down Expand Up @@ -271,20 +268,18 @@ func (p *projectServiceServer) Delete(ctx context.Context, rq *connect.Request[a
}
}

ips, err := p.metalClient.IP().FindIPs(ip.NewFindIPsParams().WithBody(&models.V1IPFindRequest{
Projectid: req.Project,
}).WithContext(ctx), nil)
ips, err := p.repo.IP(repository.ProjectScope(req.Project)).List(ctx, &apiv1.IPServiceListRequest{Project: req.Project})
if err != nil {
return nil, connect.NewError(connect.CodeInternal, fmt.Errorf("error retrieving ips: %w", err))
}

if len(ips.Payload) > 0 {
if len(ips) > 0 {
return nil, connect.NewError(connect.CodeFailedPrecondition, fmt.Errorf("there are still ips associated with this project, you need to delete them first"))
}

_, err = p.metalClient.Project().DeleteProject(project.NewDeleteProjectParams().WithID(req.Project).WithContext(ctx), nil)
_, err = p.masterClient.Project().Delete(ctx, &v1.ProjectDeleteRequest{Id: req.Project})
if err != nil {
return nil, connect.NewError(connect.CodeInternal, fmt.Errorf("error updating project: %w", err))
return nil, connect.NewError(connect.CodeInternal, fmt.Errorf("error deleting project: %w", err))
}

// TODO: ensure project tokens are revoked / cleaned up
Expand Down

0 comments on commit dcf6630

Please sign in to comment.