last step is Implement using ConnectionId and Push Hub's in Tag Provider ...

This commit is contained in:
2025-12-08 22:47:52 +03:30
parent bb03fb0f40
commit 7e174fc14a
3 changed files with 556 additions and 4 deletions
+11 -4
View File
@@ -4,7 +4,6 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;
using xDataService.Configuration;
using xIdentityModels.Models;
using xIdentityService.Interfaces;
using xModels.Dtos;
using xTagService.Hubs;
@@ -54,8 +53,12 @@ namespace xTagService.Interfaces
/// Add Specified Tag ...
/// </summary>
/// <param name="model"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<XTagDto> Add(XTagDto model);
Task<XTagDto> Add(
XTagDto model,
string connectionId = null
);
/// <summary>
/// Retrieve Specified Item as Dto ...
@@ -113,9 +116,11 @@ namespace xTagService.Interfaces
/// Remove Specified Dto ...
/// </summary>
/// <param name="id"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<XTagDto> Remove(
int id
int id,
string connectionId = null
);
/// <summary>
@@ -123,10 +128,12 @@ namespace xTagService.Interfaces
/// </summary>
/// <param name="id"></param>
/// <param name="model"></param>
/// <param name="connectionId"></param>
/// <returns></returns>
Task<XTagDto> Update(
int id,
XTagDto model
XTagDto model,
string connectionId = null
);
/// <summary>
+100
View File
@@ -0,0 +1,100 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using xModels.Dtos;
using xTagService.Models.Dtos;
namespace xTagService.Interfaces
{
public interface IXTagServiceControllerActions
{
//
#region Actions ...
/// <summary>
/// Add Tag by Providing Dto ...
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
Task<ActionResult<XTagDto>> Add(XTagDto model);
/// <summary>
/// Retrieve Specified Tag Dto by ID ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult<XTagDto>> Get(int id);
/// <summary>
/// Retrieve Specified Tag Dto by it's Label ...
/// </summary>
/// <param name="tag"></param>
/// <returns></returns>
Task<ActionResult<XTagDto>> GetTag(string tag);
/// <summary>
/// Retrieve All Exists Tags ...
/// </summary>
/// <returns></returns>
Task<ActionResult<IEnumerable<XTagDto>>> GetAll();
/// <summary>
/// Search For Specified Tag by Providing a query on Label ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<ActionResult<XTagDto>> FindOne(string query);
/// <summary>
/// Search For Specified Tags By Providing Query on Labels ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XTagDto>>> FindMany(string query);
/// <summary>
/// Retrieve Tags based on Query Model ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<ActionResult<XQueryResult<XTagDto>>> Query(XQuery query);
/// <summary>
/// Update Specified Tag ...
/// </summary>
/// <param name="id"></param>
/// <param name="model"></param>
/// <returns></returns>
Task<ActionResult<XTagDto>> Update(
int id,
XTagDto model
);
/// <summary>
/// Remove Specified Tag by ID ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult<XTagDto>> Remove(int id);
/// <summary>
/// Count Exists Tags ...
/// </summary>
/// <returns></returns>
Task<ActionResult<int>> Count();
/// <summary>
/// Check Tag Exists by ID ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult<bool>> IsExists(int id);
/// <summary>
/// Check Tag Exists by Providing Label ...
/// </summary>
/// <param name="tag"></param>
/// <returns></returns>
Task<ActionResult<bool>> IsTagExists(string tag);
#endregion
}
}