using SptCommon.Annotations; using Core.Models.Eft.Ws; namespace Core.Services; [Injectable(InjectionType.Singleton)] public class NotificationService { protected Dictionary> _messageQueue = new(); public Dictionary> GetMessageQueue() { throw new NotImplementedException(); } public List GetMessageFromQueue(string sessionId) { throw new NotImplementedException(); } public void UpdateMessageOnQueue(string sessionId, List value) { throw new NotImplementedException(); } public bool Has(string sessionID) { return _messageQueue.ContainsKey(sessionID); } /// /// Pop first message from queue. /// public WsNotificationEvent Pop(string sessionID) { throw new NotImplementedException(); } /// /// Add message to queue /// public void Add(string sessionID, WsNotificationEvent message) { Get(sessionID).Add(message); } /// /// Get message queue for session /// /// public List Get(string sessionID) { if (sessionID is null) { throw new Exception("sessionID missing"); } if (!_messageQueue.ContainsKey(sessionID)) { _messageQueue[sessionID] = []; } return _messageQueue[sessionID]; } }