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