last works ...

This commit is contained in:
2025-12-09 17:06:26 +03:30
parent 496a985752
commit 0109abb961
4 changed files with 632 additions and 69 deletions
+89 -12
View File
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using xModels.Dtos;
using xWebinarService.Models.Dtos;
@@ -18,22 +19,32 @@ namespace xWebinarService.Interfaces
/// Create Webinar ...
/// </summary>
/// <param name="item"></param>
/// <param name="tags"></param>
/// <param name="files"></param>
/// <returns></returns>
Task<ActionResult<XWebinarDto>> CreateWebinar([FromBody] XWebinarDto item);
Task<ActionResult<XWebinarDto>> CreateWebinar(
[FromBody] XWebinarDto item,
[FromQuery] string tags = null,
[FromForm] IFormFileCollection files = null
);
/// <summary>
/// Update a Webinar ...
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<ActionResult<XWebinarDto>> UpdateWebinar([FromBody] XWebinarDto item);
Task<ActionResult<XWebinarDto>> UpdateWebinar(
[FromBody] XWebinarDto item
);
/// <summary>
/// Retrieve Specified Webinar ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult<XWebinarDto>> GetWebinar([FromQuery] Guid id);
Task<ActionResult<XWebinarDto>> GetWebinar(
[FromQuery] Guid id
);
/// <summary>
/// Retrieve all Exists Webinars ...
@@ -41,25 +52,32 @@ namespace xWebinarService.Interfaces
/// <returns></returns>
Task<ActionResult<IEnumerable<XWebinarDto>>> GetWebinars();
/// <summary>
/// Retrieve all Exists Webinar Ids ...
/// </summary>
/// <returns></returns>
ActionResult<IEnumerable<Guid>> GetWebinarIds();
/// <summary>
/// Query Webinars ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<ActionResult<XQueryResult<XWebinarDto>>> QueryWebinars([FromQuery] XQuery query);
Task<ActionResult<XQueryResult<XWebinarDto>>> QueryWebinars(
[FromQuery] XQuery query
);
/// <summary>
/// Query Webinar Ids ...
/// Query Owned Webinars ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
ActionResult<XQueryResult<Guid>> QueryWebinarIds([FromQuery] XQuery query);
Task<ActionResult<XQueryResult<XWebinarDto>>> QueryOwnedWebinars(
[FromQuery] XQuery query
);
/// <summary>
/// Query Joinable Webinars ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<ActionResult<XQueryResult<XWebinarDto>>> QueryJoinableWebinars(
[FromQuery] XQuery query
);
/// <summary>
/// Remove Specified Webinar ...
@@ -143,5 +161,64 @@ namespace xWebinarService.Interfaces
[FromQuery] Guid webinarId
);
#endregion
//
#region File Actions ...
/// <summary>
/// Upload Specified Files for Specified Webinar ...
/// </summary>
/// <param name="id"></param>
/// <param name="files"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XFileDto>>> Upload(
[FromRoute] Guid id,
[FromForm] IFormFileCollection files
);
/// <summary>
/// Remove Specified (All) Files of Specified Webinar ...
/// </summary>
/// <param name="id"></param>
/// <param name="ids"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XFileDto>>> Remove(
[FromRoute] Guid id,
[FromQuery] string ids = null
);
/// <summary>
/// Retrieve Specified Webinar's Files ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XFileDto>>> GetFiles(
[FromRoute] Guid id
);
#endregion
//
#region Tags Actions ...
/// <summary>
/// Attach Specified Tags To Specified Webinar ...
/// </summary>
/// <param name="id"></param>
/// <param name="tags"></param>
/// <returns></returns>
Task<ActionResult> TagsAttach(
[FromRoute] Guid id,
[FromQuery] string tags
);
/// <summary>
/// Detach Specified Tags From Specified Webinar ...
/// </summary>
/// <param name="id"></param>
/// <param name="tags"></param>
/// <returns></returns>
Task<ActionResult> TagsDetach(
[FromRoute] Guid id,
[FromQuery] string tags
);
#endregion
}
}