Add Support for Hub Actions Implementation ...

This commit is contained in:
2025-11-16 17:29:45 +03:30
parent a9d451b3ae
commit 3c09233329
4 changed files with 178 additions and 13 deletions
+24 -5
View File
@@ -1,9 +1,11 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;
using xDataService.Configuration;
using xIdentityService.Interfaces;
using xModels.Dtos;
using xWebinarService.Hubs;
using xWebinarService.Interfaces.Entities;
using xWebinarService.Models.Dtos;
using xWebinarService.Models.Entities;
@@ -14,6 +16,7 @@ namespace xWebinarService.Interfaces
{
//
#region Props ...
IHubContext<XWebinarEntityHub> Hub { get; }
IXIdentityProvider IdentityProvider { get; }
IXWebinarRepository WebinarRepository { get; }
XDataServiceConfiguration DataSercviceConfiguration { get; }
@@ -46,15 +49,23 @@ namespace xWebinarService.Interfaces
/// Create Webinar ...
/// </summary>
/// <param name="item"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<XWebinarDto> CreateWebinar(XWebinarDto item);
Task<XWebinarDto> CreateWebinar(
XWebinarDto item,
string connectionId = null
);
/// <summary>
/// Update a Webinar ...
/// </summary>
/// <param name="item"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<XWebinarDto> UpdateWebinar(XWebinarDto item);
Task<XWebinarDto> UpdateWebinar(
XWebinarDto item,
string connectionId = null
);
/// <summary>
/// Retrieve Specified Webinar ...
@@ -93,8 +104,12 @@ namespace xWebinarService.Interfaces
/// Remove Specified Webinar ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<bool> RemoveWebinar(Guid webinarId);
Task<bool> RemoveWebinar(
Guid webinarId,
string connectionId = null
);
#endregion
//
@@ -104,10 +119,12 @@ namespace xWebinarService.Interfaces
/// </summary>
/// <param name="webinarId"></param>
/// <param name="subscriberId"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<bool> Subscribe(
Guid webinarId,
string subscriberId
string subscriberId,
string connectionId = null
);
/// <summary>
@@ -126,10 +143,12 @@ namespace xWebinarService.Interfaces
/// </summary>
/// <param name="webinarId"></param>
/// <param name="subscriberId"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<bool> Unsubscribe(
Guid webinarId,
string subscriberId
string subscriberId,
string connectionId = null
);
/// <summary>