// Path: protohipster/src/main/java/com/flipper83/protohipster/feed/datasource/api/call/ApiCall.java
// public abstract class ApiCall {
// 
//     protected ApiResponseCallback responseCallback;
// 
//     public ApiCall(ApiResponseCallback responseCallback) {
//         this.responseCallback = responseCallback;
//     }
// 
//     public abstract void call();
// }
// 
// Path: protohipster/src/main/java/com/flipper83/protohipster/feed/datasource/api/callback/ApiResponseCallback.java
// public interface ApiResponseCallback<T> {
//     void complete(T response);
// }
// 
// Path: protohipster/src/main/java/com/flipper83/protohipster/globalutils/module/LoggerProvider.java
// public class LoggerProvider {
// 
//     @Inject
//     static Logger logger;
// 
//     public LoggerProvider() {
// 
//     }
// 
//     public static Logger getLogger() {
//         return logger;
//     }
// }


import com.flipper83.protohipster.feed.datasource.api.call.ApiCall;
import com.flipper83.protohipster.feed.datasource.api.callback.ApiResponseCallback;
import com.flipper83.protohipster.globalutils.module.LoggerProvider;
import com.parse.FindCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import java.util.List;
package com.flipper83.protohipster.feed.datasource.api.call.parse;



/**
 * Like a user api call
 */
public class LikeUserCall extends ApiCall {

    private static final String LOGTAG = "LikeUserCall";
    private final String userId;

    public LikeUserCall(String userId, ApiResponseCallback<String> responseCallback) {
        super(responseCallback);
        this.userId = userId;
    }

    @Override
    public void call() {
        ParseQuery<ParseObject> query = ParseQuery.getQuery(ParseLikeTableDefinitions.PARSE_LIKE_TABLE);
        query.whereEqualTo(ParseLikeTableDefinitions.PARSE_LIKE_USER_ID, userId);

        query.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> parseLikes, ParseException e) {
// Path: protohipster/src/main/java/com/flipper83/protohipster/feed/datasource/api/call/ApiCall.java
// public abstract class ApiCall {
// 
//     protected ApiResponseCallback responseCallback;
// 
//     public ApiCall(ApiResponseCallback responseCallback) {
//         this.responseCallback = responseCallback;
//     }
// 
//     public abstract void call();
// }
// 
// Path: protohipster/src/main/java/com/flipper83/protohipster/feed/datasource/api/callback/ApiResponseCallback.java
// public interface ApiResponseCallback<T> {
//     void complete(T response);
// }
// 
// Path: protohipster/src/main/java/com/flipper83/protohipster/globalutils/module/LoggerProvider.java
// public class LoggerProvider {
// 
//     @Inject
//     static Logger logger;
// 
//     public LoggerProvider() {
// 
//     }
// 
//     public static Logger getLogger() {
//         return logger;
//     }
// }


// Path: protohipster/src/main/java/com/flipper83/protohipster/feed/datasource/api/call/parse/LikeUserCall.java
import com.flipper83.protohipster.feed.datasource.api.call.ApiCall;
import com.flipper83.protohipster.feed.datasource.api.callback.ApiResponseCallback;
import com.flipper83.protohipster.globalutils.module.LoggerProvider;
import com.parse.FindCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import java.util.List;

package com.flipper83.protohipster.feed.datasource.api.call.parse;



/**
 * Like a user api call
 */
public class LikeUserCall extends ApiCall {

    private static final String LOGTAG = "LikeUserCall";
    private final String userId;

    public LikeUserCall(String userId, ApiResponseCallback<String> responseCallback) {
        super(responseCallback);
        this.userId = userId;
    }

    @Override
    public void call() {
        ParseQuery<ParseObject> query = ParseQuery.getQuery(ParseLikeTableDefinitions.PARSE_LIKE_TABLE);
        query.whereEqualTo(ParseLikeTableDefinitions.PARSE_LIKE_USER_ID, userId);

        query.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> parseLikes, ParseException e) {
                if (e == null) {