package com.app.simplitend.cg_subscription.mvp;

import androidx.annotation.NonNull;

import com.app.simplitend.cg_subscription.SubscriptionPlan;

import java.util.ArrayList;

public interface SubscriptionContracts {

    interface GetSubPlansCallback{

        void onSubscriptionFetched(ArrayList<SubscriptionPlan> subscriptionPlans);

        void onSubsFetchFailed(Throwable t, String message);

    }

    interface PaySubscriptionCallback{

        void onPaymentCredFetched(SubscriptionCredentials credentials);

        void onPaymentCredFetchFailed(Throwable throwable, String message);

    }

    interface CreateSubscriptionCallback{
        void onSubscriptionCreated();

        void onSubscriptionCreateFailed(Throwable throwable, String message);
    }

    interface GetCurrentPlanCallback{
        void currentPlan(@NonNull CurrentPlan currentPlan);
        void failedCurrentPlan(Throwable t, String message);
    }

    interface CancelSubscriptionCallback{
        void subscriptionCancelled(@NonNull CurrentPlan currentPlan);
        void subscriptionCancelFailed(Throwable t, String message);
    }
}
