using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using xModels.Dtos; using xStringService.Models.Dtos; namespace xStringService.Interfaces { public interface IXBaseResourceProviderController { /// /// Retrieve a List of Exists Languages ... /// /// /// [HttpGet("Languages")] Task>> GetLanguages( CancellationToken cancellationToken = default ); /// /// Retrieve all Exists Items ... /// /// Specified Resource Title /// /// [HttpGet("LocalesResource")] Task>> GetResourceLocales( CancellationToken cancellationToken = default ); /// /// Extract Translation of in Specified Language ... /// /// Specified Language ... /// /// [HttpGet("{language}/Translation")] Task> GetResourceTranslation( [FromRoute] string language, CancellationToken cancellationToken = default ); /// /// Check Has Specified Translation or not ... /// /// Specified Language ... /// /// [HttpGet("{language}/Has")] Task> HasLocale( [FromRoute] string language, CancellationToken cancellationToken = default ); /// /// Retrieve as Locale Model ... /// /// Specified Language ... /// /// [HttpGet("{language}/Locale")] Task> GetLocale( [FromRoute] string language, CancellationToken cancellationToken = default ); /// /// Retrieve all Exists Locale Models ... /// /// /// [HttpGet("Locales")] Task>> GetLocales( CancellationToken cancellationToken = default ); /// /// Retrieve as XResourceDto ... /// /// /// [HttpGet("Resource")] Task> GetResource( CancellationToken cancellationToken = default ); /// /// Add or Update a Resource Model ... /// /// a XResourceDto Model ... /// /// [HttpPost("")] Task> AddOrUpdateResource( [FromBody] XResourceDto resource, CancellationToken cancellationToken = default ); /// /// Add Or Update Locale ... /// /// /// /// [HttpPost("Locales")] Task> AddOrUpdateLocale( [FromBody] XLocaleResourceDto locale, CancellationToken cancellationToken = default ); /// /// Remove Locale ... /// /// /// /// [HttpPost("Locale/Remove")] Task> RemoveLocale( [FromBody] XLocaleResourceDto locale, CancellationToken cancellationToken = default ); /// /// Remove Specified Resource Model ... /// /// a XResourceDto Model ... /// /// [HttpPost("Resource/Remove")] Task RemoveResource( [FromBody] XResourceDto resource, CancellationToken cancellationToken = default ); } }