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 IXBaseItemResourceProviderController { /// /// Retrieve a List of Exists Languages ... /// /// if null or empty, check all languages in Item Side /// /// [HttpGet("Languages")] Task>> GetLanguages( [FromQuery] object identifier, CancellationToken cancellationToken = default ); /// /// Retrieve all Exists Items ... /// /// Specified Resource Title /// /// [HttpGet("ResourceLocales")] Task>> GetResourceLocales( [FromQuery] object identifier, CancellationToken cancellationToken = default ); /// /// Get all Exists Items for Specified identitifer ... /// /// /// /// [HttpGet("Locales/{identifier}")] Task>> GetLocales( [FromRoute] object identifier, CancellationToken cancellationToken = default ); /// /// Remove Specified Language Locale of Specified Identifier ... /// /// /// if null or empty Remove all Locales /// /// [HttpDelete("Locales/{identifier}")] Task> RemoveLocale( [FromRoute] object identifier, [FromQuery] string language, CancellationToken cancellationToken = default ); /// /// Check Specified ocale Exists for Specified Identifier ... /// /// /// /// /// [HttpGet("Locales/{identifier}/{language}/Has")] Task> HasLocale( [FromRoute] object identifier, [FromRoute] string language, CancellationToken cancellationToken = default ); /// /// Get all Exists Locales Representaion based on Specified Identitifer /// as XResourceDto ... /// /// /// /// [HttpGet("Resource/{identifier}")] Task> GetResource( [FromRoute] object identifier, CancellationToken cancellationToken = default ); /// /// Add Or Update Locale for Specified Identitifer ... /// /// /// /// /// [HttpPost("Locales/{identifier}")] Task> AddOrUpdateLocale( [FromRoute] object identifier, [FromBody] XLocaleResourceDto locale, CancellationToken cancellationToken = default ); /// /// Update a Resource State ... /// /// /// /// /// [HttpPost("Resource/{identifier}")] Task> AddOrUpdateResource( [FromRoute] object identifier, [FromBody] XResourceDto resource, CancellationToken cancellationToken = default ); } }