Package com.cyran.tp.server.users
Interface UsersRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<Users,java.lang.Integer>
,org.springframework.data.jpa.repository.JpaRepository<Users,java.lang.Integer>
,org.springframework.data.jpa.repository.JpaSpecificationExecutor<Users>
,org.springframework.data.repository.PagingAndSortingRepository<Users,java.lang.Integer>
,org.springframework.data.repository.query.QueryByExampleExecutor<Users>
,org.springframework.data.repository.Repository<Users,java.lang.Integer>
public interface UsersRepository extends org.springframework.data.jpa.repository.JpaRepository<Users,java.lang.Integer>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<Users>
User repository for making query to User table
- Author:
- Jakub Perdek
-
Method Summary
Modifier and Type Method Description void
changeEmail(java.lang.String oldEmail, java.lang.String newEmail)
Changes email of uservoid
changeName(java.lang.String oldName, java.lang.String newName)
Changes name of uservoid
changePassword(java.lang.String password, java.lang.String email)
Changes password of userjava.util.List<Users>
findAll()
Gets all userUsers[]
findByEmail(java.lang.String emailU)
Selects users according email except admin - it is used for searchUsers[]
findByName(java.lang.String nameU)
Selects users according name except admin - it is used for searchUsers
getByEmail(java.lang.String string)
Selects only one user according email except admin, otherwise it failsUsers
getByName(java.lang.String string)
Selects only one user according name except admin, otherwise it failsvoid
insertUser(java.lang.String name, java.lang.String email, java.lang.String password)
Inserts new user to databsevoid
updateRole(java.lang.Integer roleId, java.lang.Integer userId)
Update associted priviledge of uservoid
updateRoleAccordingName(java.lang.Integer roleId, java.lang.String userName)
Update priviledge - role according user nameMethods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteById, existsById, findById, save
Methods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllInBatch, deleteInBatch, findAll, findAll, findAll, findAllById, flush, getOne, saveAll, saveAndFlush
Methods inherited from interface org.springframework.data.jpa.repository.JpaSpecificationExecutor
count, findAll, findAll, findAll, findOne
-
Method Details
-
findByName
@Query(value="SELECT * FROM users WHERE name LIKE (?1) AND name != \'admin\'", nativeQuery=true) Users[] findByName(java.lang.String nameU)Selects users according name except admin - it is used for search- Parameters:
nameU
- - name which identifies users- Returns:
- array of users obtained according name
-
findByEmail
@Query(value="SELECT * FROM users WHERE email LIKE :emailU AND email != \'admin@topsecret.com\'", nativeQuery=true) Users[] findByEmail(@Param("emailU") java.lang.String emailU)Selects users according email except admin - it is used for search- Parameters:
emailU
- - email which identifies users- Returns:
- array of users obtained according email
-
getByName
@Query(value="SELECT * FROM users WHERE name = ?1", nativeQuery=true) Users getByName(java.lang.String string)Selects only one user according name except admin, otherwise it fails- Parameters:
string
- - name which identifies user- Returns:
- user obtained according name
-
getByEmail
@Query(value="SELECT * FROM users WHERE email = ?1 AND email != \'admin@topsecret.com\'", nativeQuery=true) Users getByEmail(java.lang.String string)Selects only one user according email except admin, otherwise it fails- Parameters:
string
- email which identifies user- Returns:
- user obtained according email
-
changeName
@Query(value="UPDATE users SET name = ?2 WHERE name = ?1", nativeQuery=true) @Modifying @Transactional void changeName(java.lang.String oldName, java.lang.String newName)Changes name of user- Parameters:
oldName
- - old name of user which should be changednewName
- - new name which should replace old
-
changeEmail
@Query(value="UPDATE users SET email = ?2 WHERE email = ?1", nativeQuery=true) @Modifying @Transactional void changeEmail(java.lang.String oldEmail, java.lang.String newEmail)Changes email of user- Parameters:
oldEmail
- - old email of user which should be changednewEmail
- - new email which should replace old
-
changePassword
@Query(value="UPDATE users SET password = ?1 WHERE email = ?2", nativeQuery=true) @Modifying @Transactional void changePassword(java.lang.String password, java.lang.String email)Changes password of user- Parameters:
password
- - old hashed password of user which should be changedemail
- - new hashed password which should replace old
-
insertUser
@Query(value="INSERT INTO users(name, email, password) VALUES (password = ?1, email = ?2, password = ?3)", nativeQuery=true) @Modifying @Transactional void insertUser(java.lang.String name, java.lang.String email, java.lang.String password)Inserts new user to databse- Parameters:
name
- - name of new useremail
- - email of new userpassword
- - password of new user
-
updateRole
@Query(value="UPDATE users SET priviledges_id = ?1 WHERE id = ?2", nativeQuery=true) @Modifying @Transactional void updateRole(java.lang.Integer roleId, java.lang.Integer userId)Update associted priviledge of user- Parameters:
roleId
- - new role id for useruserId
- - user identifier for who role should be changed
-
updateRoleAccordingName
@Query(value="UPDATE users SET priviledges_id = ?1 WHERE name = ?2", nativeQuery=true) @Modifying @Transactional void updateRoleAccordingName(java.lang.Integer roleId, java.lang.String userName)Update priviledge - role according user name- Parameters:
roleId
- - role id of associated roleuserName
- - user name which identifies user
-
findAll
java.util.List<Users> findAll()Gets all user
-