diff options
author | Vitaly Takmazov | 2022-12-27 13:57:34 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2022-12-27 13:57:34 +0300 |
commit | 3629010a96b4aa29ffbbfaab73c09a801d875957 (patch) | |
tree | b175d5659a8c2f377e4a7949f890f5c5085eacea | |
parent | 418cc7f031134e8e5dc72537140d3c82c09c543e (diff) |
handle `addFollower` duplicates
-rw-r--r-- | src/main/java/com/juick/service/ActivityPubService.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/juick/service/ActivityPubService.java b/src/main/java/com/juick/service/ActivityPubService.java index 1bf1b5d4..c45b0c13 100644 --- a/src/main/java/com/juick/service/ActivityPubService.java +++ b/src/main/java/com/juick/service/ActivityPubService.java @@ -20,6 +20,7 @@ package com.juick.service; import com.juick.model.User; import com.juick.model.AnonymousUser; import org.springframework.beans.factory.annotation.Value; +import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.util.UriComponents; @@ -58,8 +59,12 @@ public class ActivityPubService extends BaseJdbcService implements SocialService @Transactional @Override public void addFollower(User user, String acct) { - getJdbcTemplate().update("INSERT INTO followers(user_id, acct) " + - "VALUES(?, ?)", user.getUid(), acct); + try { + getJdbcTemplate().update("INSERT INTO followers(user_id, acct) " + + "VALUES(?, ?)", user.getUid(), acct); + } catch (DuplicateKeyException e) { + // ignore + } } @Transactional |