func()

in controllers/gerritprojectaccess/controller.go [135:163]


func (r *Reconcile) tryToReconcile(ctx context.Context, instance *gerritApi.GerritProjectAccess) error {
	cl, err := helper.GetGerritClient(ctx, r.client, instance, instance.Spec.OwnerName, r.service)
	if err != nil {
		return errors.Wrap(err, "unable to init gerrit client")
	}

	if len(instance.Spec.References) > 0 && !instance.Status.Created {
		if err := cl.AddAccessRights(instance.Spec.ProjectName, prepareAccessInfo(instance.Spec.References)); err != nil {
			return errors.Wrap(err, "unable to add access rights")
		}
	} else if len(instance.Spec.References) > 0 {
		if err := cl.UpdateAccessRights(instance.Spec.ProjectName, prepareAccessInfo(instance.Spec.References)); err != nil {
			return errors.Wrap(err, "unable to update access rights")
		}
	}

	if instance.Spec.Parent != "" {
		if err := cl.SetProjectParent(instance.Spec.ProjectName, instance.Spec.Parent); err != nil {
			return errors.Wrap(err, "unable to set project parent")
		}
	}

	if err := helper.TryToDelete(ctx, r.client, instance, finalizerName,
		r.makeDeletionFunc(cl, instance.Spec.ProjectName, instance.Spec.References)); err != nil {
		return errors.Wrap(err, "error during TryToDelete")
	}

	return nil
}