Package org.vrspace.server.core
Interface GroupRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<Entity,
,Long> org.springframework.data.neo4j.repository.Neo4jRepository<Entity,
,Long> org.springframework.data.repository.PagingAndSortingRepository<Entity,
,Long> org.springframework.data.repository.query.QueryByExampleExecutor<Entity>
,org.springframework.data.repository.Repository<Entity,
,Long> VRSpaceDB
-
Method Summary
Modifier and TypeMethodDescriptionfindGroup
(long clientId, long groupId) findGroupMember
(long groupId, long clientId) listGroupClients
(long groupId) listGroupMembers
(long groupId) listGroupMemberships
(long clientId) listOwnedGroups
(long clientId) listPendingInvitations
(long clientId) listPendingRequests
(long groupId) listUserGroups
(long clientId) messagesSince
(long groupId, Instant since) unreadMessageCount
(long groupId, Instant since) Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, save
Methods inherited from interface org.springframework.data.neo4j.repository.Neo4jRepository
findAll, findAll, findAll, findAll, findAllById, saveAll
Methods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAll
Methods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
Methods inherited from interface org.vrspace.server.core.VRSpaceDB
deleteById, findById, get, get, getClientByName, getClientByName
-
Method Details
-
listOwnedGroups
-
listUserGroups
-
listGroupMemberships
@Query("MATCH (c:Client)<-[mc:MEMBER_CLIENT]-(gm:GroupMember)-[r:IS_MEMBER_OF]->(ug:UserGroup) WHERE ID(c)=$clientId AND gm.pendingInvite IS NULL AND gm.pendingRequest IS NULL RETURN gm, r, ug ORDER BY ug.name") List<GroupMember> listGroupMemberships(long clientId) -
listGroupClients
-
listGroupMembers
@Query("MATCH (gm:GroupMember)-[r:IS_MEMBER_OF]->(ug:UserGroup) WHERE ID(ug)=$groupId AND gm.pendingRequest IS NULL AND gm.pendingInvite IS NULL RETURN gm, r, ug") List<GroupMember> listGroupMembers(long groupId) -
findGroupMember
@Query("MATCH (c:Client)<-[mc:MEMBER_CLIENT]-(gm:GroupMember)-[r:IS_MEMBER_OF]->(ug:UserGroup) WHERE ID(ug)=$groupId AND ID(c)=$clientId RETURN gm, c, mc, r, ug") Optional<GroupMember> findGroupMember(long groupId, long clientId) -
findGroup
-
findGroup
-
findGroup
-
listPendingRequests
@Query("MATCH (c:Client)<-[mc:MEMBER_CLIENT]-(gm:GroupMember)-[r:IS_MEMBER_OF]->(ug:UserGroup) WHERE ID(ug)=$groupId AND gm.pendingRequest IS NOT NULL RETURN gm, c, mc, r, ug") List<GroupMember> listPendingRequests(long groupId) -
listPendingInvitations
@Query("MATCH (c:Client)<-[mc:MEMBER_CLIENT]-(gm:GroupMember)-[r:IS_MEMBER_OF]->(ug:UserGroup), (s:Client)<-[sc:SPONSOR_CLIENT]-(gm:GroupMember) WHERE ID(c)=$clientId AND gm.pendingInvite IS NOT NULL RETURN gm, c, mc, r, ug, sc, s ORDER BY ug.name") List<GroupMember> listPendingInvitations(long clientId) -
unreadMessageCount
-
messagesSince
@Query("MATCH (c:Client)<-[mc:SENDER_CLIENT]-(msg:GroupMessage)-[r:PARENT_GROUP]->(ug:UserGroup) WHERE ID(ug)=$groupId AND ($since IS NULL OR msg.timestamp >= $since) return msg, mc, c ORDER BY msg.timestamp") List<GroupMessage> messagesSince(long groupId, Instant since)
-