internal async Task <LCIMPartiallySuccessResult> UnblockMembers(string convId, IEnumerable <string> clientIds) { BlacklistCommand blacklist = new BlacklistCommand { SrcCid = convId, }; blacklist.ToPids.AddRange(clientIds); if (Client.SignatureFactory != null) { LCIMSignature signature = await Client.SignatureFactory.CreateBlacklistSignature(convId, Client.Id, clientIds, LCIMSignatureAction.ConversationUnblockClients); blacklist.S = signature.Signature; blacklist.T = signature.Timestamp; blacklist.N = signature.Nonce; } GenericCommand request = NewCommand(CommandType.Blacklist, OpType.Unblock); request.BlacklistMessage = blacklist; GenericCommand response = await Connection.SendRequest(request); return(NewPartiallySuccessResult(response.BlacklistMessage.AllowedPids, response.BlacklistMessage.FailedPids)); }
internal async Task <LCIMPageResult> QueryBlockedMembers(string convId, int limit = 10, string next = null) { BlacklistCommand black = new BlacklistCommand { SrcCid = convId, Limit = limit }; if (next != null) { black.Next = next; } GenericCommand request = NewCommand(CommandType.Blacklist, OpType.Query); request.BlacklistMessage = black; GenericCommand response = await Connection.SendRequest(request); return(new LCIMPageResult { Results = new ReadOnlyCollection <string>(response.BlacklistMessage.BlockedPids), Next = response.BlacklistMessage.Next }); }