Merge pull request #26 from informatik-ag-ngl/f/contacts

Contacts handling on the server
This commit is contained in:
DieGurke
2020-02-11 18:25:45 +01:00
committed by GitHub
6 changed files with 143 additions and 16 deletions

View File

@ -16,14 +16,19 @@ import javax.persistence.*;
* Created: <strong>02.01.2020</strong><br>
*
* @author Kai S. K. Engelbart
* @author Maximilian K&auml;fer
* @since Envoy Server Standalone v0.1-alpha
*/
@Entity
@Table(name = "users")
@NamedQueries(
{ @NamedQuery(query = "SELECT u FROM User u WHERE u.name = :name", name = "getUserByName"),
@NamedQuery(query = "SELECT u.contacts FROM User u WHERE u = :user", name = "getContactsOfUser")// not tested
}
{ @NamedQuery(query = "SELECT u FROM User u WHERE u.name = :name", name = "getUserByName"), @NamedQuery(
query = "SELECT u.contacts FROM User u WHERE u = :user",
name = "getContactsOfUser"
), @NamedQuery(
query = "SELECT u FROM User u WHERE (lower(u.name) LIKE lower(:searchPhrase) AND u <> :context AND NOT :context in elements(u.contacts))",
name = "searchUsers"
) }
)
public class User {
@ -37,7 +42,7 @@ public class User {
private Date lastSeen;
private envoy.data.User.UserStatus status;
@OneToMany(targetEntity = User.class, cascade = CascadeType.ALL, orphanRemoval = true)
@ManyToMany(targetEntity = User.class, cascade = CascadeType.ALL)
private List<User> contacts;
/**