using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using xModels.Dtos; using xPushService.Interfaces; using xStringService.Models.Dtos; using xStringService.Models.Entities; using xStringService.Providers.Dtos; namespace xStringService.Interfaces { public interface IXStringProviderController : IXBaseProvidedController { // #region Tools ... /// /// Retrieve a List of Exists Languages ... /// /// /// [HttpGet("Languages")] Task>> GetLanguages( CancellationToken cancellationToken = default ); /// /// Retrieve a List of Resource Titles ... /// /// if provided, returns all language Specified resource titles, if not, all Resource Titles /// /// [HttpGet("ResourceTitles")] Task>> GetResourceTitles( [FromQuery] string language = null, CancellationToken cancellationToken = default ); /// /// Retrieve all Exists Items which belongs to Specified Resource Title ... /// /// Specified Resource Title /// /// [HttpGet("ResourceLocales")] Task>> GetResourceLocales( [FromQuery] string resource, CancellationToken cancellationToken = default ); /// /// Extract Translation of a Resource in Specified Language ... /// /// Specified Language ... /// Specified Resource Title ... /// /// [HttpGet("Translation")] Task> GetResourceTranslation( [FromQuery] string language, [FromQuery] string resource, CancellationToken cancellationToken = default ); /// /// Retrieve a Resource as Locale Model ... /// /// Specified Language ... /// Specified Resource Title ... /// /// [HttpGet("Locale")] Task> GetLocale( [FromQuery] string language, [FromQuery] string resource, CancellationToken cancellationToken = default ); /// /// Retrieve all Exists Resource Instances as Locale Models ... /// /// /// /// [HttpGet("Locales")] Task>> GetLocales( [FromQuery] string resource, CancellationToken cancellationToken = default ); /// /// Retrieve all Locales of Specified Resource and Represent as XResourceDto ... /// /// /// /// [HttpGet("GetResource")] Task> GetResource( [FromQuery] string resource, CancellationToken cancellationToken = default ); /// /// Add or Update a Resource Model ... /// /// a XResourceDto Model ... /// /// [HttpPost("AddOrUpdateResource")] Task> AddOrUpdateResource( [FromBody] XResourceDto resource, CancellationToken cancellationToken = default ); /// /// Remove Specified Resource Model ... /// /// a XResourceDto Model ... /// /// [HttpPost("RemoveResource")] Task RemoveResource( [FromBody] XResourceDto resource, CancellationToken cancellationToken = default ); #endregion } }