Provisioing: Update provisioned folder with a manager identity (#110988)
This commit is contained in:
@@ -562,14 +562,15 @@ func (s *Service) updateOnApiServer(ctx context.Context, cmd *folder.UpdateFolde
|
||||
|
||||
user := cmd.SignedInUser
|
||||
|
||||
foldr, err := s.unifiedStore.Update(ctx, folder.UpdateFolderCommand{
|
||||
UID: cmd.UID,
|
||||
OrgID: cmd.OrgID,
|
||||
NewTitle: cmd.NewTitle,
|
||||
NewDescription: cmd.NewDescription,
|
||||
SignedInUser: user,
|
||||
Overwrite: cmd.Overwrite,
|
||||
Version: cmd.Version,
|
||||
folder, err := s.unifiedStore.Update(ctx, folder.UpdateFolderCommand{
|
||||
UID: cmd.UID,
|
||||
OrgID: cmd.OrgID,
|
||||
NewTitle: cmd.NewTitle,
|
||||
NewDescription: cmd.NewDescription,
|
||||
SignedInUser: user,
|
||||
Overwrite: cmd.Overwrite,
|
||||
Version: cmd.Version,
|
||||
ManagerKindClassicFP: cmd.ManagerKindClassicFP, // nolint:staticcheck
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
@@ -579,7 +580,7 @@ func (s *Service) updateOnApiServer(ctx context.Context, cmd *folder.UpdateFolde
|
||||
if cmd.NewTitle != nil {
|
||||
metrics.MFolderIDsServiceCount.WithLabelValues(metrics.Folder).Inc()
|
||||
|
||||
if err := s.publishFolderFullPathUpdatedEventViaApiServer(ctx, foldr.Updated, cmd.OrgID, cmd.UID); err != nil {
|
||||
if err := s.publishFolderFullPathUpdatedEventViaApiServer(ctx, folder.Updated, cmd.OrgID, cmd.UID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@@ -587,7 +588,7 @@ func (s *Service) updateOnApiServer(ctx context.Context, cmd *folder.UpdateFolde
|
||||
// always expose the dashboard store sequential ID
|
||||
metrics.MFolderIDsServiceCount.WithLabelValues(metrics.Folder).Inc()
|
||||
|
||||
return foldr, nil
|
||||
return folder, nil
|
||||
}
|
||||
|
||||
func (s *Service) deleteFromApiServer(ctx context.Context, cmd *folder.DeleteFolderCommand) error {
|
||||
|
||||
@@ -97,6 +97,10 @@ func (ss *FolderUnifiedStoreImpl) Update(ctx context.Context, cmd folder.UpdateF
|
||||
return nil, err
|
||||
}
|
||||
updated := obj.DeepCopy()
|
||||
meta, err := utils.MetaAccessor(updated)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if cmd.NewTitle != nil {
|
||||
err = unstructured.SetNestedField(updated.Object, *cmd.NewTitle, "spec", "title")
|
||||
@@ -111,10 +115,6 @@ func (ss *FolderUnifiedStoreImpl) Update(ctx context.Context, cmd folder.UpdateF
|
||||
}
|
||||
}
|
||||
if cmd.NewParentUID != nil {
|
||||
meta, err := utils.MetaAccessor(updated)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
meta.SetFolder(*cmd.NewParentUID)
|
||||
} else {
|
||||
// only compare versions if not moving the folder
|
||||
@@ -123,6 +123,14 @@ func (ss *FolderUnifiedStoreImpl) Update(ctx context.Context, cmd folder.UpdateF
|
||||
}
|
||||
}
|
||||
|
||||
// nolint:staticcheck
|
||||
if cmd.ManagerKindClassicFP != "" {
|
||||
meta.SetManagerProperties(utils.ManagerProperties{
|
||||
Kind: utils.ManagerKindClassicFP,
|
||||
Identity: cmd.ManagerKindClassicFP,
|
||||
})
|
||||
}
|
||||
|
||||
out, err := ss.k8sclient.Update(ctx, updated, cmd.OrgID, v1.UpdateOptions{
|
||||
FieldValidation: v1.FieldValidationIgnore,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user