This commit is contained in:
2025-12-10 03:42:14 +03:30
parent 0109abb961
commit ccf254e53b
4 changed files with 91 additions and 84 deletions
+60 -50
View File
@@ -10,10 +10,11 @@ using xCommons.Providers;
using xExceptions.Constants;
using xIdentityService.Controllers;
using xIdentityService.Interfaces;
using xModels.Dtos;
using xWebinarService.Interfaces;
using xWebinarService.Models.Dtos;
using Microsoft.AspNetCore.Http;
using XFileDto = xFileService.Models.Dtos.XFileDto;
using xModels.Dtos;
namespace xWebinarService.Controllers
{
@@ -56,9 +57,16 @@ namespace xWebinarService.Controllers
/// <param name="tags"></param>
/// <param name="files"></param>
/// <returns></returns>
[HttpPost("Create")]
/// <summary>
/// Create Webinar ...
/// </summary>
/// <param name="item"></param>
/// <param name="tags"></param>
/// <param name="files"></param>
/// <returns></returns>
[HttpPost("")]
public virtual async Task<ActionResult<XWebinarDto>> CreateWebinar(
[FromBody] XWebinarDto item,
[FromForm] XWebinarDto item,
[FromQuery] string tags = null,
[FromForm] IFormFileCollection files = null
)
@@ -106,10 +114,12 @@ namespace xWebinarService.Controllers
/// <summary>
/// Update a Webinar ...
/// </summary>
/// <param name="id"></param>
/// <param name="item"></param>
/// <returns></returns>
[HttpPut("Update")]
[HttpPut("{id}")]
public virtual async Task<ActionResult<XWebinarDto>> UpdateWebinar(
[FromRoute] Guid id,
[FromBody] XWebinarDto item
)
{
@@ -156,9 +166,9 @@ namespace xWebinarService.Controllers
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("")]
[HttpGet("{id}")]
public virtual async Task<ActionResult<XWebinarDto>> GetWebinar(
[FromQuery] Guid id
[FromRoute] Guid id
)
{
//
@@ -243,7 +253,7 @@ namespace xWebinarService.Controllers
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpGet("QueryOwned")]
[HttpGet("Query/Owned")]
public virtual async Task<ActionResult<XQueryResult<XWebinarDto>>> QueryOwnedWebinars(
[FromQuery] XQuery query
)
@@ -280,7 +290,7 @@ namespace xWebinarService.Controllers
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
[HttpGet("QueryJoinable")]
[HttpGet("Query/Joinable")]
public virtual async Task<ActionResult<XQueryResult<XWebinarDto>>> QueryJoinableWebinars(
[FromQuery] XQuery query
)
@@ -317,9 +327,9 @@ namespace xWebinarService.Controllers
/// </summary>
/// <param name="webinarId"></param>
/// <returns></returns>
[HttpDelete("Remove")]
[HttpDelete("{id}")]
public virtual async Task<ActionResult<bool>> RemoveWebinar(
[FromQuery] Guid webinarId
[FromRoute] Guid id
)
{
//
@@ -335,7 +345,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
var entity = await WebinarProvider.GetWebinar(webinarId);
var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -353,7 +363,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.RemoveWebinar(
webinarId: webinarId,
webinarId: id,
connectionId: connectionId
);
@@ -375,13 +385,13 @@ namespace xWebinarService.Controllers
/// <summary>
/// Subscribe a User to Webinar ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="id"></param>
/// <param name="subscriberId"></param>
/// <returns></returns>
[HttpPost("Subscribe")]
[HttpPost("{id}/Subscribe/{subscriberId}")]
public virtual async Task<ActionResult<bool>> Subscribe(
[FromQuery] Guid webinarId,
[FromQuery] string subscriberId
[FromRoute] Guid id,
[FromRoute] string subscriberId
)
{
//
@@ -397,7 +407,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
var entity = await WebinarProvider.GetWebinar(webinarId);
var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -418,7 +428,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.Subscribe(
webinarId: webinarId,
webinarId: id,
subscriberId: subscriberId,
connectionId: connectionId
);
@@ -438,13 +448,13 @@ namespace xWebinarService.Controllers
/// <summary>
/// Check Specified User Subscribed on a Webinar or not ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="id"></param>
/// <param name="subscriberId"></param>
/// <returns></returns>
[HttpGet("IsSubscribed")]
[HttpGet("{id}/IsSubscribed/{subscriberId}")]
public virtual async Task<ActionResult<bool>> IsSubscribed(
[FromQuery] Guid webinarId,
[FromQuery] string subscriberId
[FromRoute] Guid id,
[FromRoute] string subscriberId
)
{
//
@@ -459,7 +469,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
var entity = await WebinarProvider.GetWebinar(webinarId);
var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -479,7 +489,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.IsSubscribed(
webinarId: webinarId,
webinarId: id,
subscriberId: subscriberId
);
@@ -498,13 +508,13 @@ namespace xWebinarService.Controllers
/// <summary>
/// Unsubscribe Specified User from a Specified Webinar ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="id"></param>
/// <param name="subscriberId"></param>
/// <returns></returns>
[HttpDelete("Unsubscribe")]
[HttpDelete("{id}/Unsubscribe/{subscriberId}")]
public virtual async Task<ActionResult<bool>> Unsubscribe(
[FromQuery] Guid webinarId,
[FromQuery] string subscriberId
[FromRoute] Guid id,
[FromRoute] string subscriberId
)
{
//
@@ -520,7 +530,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
var entity = await WebinarProvider.GetWebinar(webinarId);
var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -541,7 +551,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.Unsubscribe(
webinarId: webinarId,
webinarId: id,
subscriberId: subscriberId,
connectionId: connectionId
);
@@ -561,13 +571,13 @@ namespace xWebinarService.Controllers
/// <summary>
/// Retrieve Specified Subscriber ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="id"></param>
/// <param name="subscriberId"></param>
/// <returns></returns>
[HttpGet("GetSubscriber")]
[HttpGet("{id}/Subscriber/{subscriberId}")]
public virtual async Task<ActionResult<XWebinarSubscriberDto>> GetSubscriber(
[FromQuery] Guid webinarId,
[FromQuery] string subscriberId
[FromRoute] Guid id,
[FromRoute] string subscriberId
)
{
//
@@ -582,7 +592,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
var entity = await WebinarProvider.GetWebinar(webinarId);
var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -602,7 +612,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.GetSubscriber(
webinarId: webinarId,
webinarId: id,
subscriberId: subscriberId
);
@@ -621,11 +631,11 @@ namespace xWebinarService.Controllers
/// <summary>
/// Get all Specified Webinars Subscribers ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("GetSubscribers")]
[HttpGet("{id}/Subscribers")]
public virtual async Task<ActionResult<IEnumerable<XWebinarSubscriberDto>>> GetSubscribers(
[FromQuery] Guid webinarId
[FromRoute] Guid id
)
{
//
@@ -640,7 +650,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
var entity = await WebinarProvider.GetWebinar(webinarId);
var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -659,7 +669,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.GetSubscribers(webinarId);
.GetSubscribers(id);
//
return Ok(result.
@@ -676,13 +686,13 @@ namespace xWebinarService.Controllers
/// <summary>
/// Query Specified Webinar's Subscribers ...
/// </summary>
/// <param name="webinarId"></param>
/// <param name="id"></param>
/// <param name="query"></param>
/// <returns></returns>
[HttpGet("QuerySubscribers")]
[HttpGet("{id}/Subscribers/Query")]
public virtual async Task<ActionResult<XQueryResult<XWebinarSubscriberDto>>> QuerySubscribers(
[FromQuery] XQuery query,
[FromQuery] Guid webinarId
[FromRoute] Guid id,
[FromQuery] XQuery query
)
{
//
@@ -697,7 +707,7 @@ namespace xWebinarService.Controllers
//
// Retrieve Entity ...
var entity = await WebinarProvider.GetWebinar(webinarId);
var entity = await WebinarProvider.GetWebinar(id);
bool has = !entity.IsNullOrDefault();
if (!has)
{
@@ -718,7 +728,7 @@ namespace xWebinarService.Controllers
var result = await WebinarProvider
.QuerySubscribers(
query: query,
webinarId: webinarId
webinarId: id
);
//
@@ -743,7 +753,7 @@ namespace xWebinarService.Controllers
/// <param name="files"></param>
/// <returns></returns>
[HttpPost("{id}/Files")]
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> Upload(
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> UploadFiles(
[FromRoute] Guid id,
[FromForm] IFormFileCollection files
)
@@ -759,7 +769,7 @@ namespace xWebinarService.Controllers
//
var result = await WebinarProvider
.Upload(
.UploadFiles(
id: id,
files: files,
userInfo: userInfo,
@@ -785,7 +795,7 @@ namespace xWebinarService.Controllers
/// <param name="ids"></param>
/// <returns></returns>
[HttpDelete("{id}/Files")]
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> Remove(
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> RemoveFiles(
[FromRoute] Guid id,
[FromQuery] string ids = null
)