using System.Collections.Generic; using System.Threading.Tasks; using xCommons.Extensions; using xHttpService.Constants; using xIdentityModels.Dtos; using xIdentityModels.Models; using xIdentityService.Constants; namespace xIdentityService.Providers { public partial class XIdentityProvider { // #region Admin ... /// /// Ban Specific Users /// /// Authentication Tokens /// an instance of XUserNameIdRequest which represents user identifier list to Ban /// a list of banned users identifiers public async Task> Ban ( XTokenResponse tokens, XUserNameIdRequest model ) { // // Validate Args ... await validationProvider .GroupValidationBuilder () .AddNotNull ( tokens, model ) .AddNotEmpty (tokens.AccessToken) .AddNotZeroChilds (model.Ids) .ValidateGroupAsync (); // var client = GetRestClient (tokens); // var request = GetRestRequet (XApiAccountEndpoint.Ban); request.AddJsonBody (model); // var response = await RunRestRequest> ( client, request, XHttpMethod.POST ); return response; } /// /// UnBann Specific Users /// /// Authentication Tokens /// an instance of XUserNameIdRequest which represents user identifier list to Ban /// a list of unbanned users identifiers public async Task> UnBan ( XTokenResponse tokens, XUserNameIdRequest model ) { // // Validate Args ... await validationProvider .GroupValidationBuilder () .AddNotNull ( tokens, model ) .AddNotEmpty (tokens.AccessToken) .AddNotZeroChilds (model.Ids) .ValidateGroupAsync (); // var client = GetRestClient (tokens); // var request = GetRestRequet (XApiAccountEndpoint.UnBan); request.AddJsonBody (model); // var response = await RunRestRequest> ( client, request, XHttpMethod.POST ); return response; } /// /// Check Specific User is Banned or not /// /// Authentication Tokens /// specified user's identifier /// a boolean value which represent user banned or not public async Task IsBanned ( XTokenResponse tokens, string userSelectByParam ) { // // Validate Args ... await validationProvider .GroupValidationBuilder () .AddNotNull (tokens) .AddNotEmpty ( userSelectByParam, tokens.AccessToken ) .ValidateGroupAsync (); // var client = GetRestClient (tokens); // var request = GetRestRequet ( XApiAccountEndpoint.IsBanned, @params : new Dictionary { { XParam.XUserSelectByParam.GetStringValue (), userSelectByParam } } ); // var response = await RunRestRequest ( client, request, XHttpMethod.GET ); return response; } #endregion } }