diff options
author | Vitaly Takmazov | 2020-04-03 23:53:23 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2020-04-03 23:53:23 +0300 |
commit | 7a2f89266c8f6337e4e81a2fd8488e0f80f4f9bd (patch) | |
tree | 3b83cf2edb18b224e6e0b7924624310d68acc93a /src/main/java/com/juick/www/api/SystemActivity.java | |
parent | 1b93e5b16ee5bc7253f3b06639fb9e9abb46acd0 (diff) |
Reorganize layout and code cleanup
Diffstat (limited to 'src/main/java/com/juick/www/api/SystemActivity.java')
-rw-r--r-- | src/main/java/com/juick/www/api/SystemActivity.java | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/src/main/java/com/juick/www/api/SystemActivity.java b/src/main/java/com/juick/www/api/SystemActivity.java new file mode 100644 index 00000000..0827537a --- /dev/null +++ b/src/main/java/com/juick/www/api/SystemActivity.java @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2008-2019, 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.www.api; + +import com.juick.model.Message; +import com.juick.model.User; + +import java.util.Collections; +import java.util.List; + +public class SystemActivity { + public static SystemActivity like(User from, Message message, List<User> subscribers) { + var like = new SystemActivity(); + like.setType(ActivityType.like); + like.setFrom(from); + like.setMessage(message); + like.setTo(subscribers); + return like; + } + + public static SystemActivity message(User from, Message message, List<User> subscribers) { + var msg = new SystemActivity(); + msg.setType(ActivityType.message); + msg.setFrom(from); + msg.setMessage(message); + msg.setTo(subscribers); + return msg; + } + + public static SystemActivity read(User from, Message message) { + var read = new SystemActivity(); + read.setType(ActivityType.message); + read.setFrom(from); + read.setTo(Collections.emptyList()); + var msg = new Message(); + msg.setMid(message.getMid()); + msg.setUser(from); + msg.setService(true); + msg.setUnread(false); + read.setMessage(msg); + return read; + } + + public static SystemActivity follow(User from, List<User> to) { + var follow = new SystemActivity(); + follow.setFrom(from); + follow.setTo(to); + return follow; + } + + public enum ActivityType { + message, + like, + follow + } + + private ActivityType type; + private User from; + private List<User> to; + private Message message; + + public ActivityType getType() { + return type; + } + + public void setType(ActivityType type) { + this.type = type; + } + + public User getFrom() { + return from; + } + + public void setFrom(User from) { + this.from = from; + } + + public List<User> getTo() { + return to; + } + + public void setTo(List<User> to) { + this.to = to; + } + + public Message getMessage() { + return message; + } + + public void setMessage(Message message) { + this.message = message; + } +} |