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

io.relayr.java.api.mock.MockUserApi Maven / Gradle / Ivy

package io.relayr.java.api.mock;

import com.google.gson.reflect.TypeToken;

import java.util.List;

import javax.inject.Inject;

import io.relayr.java.api.UserApi;
import io.relayr.java.model.Bookmark;
import io.relayr.java.model.device.BookmarkDevice;
import io.relayr.java.model.Device;
import io.relayr.java.model.Transmitter;
import io.relayr.java.model.User;
import io.relayr.java.model.account.Account;
import io.relayr.java.model.groups.Group;
import rx.Observable;
import rx.Subscriber;

public class MockUserApi implements UserApi {

    private final MockBackend mServer;

    @Inject
    public MockUserApi(MockBackend mockBackend) {
        mServer = mockBackend;
    }

    @Override
    public Observable getUserInfo() {
        return mServer.createObservable(new TypeToken() {}, MockBackend.USER_INFO);
    }

    @Override
    public Observable> getDevices(String userId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.USER_DEVICES);
    }

    @Override public Observable> getGroups(String userId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.USER_GROUPS);
    }

    @Override public Observable deleteAllGroups(String userId) {
        return Observable.empty();
    }

    @Override
    public Observable updateUserDetails(User user, String userId) {
        return Observable.just(user);
    }

    @Override
    public Observable> getTransmitters(String userId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.USERS_TRANSMITTERS);
    }

    @Override
    public Observable bookmarkPublicDevice(String userId, String deviceId) {
        return mServer.createObservable(new TypeToken() {
        }, MockBackend.BOOKMARK_DEVICE);
    }

    @Override
    public Observable deleteBookmark(String userId, String deviceId) {
        return Observable.create(new Observable.OnSubscribe() {
            @Override
            public void call(Subscriber subscriber) {
                subscriber.onNext(null);
            }
        });
    }

    @Override
    public Observable> getBookmarkedDevices(String userId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.BOOKMARKED_DEVICES);
    }

    @Override public Observable> getAccounts(String userId) {
        return mServer.createObservable(new TypeToken>() {
        }, MockBackend.USER_ACCOUNTS);
    }

    @Override
    public Observable isAccountConnected(String userId, String accountName) {
        return Observable.empty();
    }

    @Override
    public Observable disconnectAccount(String userId, String accountName) {
        return Observable.empty();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy