package org.fluxtream.core.services; import org.fluxtream.core.domain.*; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * * @author Candide Kemmler (candide@fluxtream.com) */ public interface BuddiesService { public static final String BUDDY_TO_ACCESS_PARAM = "buddyToAccess"; public void addTrustedBuddy(long guestId, String username); public void removeTrustedBuddy(long guestId, String username); public SharedConnector addSharedConnector(long guestId, String username, String connectorName, String filterJson); public void removeSharedConnector(long guestId, String username, String connectorName); public void removeSharedConnectors(long apiKeyId); public boolean isViewingGranted(long guestId, long trustingBuddyId, String connectorName); public List<Guest> getTrustingBuddies(long guestId); public List<Guest> getTrustedBuddies(long guestId); public TrustedBuddy getTrustedBuddy(long guestId, String username); public TrustedBuddy getTrustedBuddy(long guestId, long trustingBuddyId); public <T extends AbstractFacet> List<T> filterFacets(long viewerId, long apiKeyId, List<T> facets); SharedConnector getSharedConnector(long apiKeyId, long viewerId); List<SharedConnector> getSharedConnectors(long trustedBuddyId, long trustingBuddyId); List<SharedConnector> getSharedConnectors(ApiKey apiKey); void setSharedConnectorFilter(long sharedConnectorId, String filterJson); List<SharedChannel> getSharedChannels(long trustedBuddyId, long trustingBuddyId); List<SharedChannel> getSharedChannels(long trustedBuddyId, long trustingBuddyId, long apiKeyId); public SharedChannel addSharedChannel(long trustedBuddyId, long trustingBuddyId, long channelMappingId); void removeSharedChannel(long trustedBuddyId, long trustingBuddyId, long channelMappingId); public void removeSharedChannels(long apiKeyId); @Transactional(readOnly=false) void removeAllSharedChannels(long guestId); @Transactional(readOnly=false) void removeAllSharedConnectors(long guestId); }