Summary Table

Categories Total Count
PII 0
URL 0
DNS 1
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content


package gov.va.med.ars.dao.ars;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import gov.va.med.domain.ars.ArsUser;
import gov.va.med.domain.ars.ArsUserRoleUsages;

@Transactional
@Repository
public interface IArsUserRepository extends CrudRepository<ArsUser, Long>, JpaSpecificationExecutor<ArsUser> {

/**
* Get ArsUser by UserName
*
* @param userName
* @return
*/

/*
* SQL version select * from ars_user a left join ars_user_role_usages b on
* a.ars_user_id=b.ars_user_id JOIN ars_Role c on b.ARS_ROLE_ID=
* c.ARS_ROLE_ID where a.user_Name = '
DNS ' and upper(a.enabled) =
* 'Y';
*/
@Query("SELECT u FROM aarsUser u JOIN FETCH u.arsUserRoleUsageses r JOIN FETCH r.arsRole a WHERE UPPER(u.userName) = UPPER(:username) ")
ArsUser findByArsUserName(@Param("username") String userName);

@Query("select userName from aarsUser")
List<String> getAllUsers();

ArsUser findByUserNameIgnoreCase(String userName);

@Query("select distinct a from aarsUser a JOIN FETCH a.arsUserRoleUsageses au WHERE UPPER(a.userName) = UPPER(:userName) AND au.id.arsRoleId IN :roleIds ")
ArsUser findByUserName(@Param("userName") String userName, @Param("roleIds") List<Long> roleIds);

ArsUser findByArsUserId(Long usedId);

@Query("SELECT CASE WHEN COUNT(a) > 0 THEN true ELSE false END FROM aarsUser a WHERE UPPER(a.userName) = UPPER(:userName)")
boolean existsByUserName(@Param("userName") String userName);

//ArsUser findByUserNameContainingIgnoreCase(String userName);

@Query("SELECT u FROM aarsUser u JOIN FETCH u.arsUserRoleUsageses r JOIN FETCH r.arsRole a WHERE u.arsUserId = :userid ")
ArsUser findByAppUserIdByUserRoleUsages(@Param("userid") long userid);

@Query("SELECT u FROM aarsUser u JOIN FETCH u.arsUserRoleUsageses r JOIN FETCH r.arsRole a WHERE UPPER(u.userName) = UPPER(:userName) and a.system = :system")
ArsUser findByUserNameAndSystem(@Param("userName") String userName, @Param("system") String system);

/* @Query("SELECT u FROM aarsUser u JOIN FETCH u.arsUserRoleUsageses r WHERE u.arsUserId = :userName and r.arsRole.roleName <> :roleName")
ArsUser findByUserNameWithActiveRoles(@Param("userName") String userName, @Param("roleName") String roleName);*/

/*@Query(value = "select distinct u from aarsUser u JOIN FETCH u.arsUserRoleUsageses r JOIN FETCH r.arsRole a where NOT r.id.arsUserId IN (select distinct ar.id.arsUserId from aarsUserRoleUsages ar where ar.id.arsRoleId IN (select arr.arsRoleId from aarsRole arr where arr.roleName like :systemSpecificInactiveRole)) and a.system = :system ",
countQuery = "select count(aru) from aarsUser aru where aru in (select distinct u from aarsUser u JOIN u.arsUserRoleUsageses r JOIN r.arsRole a where NOT r.id.arsUserId IN (select distinct ar.id.arsUserId from aarsUserRoleUsages ar where ar.id.arsRoleId IN (select arr.arsRoleId from aarsRole arr where arr.roleName like :systemSpecificInactiveRole)) and a.system = :system ) ")
Page<ArsUser> findArsUsersWithRoleIdWithOutInActiveUsers(@Param("systemSpecificInactiveRole") String systemSpecificInactiveRole, @Param("system") String system, Pageable pageRequest);

@Query(value = "select distinct u from aarsUser u JOIN FETCH u.arsUserRoleUsageses r JOIN FETCH r.arsRole a where a.system = :system ",
countQuery = "select count(aru) from aarsUser aru where aru in (select distinct u from aarsUser u JOIN u.arsUserRoleUsageses r JOIN r.arsRole a where a.system = :system ) ")
Page<ArsUser> findArsUsersWithRoleIdWithInActiveUsers(@Param("system") String system, Pageable pageable);*/
}