@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 EndpointUserDto findEndpointUserById(String id) { EndpointUserDto endpointUserDto = null; if (isValidId(id)) { endpointUserDto = getDto(endpointUserDao.findById(id)); } return endpointUserDto; }
@Override public String generateEndpointUserAccessToken(String externalUid, String tenantId) { return endpointUserDao.generateAccessToken(externalUid, tenantId); }
@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(); endpointUserDto.setExternalId(userExternalId); endpointUserDto.setUsername(userExternalId); endpointUser = endpointUserDao.save(endpointUserDto); EndpointUser currentEndpointUser = endpointUserDao.findById(currentEndpointUserId); if (currentEndpointUser != null) { Collection<String> currentUserEndpointIds = currentEndpointUser.getEndpointIds(); if (currentUserEndpointIds != null && currentUserEndpointIds.remove(endpointId)) { endpointUserDao.save(currentEndpointUser); endpointUser = endpointUserDao.save(endpointUser); String newEndpointUserId = endpointUser.getId(); profile.setEndpointUserId(newEndpointUserId);
@Test public void generateAccessTokenTest() { TenantDto tenant = generateTenantDto(); EndpointUserDto dto = generateEndpointUserDto(tenant.getId()); Assert.assertNotNull(dto); String accessToken = endpointUserDao.generateAccessToken(dto.getExternalId(), dto.getTenantId().toString()); MongoEndpointUser found = endpointUserDao.findById(dto.getId()); Assert.assertEquals(accessToken, found.getAccessToken()); Assert.assertTrue(endpointUserDao.checkAccessToken(found.getExternalId(), found.getTenantId().toString(), accessToken)); Assert.assertFalse(endpointUserDao.checkAccessToken(found.getTenantId().toString(), found.getExternalId(), "invalid")); }
validateString(endpointUserId, "Incorrect endpointUserId " + endpointUserId); EndpointUser endpointUser = endpointUserDao.findById(endpointUserId); if (endpointUser != null) { throw new DatabaseProcessingException("Endpoint is not assigned to current user."); endpointUserDao.save(endpointUser); while (true) { try {
@Test public void removeById() { TenantDto tenant = generateTenantDto(); EndpointUserDto dto = generateEndpointUserDto(tenant.getId()); MongoEndpointUser user = endpointUserDao.findById(dto.getId()); Assert.assertNotNull(user); endpointUserDao.removeById(user.getId()); user = endpointUserDao.findById(user.getId()); Assert.assertNull(user); }
@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); }
@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; }
@Test public void removeByExternalIdTest() { TenantDto tenant = generateTenantDto(); EndpointUserDto dto = generateEndpointUserDto(tenant.getId()); Assert.assertNotNull(dto); MongoEndpointUser found = endpointUserDao.findById(dto.getId()); Assert.assertNotNull(found); endpointUserDao.removeByExternalIdAndTenantId(found.getExternalId(), found.getTenantId()); found = endpointUserDao.findById(dto.getId()); Assert.assertNull(found); }
@Override public void removeEndpointUserById(String id) { if (isValidId(id)) { endpointUserDao.removeById(id); } }
@Override public List<EndpointUserDto> findAllEndpointUsers() { return convertDtoList(endpointUserDao.find()); }
validateString(endpointUserId, "Incorrect endpointUserId " + endpointUserId); EndpointUser endpointUser = endpointUserDao.findById(endpointUserId); LOG.trace("[{}] Found endpoint user with id {} ", endpointUserId, endpointUser); if (endpointUser endpointUser = endpointUserDao.save(endpointUser); while (true) { try {
@Test public void findById() { TenantDto tenant = generateTenantDto(); EndpointUserDto dto = generateEndpointUserDto(tenant.getId()); MongoEndpointUser user = endpointUserDao.findById(dto.getId()); Assert.assertNotNull(user); Assert.assertEquals(dto, user.toDto()); }
@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!"); } }
@Test public void convertToDtoTest() { TenantDto tenant = generateTenantDto(); EndpointUserDto dto = generateEndpointUserDto(tenant.getId()); Assert.assertNotNull(dto); MongoEndpointUser user = endpointUserDao.findById(dto.getId()); Assert.assertNotNull(user); dto = user.toDto(); MongoEndpointUser converted = new MongoEndpointUser(dto); Assert.assertEquals(user, converted); } }
@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(); }