func()

in controllers/merge_request/controller.go [385:405]


func (r *Reconcile) makeDeletionFunc(ctx context.Context, instance *gerritApi.GerritMergeRequest) func() error {
	return func() error {
		gClient, err := r.getGerritClient(ctx, instance)
		if err != nil {
			return errors.Wrap(err, "unable to get gerrit client")
		}

		change, err := gClient.ChangeGet(instance.Status.ChangeID)
		if err != nil {
			return errors.Wrap(err, "unable to get change id")
		}

		if change.Status == StatusNew {
			if err := gClient.ChangeAbandon(instance.Status.ChangeID); err != nil {
				return errors.Wrap(err, "unable to abandon change")
			}
		}

		return nil
	}
}