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
{
///
/// an Interface which Described Base Actions of a Controller which Provides
/// XString Resource Service Actions ...
///
public interface IXBaseStringResourceProviderControllerBase
{
///
/// Add Specified Locales ...
///
///
///
///
///
[HttpPost("Add")]
Task>> Add(
[FromQuery] string suffix,
[FromBody] XBaseRangeRequest locales,
CancellationToken cancellationToken = default
);
///
/// Add or Update Specified Locales ...
///
///
///
///
///
[HttpPost("AddOrUpdate")]
Task>> AddOrUpdate(
[FromQuery] string resource,
[FromBody] XBaseRangeRequest locales,
CancellationToken cancellationToken = default
);
///
/// Add Specified Resource ...
///
///
///
///
///
[HttpPost("AddResource")]
Task> AddResource(
[FromQuery] string suffix,
[FromBody] XResourceDto item,
CancellationToken cancellationToken = default
);
///
/// Get Specified Locale ...
///
///
///
///
///
[HttpGet("GetLocale")]
Task> GetLocale(
[FromQuery] string suffix,
[FromQuery] string language = null,
CancellationToken cancellationToken = default
);
///
/// Get Resources of Specified Resource Title ...
///
///
///
///
[HttpGet("GetResource")]
Task> GetResource(
[FromQuery] string suffix,
CancellationToken cancellationToken = default
);
///
/// Remove all Resources which belongs to Specified Suffix ...
///
///
///
///
[HttpDelete("Remove")]
Task Remove(
[FromQuery] string suffix,
CancellationToken cancellationToken = default
);
///
/// Remove Specified Resource ...
///
///
///
///
///
[HttpDelete("RemoveResource")]
Task Remove(
[FromQuery] string resource,
[FromQuery] string language,
CancellationToken cancellationToken = default
);
}
}