From 4dc619cbbc99b38e8b2bbaa7980eb50e1b4ebf17 Mon Sep 17 00:00:00 2001 From: Robin Huang Date: Tue, 7 Jan 2025 18:07:09 -0800 Subject: [PATCH] Delete node version. (#127) --- drip/api.gen.go | 208 +++++++++--------- openapi.yml | 2 +- server/implementation/registry.go | 20 +- .../authorization/authorization_middleware.go | 14 ++ services/registry/registry_svc.go | 30 +++ 5 files changed, 163 insertions(+), 111 deletions(-) diff --git a/drip/api.gen.go b/drip/api.gen.go index 57cfa80..ef501dd 100644 --- a/drip/api.gen.go +++ b/drip/api.gen.go @@ -4903,110 +4903,110 @@ func (sh *strictHandler) GetWorkflowResult(ctx echo.Context, workflowResultId st // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/openapi.yml b/openapi.yml index a0486b2..02568ac 100644 --- a/openapi.yml +++ b/openapi.yml @@ -947,7 +947,7 @@ paths: '204': description: Version unpublished (deleted) successfully '403': - description: Version not found + description: Version does not belong to the publisher content: application/json: schema: diff --git a/server/implementation/registry.go b/server/implementation/registry.go index 83d5ed1..a1bd34e 100644 --- a/server/implementation/registry.go +++ b/server/implementation/registry.go @@ -557,12 +557,20 @@ func (s *DripStrictServerImplementation) PostNodeReview(ctx context.Context, req func (s *DripStrictServerImplementation) DeleteNodeVersion( ctx context.Context, request drip.DeleteNodeVersionRequestObject) (drip.DeleteNodeVersionResponseObject, error) { - // Directly return the message that node versions cannot be deleted - errMessage := "Cannot delete node versions. Please deprecate it instead." - log.Ctx(ctx).Warn().Msg(errMessage) - return drip.DeleteNodeVersion404JSONResponse{ - Message: proto.String(errMessage), - }, nil + nodeVersion, err := s.RegistryService.GetNodeVersion(ctx, s.Client, request.VersionId) + if err != nil { + log.Ctx(ctx).Error().Msgf("Failed to get node version w/ err: %v", err) + return drip.DeleteNodeVersion404JSONResponse{Message: proto.String("Node version not found")}, nil + } + + err = s.RegistryService.DeleteNodeVersion(ctx, s.Client, nodeVersion.ID.String()) + if err != nil { + log.Ctx(ctx).Error().Msgf("Failed to delete node version w/ err: %v", err) + return drip.DeleteNodeVersion500JSONResponse{Message: "Failed to delete node version", Error: err.Error()}, err + } + + log.Ctx(ctx).Info().Msgf("Node version %s deleted successfully", request.VersionId) + return drip.DeleteNodeVersion204Response{}, nil } func (s *DripStrictServerImplementation) GetNodeVersion( diff --git a/server/middleware/authorization/authorization_middleware.go b/server/middleware/authorization/authorization_middleware.go index 12f8228..183df99 100644 --- a/server/middleware/authorization/authorization_middleware.go +++ b/server/middleware/authorization/authorization_middleware.go @@ -133,6 +133,20 @@ func (m *AuthorizationManager) AuthorizationMiddleware() drip.StrictMiddlewareFu return req.(drip.DeleteNodeVersionRequestObject).NodeId }, ), + m.assertPublisherPermission( + []schema.PublisherPermissionType{schema.PublisherPermissionTypeOwner}, + func(req interface{}) (publisherID string) { + return req.(drip.DeleteNodeVersionRequestObject).PublisherId + }, + ), + m.assertNodeBelongsToPublisher( + func(req interface{}) (publisherID string) { + return req.(drip.DeleteNodeVersionRequestObject).PublisherId + }, + func(req interface{}) (publisherID string) { + return req.(drip.DeleteNodeVersionRequestObject).NodeId + }, + ), }, "GetNodeVersion": { m.assertNodeBanned( diff --git a/services/registry/registry_svc.go b/services/registry/registry_svc.go index d12863f..40a6845 100644 --- a/services/registry/registry_svc.go +++ b/services/registry/registry_svc.go @@ -514,6 +514,12 @@ func (s *RegistryService) GetNodeVersionByVersion(ctx context.Context, client *e Only(ctx) } +func (s *RegistryService) GetNodeVersion(ctx context.Context, client *ent.Client, nodeVersionId string) (*ent.NodeVersion, error) { + log.Ctx(ctx).Info().Msgf("getting node version %v", nodeVersionId) + return client.NodeVersion. + Get(ctx, uuid.MustParse(nodeVersionId)) +} + func (s *RegistryService) UpdateNodeVersion(ctx context.Context, client *ent.Client, update *ent.NodeVersionUpdateOne) (*ent.NodeVersion, error) { log.Ctx(ctx).Info().Msgf("updating node version fields: %v", update.Mutation().Fields()) return db.WithTxResult(ctx, client, func(tx *ent.Tx) (*ent.NodeVersion, error) { @@ -809,6 +815,30 @@ func (s *RegistryService) DeleteNode(ctx context.Context, client *ent.Client, no return nil } +func (s *RegistryService) DeleteNodeVersion(ctx context.Context, client *ent.Client, nodeIDVersion string) error { + log.Ctx(ctx).Info().Msgf("deleting node version: %v", nodeIDVersion) + db.WithTx(ctx, client, func(tx *ent.Tx) error { + nv, err := tx.Client().NodeVersion.Get(ctx, uuid.MustParse(nodeIDVersion)) + if err != nil { + return fmt.Errorf("fail to fetch node version while deleting node version: %w", err) + } + + err = tx.Client().NodeVersion.UpdateOneID(nv.ID). + SetStatus(schema.NodeVersionStatusDeleted). + Exec(ctx) + if err != nil { + return fmt.Errorf("failed to update node version status: %w", err) + } + + if err = s.algolia.DeleteNodeVersions(ctx, nv); err != nil { + return fmt.Errorf("fail to delete node version from algolia: %w", err) + } + + return nil + }) + return nil +} + type errorPermission string // Error implements error.