Package io.meeds.chat.service
Class MatrixService
java.lang.Object
io.meeds.chat.service.MatrixService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateDirectMessagingRoom(DirectMessagingRoom directMessagingRoom) createMatrixRoom(org.exoplatform.social.core.space.model.Space space, String roomId) records the matrix ID of the room linked top the spacecreateMatrixRoomForSpace(org.exoplatform.social.core.space.model.Space space) Creates a room for predefined spacecreateRoom(String teamDisplayName, String description) voiddeleteRoom(String roomId) Delete a Matrix roomvoiddisableAccount(String matrixUsername) longgetDirectMessagingRoom(String firstParticipant, String secondParticipant) getJWTSessionToken(String userNameOnMatrix) Returns the JWT for user authenticationgetMatrixDMRoomsOfUser(String user) getMatrixIdForUser(String userName) Get the matrix ID of a defined usergetRoomBySpace(org.exoplatform.social.core.space.model.Space space) Returns the ID of the room linked to a spacegetRoomSettings(String roomId) org.exoplatform.social.core.space.model.SpacegetSpaceByRoomId(String roomId) Returns the ID of the room linked to a spacevoidinit()booleanisUserMemberOfGroup(String userName, String groupId) voidjoinUserToRoom(String roomId, String matrixIdOfUser) voidkickUserFromRoom(String roomId, String matrixIdOfUser, String message) voidmakeUserAdminInRoom(String matrixRoomId, String matrixIdOfUser) voidrenameRoom(String roomId, String spaceDisplayName) saveUserAccount(org.exoplatform.services.organization.User user, boolean isNew, boolean isEnableUserOperation) Saves a new user on MatrixvoidupdateRoomAvatar(org.exoplatform.social.core.space.model.Space space, String roomId) booleanupdateRoomDescription(String roomId, String description) booleanupdateRoomSettings(String roomId, MatrixRoomPermissions matrixRoomPermissions) voidupdateUserAvatar(org.exoplatform.social.core.identity.model.Profile profile, String userMatrixID) uploadFileOnMatrix(String fileName, String mimeType, byte[] fileBytes)
-
Constructor Details
-
MatrixService
public MatrixService()
-
-
Method Details
-
init
@PostConstruct public void init() throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException- Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
getRoomBySpace
Returns the ID of the room linked to a space- Parameters:
space-- Returns:
- the roomId linked to the space
-
getSpaceByRoomId
Returns the ID of the room linked to a space- Parameters:
roomId- the Matrix room ID- Returns:
- the roomId linked to the space
-
createMatrixRoom
public SpaceRoom createMatrixRoom(org.exoplatform.social.core.space.model.Space space, String roomId) records the matrix ID of the room linked top the space- Parameters:
space- the SpaceroomId- the ID of the matrix room- Returns:
- the room ID
-
createMatrixRoomForSpace
public String createMatrixRoomForSpace(org.exoplatform.social.core.space.model.Space space) throws Exception Creates a room for predefined space- Parameters:
space- the space- Returns:
- String representing the room id
- Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedExceptionException
-
getMatrixIdForUser
Get the matrix ID of a defined user- Parameters:
userName- of the user- Returns:
- the matrix ID
-
getJWTSessionToken
Returns the JWT for user authentication- Parameters:
userNameOnMatrix- the username of the current user- Returns:
- String
-
saveUserAccount
public String saveUserAccount(org.exoplatform.services.organization.User user, boolean isNew, boolean isEnableUserOperation) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException Saves a new user on Matrix- Parameters:
user- the user to create on MatrixisNew- boolean if the user is new, then true- Returns:
- String the matrix user ID
- Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
uploadFileOnMatrix
public String uploadFileOnMatrix(String fileName, String mimeType, byte[] fileBytes) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
updateUserAvatar
public void updateUserAvatar(org.exoplatform.social.core.identity.model.Profile profile, String userMatrixID) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
disableAccount
public void disableAccount(String matrixUsername) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
updateRoomDescription
public boolean updateRoomDescription(String roomId, String description) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
updateRoomAvatar
public void updateRoomAvatar(org.exoplatform.social.core.space.model.Space space, String roomId) throws Exception - Throws:
Exception
-
getRoomSettings
public MatrixRoomPermissions getRoomSettings(String roomId) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
updateRoomSettings
public boolean updateRoomSettings(String roomId, MatrixRoomPermissions matrixRoomPermissions) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
kickUserFromRoom
public void kickUserFromRoom(String roomId, String matrixIdOfUser, String message) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
joinUserToRoom
public void joinUserToRoom(String roomId, String matrixIdOfUser) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
renameRoom
public void renameRoom(String roomId, String spaceDisplayName) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
makeUserAdminInRoom
public void makeUserAdminInRoom(String matrixRoomId, String matrixIdOfUser) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException - Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
createRoom
- Throws:
Exception
-
getAllLinkedRooms
public long getAllLinkedRooms() -
getDirectMessagingRoom
public DirectMessagingRoom getDirectMessagingRoom(String firstParticipant, String secondParticipant) -
deleteRoom
public void deleteRoom(String roomId) throws org.exoplatform.ws.frameworks.json.impl.JsonException, IOException, InterruptedException Delete a Matrix room- Parameters:
roomId- the room identifier- Throws:
org.exoplatform.ws.frameworks.json.impl.JsonExceptionIOExceptionInterruptedException
-
createDirectMessagingRoom
public DirectMessagingRoom createDirectMessagingRoom(DirectMessagingRoom directMessagingRoom) throws org.exoplatform.commons.ObjectAlreadyExistsException - Throws:
org.exoplatform.commons.ObjectAlreadyExistsException
-
getMatrixDMRoomsOfUser
-
isUserMemberOfGroup
- Throws:
Exception
-