in controllers/cleanuppolicy/chain/create_cleanuppolicy.go [22:52]
func (c *CreateNexusCleanupPolicy) ServeRequest(ctx context.Context, policy *nexusApi.NexusCleanupPolicy) error {
log := ctrl.LoggerFrom(ctx).WithValues("name", policy.Spec.Name)
log.Info("Start creating cleanup policy")
_, err := c.apiClient.Get(ctx, policy.Spec.Name)
if err != nil {
if !nexus.IsErrNotFound(err) {
return fmt.Errorf("failed to get cleanup policy: %w", err)
}
log.Info("Cleanup policy doesn't exist, creating new one")
if err = c.apiClient.Create(ctx, specToCleanupPolicy(&policy.Spec)); err != nil {
return fmt.Errorf("failed to create cleanup policy: %w", err)
}
log.Info("Cleanup policy has been created")
return nil
}
log.Info("Updating cleanup policy")
if err = c.apiClient.Update(ctx, policy.Spec.Name, specToCleanupPolicy(&policy.Spec)); err != nil {
return fmt.Errorf("failed to update cleanup policy: %w", err)
}
log.Info("Cleanup policy has been updated")
return nil
}