backend/buisnesslogic/src/main/java/com/plannaplan/repositories/UserRepository.java

56 lines
1.8 KiB
Java
Raw Normal View History

2020-07-25 10:38:19 +02:00
package com.plannaplan.repositories;
2020-10-19 12:13:02 +02:00
import java.util.List;
import java.util.Optional;
2020-07-25 10:38:19 +02:00
import com.plannaplan.entities.User;
2020-10-19 12:13:02 +02:00
import com.plannaplan.types.UserRoles;
2020-07-25 10:38:19 +02:00
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
2020-07-25 10:38:19 +02:00
import org.springframework.stereotype.Repository;
/**
* UserRepository.getByAuthority:
* Return list of:
* SELECT * FROM User WHERE email = i.
*
* Where i, ?1 are equale to variables.
*
* UserRepository.getByToken:
* Return list of:
* SELECT * FROM User WHERE token = i.
*
* Where i, ?1 are equale to variables.
*
* UserRepository.searchForUsers:
* Return list of:
* SELECT * FROM User WHERE (name LIKE %?1% OR surname LIKE %?1%).
*
* Where i, ?1 are equale to variables.
*
* UserRepository.searchForUsers with role:
* Return list of:
* SELECT * FROM User WHERE (name LIKE %?1% OR surname LIKE %?1%) AND role=?2").
*
* Where i, ?1 are equale to variables.
*/
2020-07-25 10:38:19 +02:00
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Query("FROM User WHERE email = ?1")
Optional<User> getByAuthority(@Param("authority") String authority);
2020-09-14 14:02:05 +02:00
@Query("FROM User WHERE token = ?1")
2020-09-25 17:01:38 +02:00
Optional<User> getByToken(@Param("token") String token);
2020-10-19 12:13:02 +02:00
@Query("FROM User WHERE (name LIKE %?1% OR surname LIKE %?1%)")
List<User> searchForUsers(@Param("query") String query);
@Query("FROM User WHERE (name LIKE %?1% OR surname LIKE %?1%) AND role=?2")
List<User> searchForUsers(@Param("query") String query, @Param("role") UserRoles role);
@Query("FROM User WHERE usosId = ?1")
Optional<User> getByUsosId(@Param("usosId") String usosId);
2020-07-25 10:38:19 +02:00
}