Files
xStringService/Interfaces/IXStringServiceControllerActions.cs
T
2025-11-16 15:58:48 +03:30

257 lines
7.9 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using xModels.Dtos;
using xStringService.Models.Dtos;
namespace xStringService.Interfaces
{
public interface IXStringServiceControllerActions
{
//
#region Retrievers ...
/// <summary>
/// Retrieve all Exists Languages ...
/// </summary>
/// <returns></returns>
Task<ActionResult<IEnumerable<string>>> GetLanguages();
/// <summary>
/// Check Specified Resource Exists or not ...
/// </summary>
/// <param name="resource"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<bool>> IsResourceExists(
[FromQuery] string resource,
[FromQuery] string language = null
);
/// <summary>
/// Retrieve Specified Resource ...
/// </summary>
/// <param name="resource"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<XStringDto>> Get(
[FromQuery] string resource,
[FromQuery] string language = null
);
/// <summary>
/// Retrieve Specified Translation of Specified Resource ...
/// </summary>
/// <param name="resource"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<string>> GetResourceValue(
[FromQuery] string resource,
[FromQuery] string language = null
);
/// <summary>
/// Retrieve an Specified Resource Items ...
/// </summary>
/// <param name="resource"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XStringDto>>> GetResources(
[FromQuery] string resource
);
/// <summary>
/// Retrieve Specified Resource Items as XResourceDto Presentation ...
/// </summary>
/// <param name="resource"></param>
/// <returns></returns>
Task<ActionResult<XResourceDto>> GetResource(
[FromQuery] string resource
);
#endregion
//
#region Query ...
/// <summary>
/// Query Resource IDs ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
ActionResult<XQueryResult<string>> QueryResourceIds(
[FromQuery] XQuery query
);
/// <summary>
/// Query Specified Language Resources ...
/// </summary>
/// <param name="query"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<XQueryResult<XStringDto>>> QueryLanguageResources(
[FromQuery] XQuery query,
[FromQuery] string language = null //
);
/// <summary>
/// Query Locale Resources ...
/// </summary>
/// <param name="query"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<XQueryResult<XLocaleResourceDto>>> QueryLocaleResources(
[FromQuery] XQuery query,
[FromQuery] string language = null //
);
#endregion
//
#region Add/Update Actions ...
/// <summary>
/// Add Specified Resource ...
/// </summary>
/// <param name="resource"></param>
/// <param name="value"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<bool>> Add(
[FromQuery] string resource,
[FromQuery] string value,
[FromQuery] string language = null
);
/// <summary>
/// Update Resource ...
/// </summary>
/// <param name="resource"></param>
/// <param name="value"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<bool>> Update(
[FromQuery] string resource,
[FromQuery] string value,
[FromQuery] string language = null
);
/// <summary>
/// Add Or Update Resource ...
/// </summary>
/// <param name="resource"></param>
/// <param name="value"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<bool>> AddOrUpdate(
[FromQuery] string resource,
[FromQuery] string value,
[FromQuery] string language = null
);
/// <summary>
/// Add Specified Resource ...
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<ActionResult<XStringDto>> AddEntity(
[FromBody] XStringDto item
);
/// <summary>
/// Update Specified Entity ...
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<ActionResult<XStringDto>> UpdateEntity(
[FromBody] XStringDto item
);
/// <summary>
/// Add Or Update Specified Entitiy ...
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<ActionResult<XStringDto>> AddOrUpdateEntity(
[FromBody] XStringDto item
);
/// <summary>
/// Add Specified Locale Resource ...
/// </summary>
/// <param name="item"></param>
/// <param name="resource"></param>
/// <returns></returns>
Task<ActionResult<XStringDto>> AddByLocaleResource(
[FromBody] XLocaleResourceDto item,
[FromQuery] string resource
);
/// <summary>
/// Update Specified Locale Resource ...
/// </summary>
/// <param name="item"></param>
/// <param name="resource"></param>
/// <returns></returns>
Task<ActionResult<XStringDto>> UpdateByLocaleResource(
[FromBody] XLocaleResourceDto item,
[FromQuery] string resource
);
/// <summary>
/// Add Or Update Resource By Locale ...
/// </summary>
/// <param name="item"></param>
/// <param name="resource"></param>
/// <returns></returns>
Task<ActionResult<XStringDto>> AddOrUpdateByLocaleResource(
[FromBody] XLocaleResourceDto item,
[FromQuery] string resource
);
/// <summary>
/// Add Or Update all XResourceDto(s) Locales ...
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XStringDto>>> AddByResource(
[FromBody] XResourceDto item
);
#endregion
//
#region Remove Actions ...
/// <summary>
/// Remove all Specified Language's Resources ...
/// </summary>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult> RemoveLanguageResources(
[FromQuery] string language
);
/// <summary>
/// Remove all Specified Resource Ids instances ...
/// </summary>
/// <param name="resource"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XStringDto>>> RemoveResource(
[FromQuery] string resource
);
/// <summary>
/// Remove Specified Resource ...
/// </summary>
/// <param name="resource"></param>
/// <param name="language"></param>
/// <returns></returns>
Task<ActionResult<bool>> Remove(
[FromQuery] string resource,
[FromQuery] string language = null
);
/// <summary>
/// Remove all Resource of Specified XResourceDto ...
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
Task<ActionResult> RemoveByResource(
[FromBody] XResourceDto item
);
#endregion
}
}