package org.dicadeveloper.weplantaforest.admin.user;
import java.util.List;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
public interface UserRepository extends CrudRepository<User, Long> {
public final static String USER_EXISTS_QUERY = "SELECT COUNT(user) FROM User user WHERE user.name = :name)";
public final static String FIND_PASSWORD_BY_USER_QUERY = "SELECT user.password FROM User user WHERE user.name = :name)";
public final static String USER_WITH_MAIL_EXISTS_QUERY = "SELECT COUNT(user) FROM User user WHERE user.mail = :mail)";
@Query
public User findByName(@Param("name") String name);
@Query(value = USER_EXISTS_QUERY)
public long userExists(@Param("name") String name);
@Query(value = USER_WITH_MAIL_EXISTS_QUERY)
public long userWithMailExists(@Param("mail") String mail);
@Query(value ="SELECT user FROM User user")
public Page<User> findAllUser(Pageable page);
@Query
public List<User> findAllByOrderByNameAsc();
}