using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using xModels.Base; namespace xTermsAndConditionsService.Interfaces { /// /// an Interface for Describing Terms and Conditions Management Controller Actions ... /// public interface IXTermsAndComditionsController { /// /// Retrieved all Exists Languages Terms and Conditions ... /// /// [HttpGet("Terms/Languages")] Task>> TermsLanguages( CancellationToken cancellationToken = default ); /// /// Check Has Terms and Conditions based on Specified Language ... /// /// if null, used Default Language ... /// [HttpGet("Terms/{language}/Has")] Task> HasTerms( [FromRoute] string language = null, CancellationToken cancellationToken = default ); /// /// Retrieve Terms and Conditions for Specified Language ... /// /// if null, used Default Language ... /// [HttpGet("Terms/{language}")] Task> GetTerms( [FromRoute] string language = null, CancellationToken cancellationToken = default ); /// /// Add Terms and Conditions for Specified Language ... /// /// /// /// [HttpPost("Terms/{language}")] Task> AddTerms( [FromRoute] string language, [FromBody] XBaseValueContainer terms, CancellationToken cancellationToken = default ); /// /// Remove Terms and Conditions of Specified Language ... /// /// /// [HttpDelete("Terms/{language}")] Task> RemoveTerms( [FromRoute] string language, CancellationToken cancellationToken = default ); /// /// Update Terms and Conditions of Specified Language ... /// /// /// /// [HttpPut("Terms/{language}")] Task> UpdateTerms( [FromRoute] string language, [FromBody] XBaseValueContainer terms, CancellationToken cancellationToken = default ); } }