package org.springframework.social.instagram.api;
import java.util.List;
public interface MediaOperations {
/**
* Create a comment on a media.
* @param mediaId
* @param text
*/
void addComment(long mediaId, String text);
/**
* Set a like on this media by the currently authenticated user.
* @param mediaId
*/
void addLike(long mediaId);
/**
* Remove a comment either on the authenticated user's media or authored by the authenticated user.
* @param mediaId
* @param commentId
*/
void deleteComment(long mediaId, long commentId);
/**
* Remove a like on this media by the currently authenticated user.
* @param mediaId
*/
void deleteLike(long mediaId);
/**
* Get a full list of comments on a media.
* @param mediaId
* @return A list of comments
*/
List<Comment> getComments(long mediaId);
/**
* Get a list of users who have liked this media.
* @param mediaId
* @return A list of users
*/
List<InstagramProfile> getLikes(long mediaId);
/**
* Get information about a media object.
* @param mediaId
* @return Media information
*/
Media getMedia(long mediaId);
/**
* Get a list of what media is most popular at the moment.
* @return A list of media
*/
List<Media> getPopular();
/**
* Search for media in a given area.
* @param latitude
* @param longitude
* @return A list of media
*/
List<Media> search(double latitude, double longitude);
/**
* Search for media in a given area.
* @param latitude
* @param longitude
* @param distance
* @return A list of media
*/
List<Media> search(double latitude, double longitude, int distance);
/**
* Search for media in a given area.
* @param latitude
* @param longitude
* @param maxTimeStamp
* @param minTimeStamp
* @param distance
* @return A list of media
*/
List<Media> search(double latitude, double longitude, long maxTimeStamp, long minTimeStamp, int distance);
public static final String MEDIA_ENDPOINT = "media/";
}