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 ); } }