Files
xStringService/Interfaces/IXBaseStringResourceProviderControllerBase.cs
T
2026-05-27 16:11:39 +03:30

111 lines
3.8 KiB
C#

using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using xModels.Base;
using xModels.Dtos;
using xStringService.Models.Dtos;
namespace xStringService.Interfaces
{
/// <summary>
/// an Interface which Described Base Actions of a Controller which Provides
/// XString Resource Service Actions ...
/// </summary>
public interface IXBaseStringResourceProviderControllerBase
{
/// <summary>
/// Add Specified Locales ...
/// </summary>
/// <param name="suffix"></param>
/// <param name="locales"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpPost("Add")]
Task<ActionResult<IEnumerable<XStringDto>>> Add(
[FromQuery] string suffix,
[FromBody] XBaseRangeRequest<XLocaleResourceDto> locales,
CancellationToken cancellationToken = default
);
/// <summary>
/// Add or Update Specified Locales ...
/// </summary>
/// <param name="resource"></param>
/// <param name="locales"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpPost("AddOrUpdate")]
Task<ActionResult<IEnumerable<XStringDto>>> AddOrUpdate(
[FromQuery] string resource,
[FromBody] XBaseRangeRequest<XLocaleResourceDto> locales,
CancellationToken cancellationToken = default
);
/// <summary>
/// Add Specified Resource ...
/// </summary>
/// <param name="suffix"></param>
/// <param name="item"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpPost("AddResource")]
Task<ActionResult<XResourceDto>> AddResource(
[FromQuery] string suffix,
[FromBody] XResourceDto item,
CancellationToken cancellationToken = default
);
/// <summary>
/// Get Specified Locale ...
/// </summary>
/// <param name="suffix"></param>
/// <param name="language"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpGet("GetLocale")]
Task<ActionResult<XLocaleResourceDto>> GetLocale(
[FromQuery] string suffix,
[FromQuery] string language = null,
CancellationToken cancellationToken = default
);
/// <summary>
/// Get Resources of Specified Resource Title ...
/// </summary>
/// <param name="suffix"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpGet("GetResource")]
Task<ActionResult<XResourceDto>> GetResource(
[FromQuery] string suffix,
CancellationToken cancellationToken = default
);
/// <summary>
/// Remove all Resources which belongs to Specified Suffix ...
/// </summary>
/// <param name="suffix"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpDelete("Remove")]
Task<ActionResult> Remove(
[FromQuery] string suffix,
CancellationToken cancellationToken = default
);
/// <summary>
/// Remove Specified Resource ...
/// </summary>
/// <param name="resource"></param>
/// <param name="language"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpDelete("RemoveResource")]
Task<ActionResult> Remove(
[FromQuery] string resource,
[FromQuery] string language,
CancellationToken cancellationToken = default
);
}
}