@Override public EndpointUserDto findEndpointUserByExternalIdAndTenantId(String externalId, String tenantId) { EndpointUserDto endpointUserDto = null; if (isValidId(externalId) && isValidId(tenantId)) { endpointUserDto = getDto(endpointUserDao.findByExternalIdAndTenantId(externalId, tenantId)); } return endpointUserDto; }
@Override public List<EndpointProfileDto> findEndpointProfilesByExternalIdAndTenantId(String externalId, String tenantId) { if (isValidId(externalId) && isValidId(tenantId)) { EndpointUser endpointUser = endpointUserDao.findByExternalIdAndTenantId(externalId, tenantId); if (endpointUser != null) { return convertDtoList(endpointProfileDao.findByEndpointUserId(endpointUser.getId())); } } return Collections.emptyList(); }
@Override public EndpointUserConfigurationDto findUserConfigurationByExternalUIdAndAppTokenAndSchemaVersion( String externalUid, String appToken, Integer schemaVersion, String tenantId) { if (isNotBlank(externalUid)) { EndpointUser endpointUser = endpointUserDao.findByExternalIdAndTenantId( externalUid, tenantId); if (endpointUser != null) { return getDto(endpointUserConfigurationDao.findByUserIdAndAppTokenAndSchemaVersion( endpointUser.getId(), appToken, schemaVersion)); } else { LOG.warn("Could not find endpoint user by externalUid:", externalUid); throw new IncorrectParameterException("Could not find endpoint user by externalUid"); } } else { LOG.warn("external user id could not be null!"); throw new IncorrectParameterException("externalUid could not be null!"); } }
@Override public EndpointUserDto saveEndpointUser(EndpointUserDto endpointUserDto) { EndpointUserDto endpointUser = null; if (isValidObject(endpointUserDto)) { EndpointUser user = endpointUserDao.findByExternalIdAndTenantId(endpointUserDto .getExternalId(), endpointUserDto.getTenantId()); if (user == null || user.getId().equals(endpointUserDto.getId())) { endpointUser = getDto(endpointUserDao.save(endpointUserDto)); } else { throw new IncorrectParameterException("Can't save endpoint user with same external id"); } } return endpointUser; }
@Override public EndpointProfileDto attachEndpointToUser(String userExternalId, String tenantId, EndpointProfileDto profile) { validateString(userExternalId, "Incorrect userExternalId " + userExternalId); EndpointUser endpointUser = endpointUserDao.findByExternalIdAndTenantId(userExternalId, tenantId); String currentEndpointUserId = profile.getEndpointUserId(); String endpointId = profile.getId();
@Test public void findByExternalIdTest() { TenantDto tenant = generateTenantDto(); EndpointUserDto dto = generateEndpointUserDto(tenant.getId()); Assert.assertNotNull(dto); MongoEndpointUser foundUser = endpointUserDao.findById(dto.getId()); Assert.assertNotNull(foundUser); MongoEndpointUser found = endpointUserDao.findByExternalIdAndTenantId(foundUser.getExternalId(), foundUser.getTenantId().toString()); Assert.assertEquals(foundUser, found); }