@API(status=STABLE)
public interface OboStreamService
Modifier and Type | Method and Description |
---|---|
void |
addMemberToRoom(java.lang.Long userId,
java.lang.String roomId)
|
Stream |
create(java.util.List<java.lang.Long> uids)
Create a new single or multi party instant message conversation between the caller and specified users.
|
Stream |
create(java.lang.Long... uids)
|
V3RoomDetail |
create(V3RoomAttributes roomAttributes)
Create a new chatroom.
|
void |
demoteUserToRoomParticipant(java.lang.Long userId,
java.lang.String roomId)
|
V3RoomDetail |
getRoomInfo(java.lang.String roomId)
Get information about a particular room.
|
V2StreamAttributes |
getStream(java.lang.String streamId)
|
java.util.stream.Stream<StreamAttributes> |
listAllStreams(StreamFilter filter)
|
java.util.stream.Stream<StreamAttributes> |
listAllStreams(StreamFilter filter,
StreamPaginationAttribute pagination)
|
java.util.List<StreamAttributes> |
listStreams(StreamFilter filter)
|
java.util.List<StreamAttributes> |
listStreams(StreamFilter filter,
PaginationAttribute pagination)
|
void |
promoteUserToRoomOwner(java.lang.Long userId,
java.lang.String roomId)
|
void |
removeMemberFromRoom(java.lang.Long userId,
java.lang.String roomId)
|
java.util.stream.Stream<V3RoomDetail> |
searchAllRooms(V2RoomSearchCriteria query)
Search rooms and return in a
Stream according to the specified criteria. |
java.util.stream.Stream<V3RoomDetail> |
searchAllRooms(V2RoomSearchCriteria query,
StreamPaginationAttribute pagination)
Search rooms and return in a
Stream according to the specified criteria. |
V3RoomSearchResults |
searchRooms(V2RoomSearchCriteria query)
Search rooms according to the specified criteria.
|
V3RoomSearchResults |
searchRooms(V2RoomSearchCriteria query,
PaginationAttribute pagination)
Search rooms according to the specified criteria.
|
V2Message |
share(java.lang.String streamId,
ShareContent content)
|
V3RoomDetail |
updateRoom(java.lang.String roomId,
V3RoomAttributes roomAttributes)
Update the attributes of an existing chatroom.
|
Stream create(@Nonnull java.lang.Long... uids)
uids
- User ids of the participantStream create(@Nonnull java.util.List<java.lang.Long> uids)
The caller is implicitly included in the members of the created chat.
Duplicate users will be included in the membership of the chat but the duplication will be silently ignored.
If there is an existing IM conversation with the same set of participants then the id of that existing stream will be returned.
If the given list of user ids contains only one id, an IM will be created, otherwise, a MIM will be created.
uids
- List of user ids of the participants.V3RoomDetail create(@Nonnull V3RoomAttributes roomAttributes)
roomAttributes
- Attributes of the created roomV2StreamAttributes getStream(@Nonnull java.lang.String streamId)
streamId
- The stream id.V3RoomDetail getRoomInfo(@Nonnull java.lang.String roomId)
roomId
- The room id.java.util.List<StreamAttributes> listStreams(@Nullable StreamFilter filter)
filter
- The stream searching criteria.java.util.List<StreamAttributes> listStreams(@Nullable StreamFilter filter, @Nonnull PaginationAttribute pagination)
filter
- The stream searching criteria.pagination
- The skip and limit for pagination.@API(status=EXPERIMENTAL) java.util.stream.Stream<StreamAttributes> listAllStreams(@Nullable StreamFilter filter)
filter
- The stream searching criteria.Stream
of matching streams according to the searching criteria.@API(status=EXPERIMENTAL) java.util.stream.Stream<StreamAttributes> listAllStreams(@Nullable StreamFilter filter, @Nonnull StreamPaginationAttribute pagination)
filter
- The stream searching criteria.pagination
- The chunkSize and totalSize for pagination.Stream
of matching streams according to the searching criteria.V3RoomSearchResults searchRooms(@Nonnull V2RoomSearchCriteria query)
query
- The room searching criteriaV3RoomSearchResults searchRooms(@Nonnull V2RoomSearchCriteria query, @Nonnull PaginationAttribute pagination)
query
- The room searching criteria.pagination
- The skip and limit for pagination.@API(status=EXPERIMENTAL) java.util.stream.Stream<V3RoomDetail> searchAllRooms(@Nonnull V2RoomSearchCriteria query)
Stream
according to the specified criteria.query
- The room searching criteria.Stream
of rooms returned according to the given criteria.@API(status=EXPERIMENTAL) java.util.stream.Stream<V3RoomDetail> searchAllRooms(@Nonnull V2RoomSearchCriteria query, @Nonnull StreamPaginationAttribute pagination)
Stream
according to the specified criteria.query
- The room searching criteria.pagination
- The chunkSize and totalSize for stream pagination.Stream
of rooms returned according to the given criteria.V3RoomDetail updateRoom(@Nonnull java.lang.String roomId, @Nonnull V3RoomAttributes roomAttributes)
roomId
- The id of the room to be updatedroomAttributes
- The attributes to be updated to the roomvoid addMemberToRoom(@Nonnull java.lang.Long userId, @Nonnull java.lang.String roomId)
userId
- The id of the user to be added to the given roomroomId
- The room idvoid removeMemberFromRoom(@Nonnull java.lang.Long userId, @Nonnull java.lang.String roomId)
userId
- The id of the user to be removed from the given roomroomId
- The room idV2Message share(@Nonnull java.lang.String streamId, @Nonnull ShareContent content)
streamId
- The stream id.content
- The third-party ShareContent
to be shared.void promoteUserToRoomOwner(@Nonnull java.lang.Long userId, @Nonnull java.lang.String roomId)
userId
- The id of the user to be promoted to room owner.roomId
- The room id.void demoteUserToRoomParticipant(@Nonnull java.lang.Long userId, @Nonnull java.lang.String roomId)
userId
- The id of the user to be demoted to room participant.roomId
- The room id.