mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
add fever-compatible api
This commit is contained in:
@@ -111,7 +111,7 @@ public class FeedEntryService {
|
||||
|
||||
public void markSubscriptionEntries(User user, List<FeedSubscription> subscriptions, Date olderThan, List<FeedEntryKeyword> keywords) {
|
||||
List<FeedEntryStatus> statuses = feedEntryStatusDAO.findBySubscriptions(user, subscriptions, true, keywords, null, -1, -1, null,
|
||||
false, false, null);
|
||||
false, false, null, null, null);
|
||||
markList(statuses, olderThan);
|
||||
cache.invalidateUnreadCount(subscriptions.toArray(new FeedSubscription[0]));
|
||||
cache.invalidateUserRootCategory(user);
|
||||
|
||||
@@ -82,6 +82,28 @@ public class UserService {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
* try to log in with given fever api key
|
||||
*/
|
||||
public Optional<User> login(long userId, String feverApiKey) {
|
||||
if (feverApiKey == null) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
User user = userDAO.findById(userId);
|
||||
if (user == null || user.isDisabled() || user.getApiKey() == null) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
String computedFeverApiKey = DigestUtils.md5Hex(user.getName() + ":" + user.getApiKey());
|
||||
if (!computedFeverApiKey.equals(feverApiKey)) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
performPostLoginActivities(user);
|
||||
return Optional.of(user);
|
||||
}
|
||||
|
||||
/**
|
||||
* should triggers after successful login
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user