using SptCommon.Annotations; using Core.Helpers; using Core.Models.Eft.Notifier; namespace Core.Controllers; [Injectable] public class NotifierController( HttpServerHelper _httpServerHelper, NotifierHelper _notifierHelper ) { /// /// Resolve an array of session notifications. /// /// If no notifications are currently queued then intermittently check for new notifications until either /// one or more appear or when a timeout expires. /// If no notifications are available after the timeout, use a default message. /// /// public async Task NotifyAsync(string sessionId) { throw new NotImplementedException(); } /// /// Handle client/notifier/channel/create /// /// /// public NotifierChannel GetChannel(string sessionId) { return new NotifierChannel { Server = _httpServerHelper.BuildUrl(), ChannelId = sessionId, Url = "", NotifierServer = GetServer(sessionId), WebSocket = _notifierHelper.GetWebSocketServer(sessionId) }; } /// /// /// /// /// public string GetServer(string sessionId) { return $"{_httpServerHelper.GetBackendUrl()}/notifierServer/get/{sessionId}"; } }