All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.firstdata.clovergo.domain.usecase.LogoutEmployee Maven / Gradle / Ivy

package com.firstdata.clovergo.domain.usecase;

import com.firstdata.clovergo.domain.model.EmployeeMerchant;
import com.firstdata.clovergo.domain.model.UseCaseConstants;
import com.firstdata.clovergo.domain.repository.AuthenticationRepository;

import javax.inject.Inject;

import io.reactivex.Completable;

/**
 * Created by Arjun Chinya on 6/20/16.
 */

public class LogoutEmployee extends UseCase {

    @Inject
    public LogoutEmployee(com.firstdata.clovergo.domain.repository.AuthenticationRepository authenticationRepository) {
        super(authenticationRepository);
    }

    public Completable getObservable() {
        repository.log("log out");
        final EmployeeMerchant employeeMerchant = repository.retrieveFromCache(UseCaseConstants.EMPLOYEE_MERCHANT);

        return repository.logout(employeeMerchant.getEmployee().getSessionToken()).doOnComplete(() -> {
            repository.evictFromCache(UseCaseConstants.EMPLOYEE_MERCHANT);
            repository.evictFromCache(UseCaseConstants.ORDER);
        });
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy