add base requirements ...

This commit is contained in:
2026-05-27 13:55:24 +03:30
parent 0a464af693
commit ac168ed7c1
6 changed files with 874 additions and 0 deletions
@@ -0,0 +1,82 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using xModels.Base;
namespace xTermsAndConditionsService.Interfaces
{
/// <summary>
/// an Interface for Describing Terms and Conditions Management Controller Actions ...
/// </summary>
public interface IXTermsAndComditionsController
{
/// <summary>
/// Retrieved all Exists Languages Terms and Conditions ...
/// </summary>
/// <returns></returns>
[HttpGet("Terms/Languages")]
Task<ActionResult<IEnumerable<string>>> TermsLanguages(
CancellationToken cancellationToken = default
);
/// <summary>
/// Check Has Terms and Conditions based on Specified Language ...
/// </summary>
/// <param name="language">if null, used Default Language ...</param>
/// <returns></returns>
[HttpGet("Terms/{language}/Has")]
Task<ActionResult<bool>> HasTerms(
[FromRoute] string language = null,
CancellationToken cancellationToken = default
);
/// <summary>
/// Retrieve Terms and Conditions for Specified Language ...
/// </summary>
/// <param name="language">if null, used Default Language ...</param>
/// <returns></returns>
[HttpGet("Terms/{language}")]
Task<ActionResult<string>> GetTerms(
[FromRoute] string language = null,
CancellationToken cancellationToken = default
);
/// <summary>
/// Add Terms and Conditions for Specified Language ...
/// </summary>
/// <param name="language"></param>
/// <param name="terms"></param>
/// <returns></returns>
[HttpPost("Terms/{language}")]
Task<ActionResult<string>> AddTerms(
[FromRoute] string language,
[FromBody] XBaseValueContainer<string> terms,
CancellationToken cancellationToken = default
);
/// <summary>
/// Remove Terms and Conditions of Specified Language ...
/// </summary>
/// <param name="language"></param>
/// <returns></returns>
[HttpDelete("Terms/{language}")]
Task<ActionResult<bool>> RemoveTerms(
[FromRoute] string language,
CancellationToken cancellationToken = default
);
/// <summary>
/// Update Terms and Conditions of Specified Language ...
/// </summary>
/// <param name="language"></param>
/// <param name="terms"></param>
/// <returns></returns>
[HttpPut("Terms/{language}")]
Task<ActionResult<bool>> UpdateTerms(
[FromRoute] string language,
[FromBody] XBaseValueContainer<string> terms,
CancellationToken cancellationToken = default
);
}
}