last implementation of webinar provider which required to test, builds ok ...

This commit is contained in:
2025-12-08 18:15:37 +03:30
parent c9875032aa
commit 496a985752
2 changed files with 250 additions and 2 deletions
+122
View File
@@ -1,14 +1,17 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.SignalR;
using xDataService.Configuration;
using xIdentityModels.Models;
using xIdentityService.Interfaces;
using xModels.Dtos;
using xWebinarService.Hubs;
using xWebinarService.Interfaces.Entities;
using xWebinarService.Models.Dtos;
using xWebinarService.Models.Entities;
using XFileDto = xFileService.Models.Dtos.XFileDto;
namespace xWebinarService.Interfaces
{
@@ -51,10 +54,16 @@ namespace xWebinarService.Interfaces
/// Create Webinar ...
/// </summary>
/// <param name="item"></param>
/// <param name="tags"></param>
/// <param name="files"></param>
/// <param name="userInfo"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<XWebinarDto> CreateWebinar(
XWebinarDto item,
IEnumerable<string> tags = null,
IFormFileCollection files = null,
XUserClaimsInfoDto userInfo = null,
string connectionId = null
);
@@ -62,10 +71,12 @@ namespace xWebinarService.Interfaces
/// Update a Webinar ...
/// </summary>
/// <param name="item"></param>
/// <param name="userInfo"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<XWebinarDto> UpdateWebinar(
XWebinarDto item,
XUserClaimsInfoDto userInfo = null,
string connectionId = null
);
@@ -106,10 +117,12 @@ namespace xWebinarService.Interfaces
/// Remove Specified Webinar ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="userInfo"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<bool> RemoveWebinar(
Guid webinarId,
XUserClaimsInfoDto userInfo = null,
string connectionId = null
);
#endregion
@@ -182,5 +195,114 @@ namespace xWebinarService.Interfaces
XQuery query
);
#endregion
//
#region File Actions ...
/// <summary>
/// Upload Files ...
/// </summary>
/// <param name="forProvidedId"></param>
/// <param name="files"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
Task<IEnumerable<XFileDto>> Upload(
Guid id,
IFormFileCollection files,
XUserClaimsInfoDto userInfo = null
);
/// <summary>
/// Remove Specified Files ...
/// </summary>
/// <param name="forProvidedId"></param>
/// <param name="ids"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
Task<IEnumerable<Guid>> RemoveFiles(
Guid id,
string ids = null,
XUserClaimsInfoDto userInfo = null
);
/// <summary>
/// Get Webinar Files ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<IEnumerable<XFileDto>> GetFiles(Guid id);
#endregion
//
#region Tags Actions ...
/// <summary>
/// Attach Tag to Specified File ...
/// </summary>
/// <param name="tag"></param>
/// <param name="id"></param>
/// <param name="userInfo"></param>
/// <param name="forceAttachToFiles"></param>
/// <returns></returns>
Task TagAttach(
string tag,
Guid id,
XUserClaimsInfoDto userInfo = null,
bool forceAttachToFiles = true
);
/// <summary>
/// Detach Tag fro Specified File ...
/// </summary>
/// <param name="tag"></param>
/// <param name="id"></param>
/// <param name="userInfo"></param>
/// <param name="forceAttachToFiles"></param>
/// <returns></returns>
Task TagDetach(
string tag,
Guid id,
XUserClaimsInfoDto userInfo = null,
bool forceDetachFromFiles = true
);
/// <summary>
/// Attach Tags for Specified File ...
/// </summary>
/// <param name="tags"></param>
/// <param name="id"></param>
/// <param name="userInfo"></param>
/// <param name="forceAttachToFiles"></param>
/// <returns></returns>
Task TagsAttach(
IEnumerable<string> tags,
Guid id,
XUserClaimsInfoDto userInfo = null,
bool forceAttachToFiles = true
);
/// <summary>
/// Detach Tags for Specified File ...
/// </summary>
/// <param name="tags"></param>
/// <param name="id"></param>
/// <param name="userInfo"></param>
/// <param name="forceDetachFromFiles"></param>
/// <returns></returns>
Task TagsDetach(
IEnumerable<string> tags,
Guid id,
XUserClaimsInfoDto userInfo = null,
bool forceDetachFromFiles = true
);
/// <summary>
/// Detach all Attached Tags for Specified File ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task TagsDetach(
Guid id,
XUserClaimsInfoDto userInfo = null
);
#endregion
}
}