Skip to content

How to continue pipeline #122

Closed
Closed
@jd-solanki

Description

@jd-solanki

Hi, I have am using @partial to pause the pipeline but I don't know how to resume it.

I have checked your example project but I can't anything related to continuing pipeline.

To which URL I should make request. Is it post/get method.

Actually, I have tried various ways before creating this issue like adding social_django urls and making post request to complete view but I am unable to set received data from user e.g. email.

@api_view(["GET","POST"])
@permission_classes([AllowAny,])
def require_email(request):
    strategy = load_strategy()
    partial_token = request.GET.get('partial_token')
    partial = strategy.partial_load(partial_token)

    if request.method == 'POST':
        request.session['email'] = request.data.get('email')

        redirect_url = reverse('social:complete', kwargs={'backend': partial.backend}) + "?partial_token=" + partial_token

        return redirect(redirect_url)
    else:
        return Response({'error': "Email wasn't provided by oauth provider", 'continue_url': f"{reverse('require_email')}?partial_token={partial_token}", 'token': partial_token}, status=202)
@partial
def check_email(strategy, backend, request, response, is_new, details, user=None, *args, **kwargs):

    if user and user.email:
        return

    elif is_new and not details.get('email'):
        email = strategy.session_get('email')

        if email:
            details['email'] = email
        else:
            current_partial = kwargs.get('current_partial')

            return strategy.redirect(f"{reverse('require_email')}?partial_token={kwargs.get('current_partial').token}")

So, @st4lk can you please help me out.

~ Regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions