45 lines
815 B
C#
45 lines
815 B
C#
namespace ChatRoom;
|
|
|
|
public class Client
|
|
{
|
|
public int id;
|
|
public string name;
|
|
public int strikes = 0;
|
|
|
|
public DateTime? blockedUntil = null;
|
|
}
|
|
|
|
public enum MessageStatus
|
|
{
|
|
WaitingForModerator,
|
|
GivenToModerator,
|
|
Approved,
|
|
Rejected
|
|
}
|
|
|
|
public class Message
|
|
{
|
|
public int id;
|
|
public int clientId;
|
|
public string contents;
|
|
public bool needsToBeCensored;
|
|
public MessageStatus status = MessageStatus.WaitingForModerator;
|
|
}
|
|
|
|
public class ChatRoomState
|
|
{
|
|
/// <summary>
|
|
/// Access lock.
|
|
/// </summary>
|
|
public readonly object accessLock = new object();
|
|
|
|
/// <summary>
|
|
/// Last unique ID value generated.
|
|
/// </summary>
|
|
public int lastUniqueId;
|
|
|
|
public List<Client> clients = new List<Client>();
|
|
|
|
public List<Message> messages = new List<Message>();
|
|
}
|