refactor: Remove emoji system and chat filters, implement SOLID architecture
This commit is contained in:
parent
16a5e09118
commit
74482851aa
72 changed files with 2654 additions and 1287 deletions
71
src/main/java/com/loki/lochat/data/model/MuteData.java
Normal file
71
src/main/java/com/loki/lochat/data/model/MuteData.java
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
package com.loki.lochat.data.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Модель данных мута (Value Object)
|
||||
*/
|
||||
public class MuteData {
|
||||
private UUID uuid;
|
||||
private String playerName;
|
||||
public long endTime; // 0 = перманентный (public for JSON serialization)
|
||||
public String reason;
|
||||
public String mutedBy;
|
||||
public long mutedAt;
|
||||
|
||||
public MuteData() {} // For JSON deserialization
|
||||
|
||||
public MuteData(UUID uuid, String playerName, long endTime, String reason, String mutedBy) {
|
||||
this.uuid = uuid;
|
||||
this.playerName = playerName;
|
||||
this.endTime = endTime;
|
||||
this.reason = reason;
|
||||
this.mutedBy = mutedBy;
|
||||
this.mutedAt = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public MuteData(long endTime, String reason, String mutedBy, long mutedAt, String playerName) {
|
||||
this.endTime = endTime;
|
||||
this.reason = reason;
|
||||
this.mutedBy = mutedBy;
|
||||
this.mutedAt = mutedAt;
|
||||
this.playerName = playerName;
|
||||
}
|
||||
|
||||
public UUID getUuid() { return uuid; }
|
||||
public String getPlayerName() { return playerName; }
|
||||
public long getEndTime() { return endTime; }
|
||||
public String getReason() { return reason; }
|
||||
public String getMutedBy() { return mutedBy; }
|
||||
public long getMutedAt() { return mutedAt; }
|
||||
public boolean isPermanent() { return endTime == 0; }
|
||||
|
||||
/**
|
||||
* Запись истории мута
|
||||
*/
|
||||
public static class MuteHistoryEntry {
|
||||
public String playerName;
|
||||
public long duration;
|
||||
public String reason;
|
||||
public String mutedBy;
|
||||
public long mutedAt;
|
||||
public boolean unmuted;
|
||||
public String unmutedBy;
|
||||
public long unmutedAt;
|
||||
|
||||
public MuteHistoryEntry() {} // For JSON deserialization
|
||||
|
||||
public MuteHistoryEntry(String playerName, long duration, String reason,
|
||||
String mutedBy, long mutedAt, boolean unmuted,
|
||||
String unmutedBy, long unmutedAt) {
|
||||
this.playerName = playerName;
|
||||
this.duration = duration;
|
||||
this.reason = reason;
|
||||
this.mutedBy = mutedBy;
|
||||
this.mutedAt = mutedAt;
|
||||
this.unmuted = unmuted;
|
||||
this.unmutedBy = unmutedBy;
|
||||
this.unmutedAt = unmutedAt;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue