Created
September 17, 2017 13:59
-
-
Save soufDev/1ca6d56ed36326f4ab26950571cab915 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.globbiz.v3.repository; | |
import com.globbiz.v3.domain.User; | |
import org.springframework.data.domain.Page; | |
import org.springframework.data.domain.Pageable; | |
import org.springframework.data.mongodb.repository.MongoRepository; | |
import org.springframework.data.mongodb.repository.Query; | |
import java.util.Date; | |
import java.util.List; | |
import java.util.Optional; | |
/** | |
* Created by amine on 17/04/2017. | |
*/ | |
public interface UserRepository extends MongoRepository<User,String>{ | |
Optional<User> findOneById(String userID); | |
Optional<User> findOneByUsername(String username); | |
Optional<User> findOneByEmail(String email); | |
@Query("{ userGroupId: ?0 }") | |
List<User> findByUserGroupId(String groupdId); | |
Page<User> findAll(Pageable pageable); | |
List<User> findAllByUsername(String username); | |
List<User> findAllByFirstName(String firstName); | |
List<User> findAllByLastName(String lastName); | |
List<User> findAllByEmail(String email); | |
List<User> findAllByActivated(boolean activated); | |
@Query("{ userGroupId: ?0 }") | |
List<User> findAllByUserGroupId(String groupdId); | |
List<User> findAllByFirstNameAndLastName(String firstName, String lastName); | |
List<User> findAllByCreationDateBetween(Date creationDate, Date creationDate1); | |
List<User> findAllByFirstNameAndLastNameAndEmail(String firstName, String lastName, String email); | |
List<User> findAllByFirstNameAndLastNameAndActivated(String firstName, String lastName, boolean activated); | |
List<User> findAllByFirstNameAndLastNameAnd(String firstName, String lastName, boolean activated); | |
@Query("{ userGroupId: ?2 }") | |
List<User> findAllByFirstNameAndLastNameAndUserGroupId(String firstName, String lastName, String group); | |
List<User> findAllByFirstNameAndLastNameAndCreationDateBetween(String firstName, String lastName, Date creationDate, Date creationDate1); | |
@Query("" | |
+ "{ $or: [ { $where: '?0==null' }, {username: ?0} ] }, " | |
+ "{ $or: [ {firstName: ?1}, { $where: '?1 == null' } ] }, " | |
+ "{ $or: [ { $where: '?2 == null' }, {lastName: ?2} ] }, " | |
+ "{ $or: [ { $where: '?3 == null' }, {email: ?3} ] }, " | |
+ "{activated: ?4}, " | |
+ "{ $or: [ { $where: '?5 == null' }, {userGroupId: ?5} ] }, " | |
+ "{ $or: [ { $where: '?6 == null' }, { $where: '?7 == null' }, creationDate: { $gte: ?6, $lte: ?7 }] }" | |
) | |
List<User> findByParams(String userName, String firstName, String lastName, String email, boolean activated, | |
String groupId, Date creationDate, | |
Date creationDate1); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment