package com.app.simplitend.caregiverdashboard.mvvm;

import androidx.annotation.NonNull;

import com.app.simplitend.caregiverdashboard.mvvm.models.GeoFenceDetails;
import com.app.simplitend.welcome.welcomecg.mvvm.CareGiverData;
import com.app.simplitend.welcome.welcomepatient.mvvm.models.PatientData;

public interface CgHomeContracts {

    interface GetGeoFenceCallback {

        void onGeofenceDetailsFetched(GeoFenceDetails geoFenceDetails);

        void onGeofenceDetailsFetchFailed(Throwable throwable, String message);

    }

    interface SaveGeoFenceCallback {

        void onGeofenceDetailsSaved(GeoFenceDetails geoFenceDetails);

        void onGeofenceDetailsSaveFailed(Throwable throwable, String message);

    }

    interface UpdateCaregiverDataCallback {
        void onCaregiverDataUpdated(@NonNull CareGiverData careGiverData);

        void onCaregiverDateUpdateFailed(Throwable throwable, String message);
    }

    interface UpdatePatientDataCallback {
        void onPatientDataUpdated(@NonNull PatientData patientData);

        void onPatientDataUpdateFailed(Throwable throwable, String message);
    }

    interface UpdatePatientAddressCallback {
        void onPatientAddressUpdated(@NonNull PatientData patientData);

        void onPatientAddressUpdateFailed(Throwable throwable, String message);
    }

    interface UpdateCgPasswordCallback {
        void onPasswordUpdated(@NonNull CareGiverData patientData);

        void onPasswordUpdateFailed(Throwable throwable, String message);
    }

    interface SignOutCallback{
        void onSignOutSuccess();
        void onSignOutFailed(Throwable t, String message);
    }

}
