From 7a2f89266c8f6337e4e81a2fd8488e0f80f4f9bd Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 3 Apr 2020 23:53:23 +0300 Subject: Reorganize layout and code cleanup --- .../java/com/juick/www/api/SystemActivity.java | 108 +++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 src/main/java/com/juick/www/api/SystemActivity.java (limited to 'src/main/java/com/juick/www/api/SystemActivity.java') 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 . + */ + +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 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 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 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 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 getTo() { + return to; + } + + public void setTo(List to) { + this.to = to; + } + + public Message getMessage() { + return message; + } + + public void setMessage(Message message) { + this.message = message; + } +} -- cgit v1.2.3