aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/service/MessagesService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/juick/service/MessagesService.java')
-rw-r--r--src/main/java/com/juick/service/MessagesService.java145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/main/java/com/juick/service/MessagesService.java b/src/main/java/com/juick/service/MessagesService.java
new file mode 100644
index 00000000..362501b5
--- /dev/null
+++ b/src/main/java/com/juick/service/MessagesService.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2008-2017, Juick
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package com.juick.service;
+
+import com.juick.Message;
+import com.juick.Reaction;
+import com.juick.User;
+import com.juick.model.ResponseReply;
+
+import java.net.URI;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Created by aalexeev on 11/13/16.
+ */
+public interface MessagesService {
+ int createMessage(int uid, String txt, String attachment, Collection<com.juick.Tag> tags);
+
+ int createReply(int mid, int rid, User user, String txt, String attachment);
+
+ int getReplyIDIncrement(int mid);
+
+ enum RecommendStatus {
+ Error,
+ Added,
+ Deleted
+ }
+
+ RecommendStatus recommendMessage(int mid, int vuid, String userUri);
+
+ RecommendStatus recommendMessage(int mid, int vuid);
+
+ List<Reaction> listReactions();
+
+ RecommendStatus likeMessage(int mid, int vuid, int reactionId);
+
+ RecommendStatus likeMessage(int mid, int vuid, int reactionId, String userUri);
+
+
+ boolean canViewThread(int mid, int uid);
+
+ boolean isReadOnly(int mid);
+
+ boolean isSubscribed(int uid, int mid);
+
+ int getMessagePrivacy(int mid);
+
+ com.juick.Message getMessage(int mid);
+
+ com.juick.Message getReply(int mid, int rid);
+
+ com.juick.Message getReplyByUri(String replyUri);
+
+ User getMessageAuthor(int mid);
+
+ List<String> getMessageRecommendations(int mid);
+
+ List<Integer> getAll(int visitorUid, int before);
+
+ List<Integer> getTag(int tid, int visitorUid, int before, int cnt);
+
+ List<Integer> getTags(String tids, int visitorUid, int before, int cnt);
+
+ List<Integer> getPlace(int placeId, int visitorUid, int before);
+
+ List<Integer> getMyFeed(int uid, int before, boolean recommended);
+
+ List<Integer> getPrivate(int uid, int before);
+
+ List<Integer> getDiscussions(int uid, Long to);
+
+ List<Integer> getRecommended(int uid, int before);
+
+ List<Integer> getPopular(int visitorUid, int before);
+
+ List<Integer> getPhotos(int visitorUid, int before);
+
+ List<Integer> getSearch(User visitor, String search, int page);
+
+ List<Integer> getUserBlog(int uid, int privacy, int before);
+
+ List<Integer> getUserTag(int uid, int tid, int privacy, int before);
+
+ List<Integer> getUserBlogAtDay(int uid, int privacy, int daysback);
+
+ List<Integer> getUserBlogWithRecommendations(int uid, int privacy, int before);
+
+ List<Integer> getUserRecommendations(int uid, int before);
+
+ List<Integer> getUserPhotos(int uid, int privacy, int before);
+
+ List<Integer> getUserSearch(User visitor, int UID, String search, int privacy, int page);
+
+ List<com.juick.Message> getMessages(User visitor, List<Integer> mids);
+
+ Map<Integer,Set<Reaction>> updateReactionsFor(final List<Integer> mid);
+
+ List<com.juick.Message> getReplies(User user, int mid);
+
+ boolean setMessagePopular(int mid, int popular);
+
+ boolean setMessagePrivacy(int mid);
+
+ boolean deleteMessage(int uid, int mid);
+
+ boolean deleteReply(int uid, int mid, int rid);
+
+ List<Integer> getLastMessages(int hours);
+
+ List<ResponseReply> getLastReplies(int hours);
+
+ List<Integer> getPopularCandidates();
+
+ void setLastReadComment(User user, Integer mid, Integer rid);
+
+ void setRead(User user, Integer mid);
+
+ List<Integer> getUnread(User user);
+
+ boolean updateMessage(Integer mid, Integer rid, String body);
+
+ boolean updateReplyUri(Message reply, URI replyUri);
+
+ boolean replyExists(URI replyUri);
+
+ boolean deleteReply(URI userUri, URI replyUri);
+}