using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using xIdentityModels.Models; using xModels.Dtos; using xStringService.Models.Dtos; namespace xStringService.Interfaces { public interface IXResourceProvider { /// /// Retrieve a List of Exists Languages ... /// /// /// Task> GetLanguages( CancellationToken cancellationToken = default ); /// /// Retrieve all Exists Items ... /// /// Specified Resource Title /// /// Task> GetResourceLocales( CancellationToken cancellationToken = default ); /// /// Extract Translation of in Specified Language ... /// /// Specified Language ... /// /// Task GetResourceTranslation( string language, CancellationToken cancellationToken = default ); /// /// Check Has Specified Translation or not ... /// /// Specified Language ... /// /// Task HasLocale( string language, CancellationToken cancellationToken = default ); /// /// Retrieve as Locale Model ... /// /// Specified Language ... /// /// Task GetLocale( string language, CancellationToken cancellationToken = default ); /// /// Retrieve all Exists Locale Models ... /// /// /// Task> GetLocales( CancellationToken cancellationToken = default ); /// /// Retrieve as XResourceDto ... /// /// /// Task GetResource( CancellationToken cancellationToken = default ); /// /// Add or Update a Resource Model ... /// /// a XResourceDto Model ... /// Actor User for Permissions ... /// /// /// Task AddOrUpdateResource( XResourceDto resource, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Add Or Update Locale ... /// /// /// Actor User for Permissions ... /// /// /// Task AddOrUpdateLocale( XLocaleResourceDto locale, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Remove Locale ... /// /// /// Actor User for Permissions ... /// /// /// Task RemoveLocale( XLocaleResourceDto locale, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Remove Specified Resource Model ... /// /// a XResourceDto Model ... /// Actor User for Permissions ... /// /// /// Task RemoveResource( XResourceDto resource, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); } }