Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
6bbf05c
commit c02ba55
Showing
4 changed files
with
97 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
13 changes: 13 additions & 0 deletions
13
api/src/main/java/com/demo/imagebrowser/service/FeedService.java
This file contains 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
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,13 @@ | |||
package com.demo.imagebrowser.service; | |||
|
|||
import com.demo.imagebrowser.domain.Feed; | |||
import com.demo.imagebrowser.domain.FeedCategory; | |||
|
|||
import java.util.List; | |||
|
|||
public interface FeedService { | |||
List<Feed> findByCategoryName(String categoryName); | |||
void deleteCategoryByName(String categoryName); | |||
FeedCategory addCategory(String categoryName); | |||
Feed addFeed(Feed feed); | |||
} |
48 changes: 48 additions & 0 deletions
48
api/src/main/java/com/demo/imagebrowser/service/impl/FeedServiceImpl.java
This file contains 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
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,48 @@ | |||
package com.demo.imagebrowser.service.impl; | |||
|
|||
import com.demo.imagebrowser.domain.Feed; | |||
import com.demo.imagebrowser.domain.FeedCategory; | |||
import com.demo.imagebrowser.repository.FeedCategoryRepository; | |||
import com.demo.imagebrowser.repository.FeedRepository; | |||
import com.demo.imagebrowser.service.FeedService; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
|
|||
import java.util.Collections; | |||
import java.util.List; | |||
|
|||
public class FeedServiceImpl implements FeedService { | |||
|
|||
@Autowired | |||
private FeedRepository feedRepository; | |||
|
|||
@Autowired | |||
private FeedCategoryRepository feedCategoryRepository; | |||
|
|||
@Override | |||
public List<Feed> findByCategoryName(String categoryName) { | |||
FeedCategory category = feedCategoryRepository.findByName(categoryName); | |||
if (category != null) { | |||
return feedRepository.findByCategory(category); | |||
} else { | |||
return Collections.emptyList(); | |||
} | |||
} | |||
|
|||
@Override | |||
public void deleteCategoryByName(String categoryName) { | |||
feedCategoryRepository.deleteByName(categoryName); | |||
} | |||
|
|||
@Override | |||
public FeedCategory addCategory(String categoryName) { | |||
FeedCategory category = new FeedCategory(); | |||
category.setName(categoryName); | |||
feedCategoryRepository.save(category); | |||
return category; | |||
} | |||
|
|||
@Override | |||
public Feed addFeed(Feed feed) { | |||
return feedRepository.save(feed); | |||
} | |||
} |
35 changes: 35 additions & 0 deletions
35
api/src/main/java/com/demo/imagebrowser/service/impl/UserDetailsService.java
This file contains 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
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,35 @@ | |||
package com.demo.imagebrowser.service.impl; | |||
|
|||
import com.demo.imagebrowser.domain.User; | |||
import com.demo.imagebrowser.repository.UserRepository; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.security.core.GrantedAuthority; | |||
import org.springframework.security.core.authority.SimpleGrantedAuthority; | |||
import org.springframework.security.core.userdetails.UserDetails; | |||
import org.springframework.security.core.userdetails.UsernameNotFoundException; | |||
import org.springframework.stereotype.Component; | |||
|
|||
import java.util.ArrayList; | |||
import java.util.List; | |||
|
|||
@Component | |||
public class UserDetailsService implements org.springframework.security.core.userdetails.UserDetailsService { | |||
|
|||
@Autowired | |||
private UserRepository userRepository; | |||
|
|||
@Override | |||
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException { | |||
User user = userRepository.findByUsername(s); | |||
|
|||
if (user == null) { | |||
throw new UsernameNotFoundException(String.format("User with name %s does not exists", s)); | |||
} | |||
|
|||
List<GrantedAuthority> grantedAuthorities = new ArrayList<>(); | |||
user.getRoles().forEach(r -> grantedAuthorities.add(new SimpleGrantedAuthority(r.getRoleName()))); | |||
|
|||
UserDetails details = new org.springframework.security.core.userdetails.User(user.getUsername(), user.getPassword(), grantedAuthorities); | |||
return details; | |||
} | |||
} |