public Result <string> ActivateMerchant(long merchantId)
        {
            IList <string> validationErrs = ValidateId(merchantId, "parameterMerchantIdInvalid");

            if (validationErrs.Count > 0)
            {
                return(new Result <string>(validationErrs));
            }
            RestRequest request = new RestRequest(ACTIVATE_MERCHANT_URL, Method.PUT);

            request.AddUrlSegment("merchantId", merchantId);
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#2
0
        public Result <string> DeleteApkParameter(long apkParameterId)
        {
            List <string> validationErrs = ValidateId(apkParameterId, "parameterApkParameterIdIsInvalid");

            if (validationErrs.Count > 0)
            {
                return(new Result <string>(validationErrs));
            }
            RestRequest request = new RestRequest(DELETE_APK_PARAMETER_URL, Method.DELETE);

            request.AddUrlSegment("apkParameterId", apkParameterId.ToString());
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
        public Result <string> DisablePushRkiTask(DisablePushRkiTaskRequest disablePushRkiTaskRequest)
        {
            List <string> validationErrs = validateDisablePushRki(disablePushRkiTaskRequest);

            if (validationErrs.Count > 0)
            {
                return(new Result <string>(validationErrs));
            }
            RestRequest request         = new RestRequest(SUSPEND_TERMINAL_RKI_KEY_URL, Method.POST);
            var         requestBodyJson = JsonConvert.SerializeObject(disablePushRkiTaskRequest);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, requestBodyJson, ParameterType.RequestBody);
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#4
0
        private void OnDeleteGroup(EmptyResponse response)
        {
            var prevRequest = (DeleteGroupRequest)response.Request;

            Debug.Log("Group Deleted: " + prevRequest.Group.Id);

            var temp = new HashSet <KeyValuePair <string, string> >();

            foreach (var each in EntityGroupPairs)
            {
                if (each.Value != prevRequest.Group.Id)
                {
                    temp.Add(each);
                }
            }
            EntityGroupPairs.IntersectWith(temp);
            GroupNameById.Remove(prevRequest.Group.Id);
        }
示例#5
0
        public override async Task <EmptyResponse> SubmitProfile(SubmitProfileRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            var token = context.GetBearerToken();
            var tier  = request.OptionalTierCase == SubmitProfileRequest.OptionalTierOneofCase.None
                ? (Tier?)null
                : request.Tier == TierUpgrade.Advanced ? Tier.Advanced : Tier.ProIndividual;

            var response = await _walletApiV1Client.KycProfilesSubmitAsync("LykkeEurope", tier, token);

            if (response.Error != null)
            {
                result.Error = response.Error.ToApiError();
            }

            return(result);
        }
        public Result <string> DeleteTerminalVariable(long terminalVariableId)
        {
            IList <string> validationErrs = ValidateId(terminalVariableId, "terminalVariableIdInvalid");

            if (validationErrs.Count > 0)
            {
                return(new Result <string>(validationErrs));
            }

            RestRequest request = new RestRequest(DELETE_TERMINAL_VARIABLE_URL, Method.DELETE);

            request.AddUrlSegment("terminalVariableId", terminalVariableId.ToString());
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#7
0
        public override Task <EmptyResponse> SetTimeout(SetTimeoutRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            try
            {
                dumper.Timeout = (uint)request.Timeout;
            }
            catch (Exception ex)
            {
                PrintError(ex);
                result.ErrorInfo = new ErrorInfo()
                {
                    ExceptionName    = ex.GetType().ToString(),
                    ExceptionMessage = ex.Message
                };
            }
            return(Task.FromResult(result));
        }
示例#8
0
        public Result <string> UpdateApkParameter(long apkParameterId, UpdateApkParameterRequest updateApkParameterRequest)
        {
            List <string> validationErrs = ValidateUpdate(apkParameterId, updateApkParameterRequest, new TerminalApkParameterUpdateValidator(), "paramterApkParameterIdIsNull", "parameterUpdateApkParameterRequestIsNull");

            if (validationErrs.Count > 0)
            {
                return(new Result <string>(validationErrs));
            }
            RestRequest request           = new RestRequest(UPDATE_APK_PARAMETER_URL, Method.PUT);
            var         updateRequestJson = JsonConvert.SerializeObject(updateApkParameterRequest);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, updateRequestJson, ParameterType.RequestBody);
            request.AddUrlSegment("apkParameterId", apkParameterId.ToString());
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#9
0
        public override async Task <EmptyResponse> UploadKycFile(KycFileRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            var token = context.GetBearerToken();

            if (request.File.IsEmpty)
            {
                return(result);
            }

            var maxSize = _config.MaxReceiveMessageSizeInMb * 1024 * 1024;

            if (request.File.Length > maxSize)
            {
                result.Error = new ErrorResponseBody
                {
                    Code    = ErrorCode.InvalidField,
                    Message = ErrorMessages.TooBig(nameof(request.File),
                                                   request.File.Length.ToString(),
                                                   maxSize.ToString()),
                };

                result.Error.Fields.Add(nameof(request.File), result.Error.Message);

                return(result);
            }

            var provider = new FileExtensionContentTypeProvider();

            if (!provider.TryGetContentType(request.Filename, out var contentType))
            {
                contentType = "image/jpeg";
            }

            using (var ms = new MemoryStream(request.File.ToByteArray()))
            {
                await _walletApiV1Client.KycFilesUploadFileAsync(request.DocumentType, string.Empty,
                                                                 new FileParameter(ms, request.Filename, contentType), token);

                return(result);
            }
        }
示例#10
0
        public async Task <EmptyResponse> Toggle(int id)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null)
            {
                return new EmptyResponse()
                       {
                           Valid = false, Error = "No Access"
                       }
            }
            ;
            var response = new EmptyResponse();
            var isok     = await _segmentManager.PublicAccessToggleAsync(user.Id, id);

            response.Valid = isok;
            return(response);
        }
    }
示例#11
0
        public Result <string> BatchAddTerminalToGroup(TerminalGroupRequest batchAddTerminalToGroupRequest)
        {
            List <string> validationErrs = new List <string>();

            if (batchAddTerminalToGroupRequest == null)
            {
                validationErrs.Add(GetMsgByKey("parameterBatchAddTerminalToGroupRequestNull"));
                return(new Result <string>(validationErrs));
            }
            RestRequest request     = new RestRequest(ADD_TERMINAL_TO_GROUP_URL, Method.POST);
            var         requestJson = JsonConvert.SerializeObject(batchAddTerminalToGroupRequest);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, requestJson, ParameterType.RequestBody);
            string          responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
        public Result <string> UpdateEntityAttributeLabel(long attributeId, EntityAttributeLabelUpdateRequest updateLabelRequest)
        {
            if (updateLabelRequest == null)
            {
                List <string> validationErrs = new List <string>();
                validationErrs.Add(GetMsgByKey("parameterUpdateLabelRequestNull"));
            }
            RestRequest request = new RestRequest(UPDATE_ENTITY_ATTRIBUTES_LABEL_URL, Method.PUT);

            request.AddUrlSegment("attributeId", attributeId.ToString());
            var requestJson = JsonConvert.SerializeObject(updateLabelRequest);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, requestJson, ParameterType.RequestBody);
            string          responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#13
0
        public override async Task <EmptyResponse> SendBankTransferRequest(BankTransferRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            var token    = context.GetBearerToken();
            var response = await _walletApiV1Client.BankTransferRequestAsync(
                new TransferReqModel
            {
                AssetId       = request.AssetId,
                BalanceChange = request.BalanceChange
            },
                token);

            if (response.Error != null)
            {
                result.Error = response.Error.ToApiError();
            }

            return(result);
        }
        public Result <string> RemoveTerminalOutGroup(long groupId, HashSet <long> terminalIds)
        {
            if (terminalIds == null || terminalIds.Count == 0)
            {
                List <string> validationErrs = new List <string>();
                validationErrs.Add(GetMsgByKey("parameterTerminalIdsMandatory"));
                return(new Result <string>(validationErrs));
            }
            RestRequest request = new RestRequest(REMOVE_TERMINAL_OUT_GROUP_URL, Method.PUT);

            request.AddUrlSegment("groupId", groupId.ToString());
            var requestJson = JsonConvert.SerializeObject(terminalIds);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, requestJson, ParameterType.RequestBody);
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#15
0
        public override async Task <EmptyResponse> SaveQuestionnaire(AnswersRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            var token = context.GetBearerToken();

            var req = new Lykke.ApiClients.V1.AnswersRequest
            {
                Answers = _mapper.Map <List <ChoiceModel> >(request.Answers.ToList())
            };

            var response = await _walletApiV1Client.TiersSaveQuestionnaireAsync(req, token);

            if (response.Error != null)
            {
                result.Error = response.Error.ToApiError();
            }

            return(result);
        }
示例#16
0
        public override async Task <EmptyResponse> RegisterPushNotifications(RegisterPushRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            var clientId = context.GetClientId();

            var clientInfo = await _clientAccountClient.ClientAccountInformation.GetByIdAsync(clientId);

            var sessionId = context.GetLykkeSessionId();

            await _pushNotificationsClient.FcmTokens.RegisterAsync(new FcmTokenModel
            {
                NotificationId = clientInfo.NotificationsId,
                ClientId       = clientId,
                SessionId      = sessionId,
                FcmToken       = request.FcmToken
            });

            return(result);
        }
示例#17
0
        public Result <string> UpdateTerminalConfig(long terminalId, TerminalConfigUpdateRequest terminalConfigUpdateRequest)
        {
            if (terminalConfigUpdateRequest == null)
            {
                List <string> validationErrs = new List <string>();
                validationErrs.Add(GetMsgByKey("parameterTerminalConfigUpdateRequestIsNull"));
                return(new Result <string>(validationErrs));
            }
            RestRequest request = new RestRequest(UPDATE_TERMINAL_REMOTE_CONFIG_URL, Method.PUT);

            request.AddUrlSegment(URL_SEGMENT_TERMINAL_ID, terminalId);
            var requestJson = JsonConvert.SerializeObject(terminalConfigUpdateRequest);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, requestJson, ParameterType.RequestBody);
            string          responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#18
0
        public Result <string> CreateTerminalApk(CreateTerminalApkRequest createTerminalApkRequest)
        {
            List <String> validationErrs = ValidateCreateTerminalApk(createTerminalApkRequest);

            if (validationErrs.Count > 0)
            {
                return(new Result <String>(validationErrs));
            }

            RestRequest request = new RestRequest(CREATE_TERMINAL_APK_URL, Method.POST);

            var terminalApkJson = JsonConvert.SerializeObject(createTerminalApkRequest);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, terminalApkJson, ParameterType.RequestBody);
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
        private async Task ShouldUpdatePayoutSchedule()
        {
            var responseAsync = new EmptyResponse();

            _apiClient
            .Setup(x =>
                   x.Put <EmptyResponse>(
                       "accounts/entities/entity_id/payout-schedules",
                       It.IsAny <SdkAuthorization>(),
                       It.IsAny <object>(),
                       It.IsAny <CancellationToken>(),
                       null
                       )
                   )
            .ReturnsAsync(responseAsync);

            var response =
                await _accountsClient.UpdatePayoutSchedule("entity_id", Currency.AED, new UpdateScheduleRequest());

            response.ShouldNotBeNull();
        }
示例#20
0
        public override Task <EmptyResponse> Reset(EmptyRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            try
            {
                Console.Write("Reset... ");
                dumper.Reset();
                Console.WriteLine("OK");
            }
            catch (Exception ex)
            {
                PrintError(ex);
                result.ErrorInfo = new ErrorInfo()
                {
                    ExceptionName    = ex.GetType().ToString(),
                    ExceptionMessage = ex.Message
                };
            }
            return(Task.FromResult(result));
        }
示例#21
0
        public Result <string> VerifyTerminalEstate(string serialNo)
        {
            List <string> validationErrs = new List <string>();

            if (string.IsNullOrEmpty(serialNo))
            {
                validationErrs.Add(GetMsgByKey("parameterSerialNoMandatory"));
            }
            if (validationErrs.Count > 0)
            {
                return(new Result <string>(validationErrs));
            }
            RestRequest request = new RestRequest(VERIFY_ESTATE_URL, Method.GET);

            request.AddUrlSegment("serialNo", serialNo);
            var             responseContent = Execute(request);
            EmptyResponse   emptyResponse   = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <string> result          = new Result <string>(emptyResponse);

            return(result);
        }
示例#22
0
        public override Task <EmptyResponse> WriteFlash(WriteRequest request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            try
            {
                if (request.Data.Length <= 32)
                {
                    Console.Write($"Writing ");
                    foreach (var b in request.Data)
                    {
                        Console.Write($"0x{b:X2} ");
                    }
                    if (request.Data.Length > 1)
                    {
                        Console.Write($"=> 0x{request.Address:X4}-0x{request.Address + request.Data.Length - 1:X4} @ flash... ");
                    }
                    else
                    {
                        Console.Write($"=> 0x{request.Address:X4} @ flash... ");
                    }
                }
                else
                {
                    Console.Write($"Writing to 0x{request.Address:X4}-0x{request.Address + request.Data.Length - 1:X4} @ flash... ");
                }
                dumper.WriteFlash((ushort)request.Address, request.Data.ToByteArray());
                Console.WriteLine("OK");
            }
            catch (Exception ex)
            {
                PrintError(ex);
                result.ErrorInfo = new ErrorInfo()
                {
                    ExceptionName    = ex.GetType().ToString(),
                    ExceptionMessage = ex.Message
                };
            }
            return(Task.FromResult(result));
        }
示例#23
0
        public async Task <IResponse> Process(IRequest request)
        {
            try
            {
                SendMessageRequest  sendRequest = request as SendMessageRequest;
                SendMessageResponse response    = new SendMessageResponse();
                EmptyResponse       empty       = new EmptyResponse();

                if (sendRequest.FromUserId != Guid.Empty && sendRequest.ToUserId != Guid.Empty)
                {
                    //Test reciever exists
                    ActorId userId    = new ActorId(sendRequest.ToUserId);
                    var     userproxy = userId.Proxy <IUser>();
                    bool    exists    = await userproxy.isCreatedAsync();

                    if (exists)
                    {
                        response.FromUserId = sendRequest.FromUserId;
                        response.Message    = sendRequest.Message;
                        await userproxy.SendGateResponseAsync(new Models.GateResponse(this.ProcessorId, (int)System.Net.HttpStatusCode.OK, sendRequest.ToUserId, response.Serialize()));
                    }
                    else
                    {
                        empty.Status = System.Net.HttpStatusCode.BadRequest;
                    }
                    return(empty);
                }
                else
                {
                    empty.Status = System.Net.HttpStatusCode.BadRequest;
                }
                return(empty);
            }
            catch (Exception E)
            {
                E.Log();
                ErrorResponse errorresponse = new ErrorResponse(E.Message);
                return(errorresponse);
            }
        }
示例#24
0
        private Response DesignerApiProcessingSync(RequestContext ctx)
        {
            Response response;

            try
            {
                NameValueCollection pars = new NameValueCollection();
                pars.Add(ctx.Request.HttpParams.QueryString);

                Stream fileStream = null;
                if (ctx.Request.HttpMethod.Equals("POST", StringComparison.InvariantCultureIgnoreCase) && ctx.Request.HttpParams.FormParams != null)
                {
                    pars.Add(ctx.Request.HttpParams.FormParams);
                    fileStream = ctx.Request.HttpParams.FirstFileStream;
                }

                var res = DesignerApi(pars, fileStream);
                if (pars.AllKeys.Contains("operation") && pars["operation"] == "downloadscheme")
                {
                    response = new StringResponse(res, "file/xml", new Dictionary <string, string>()
                    {
                        { "Content-Disposition", "attachment; filename=schema.xml" }
                    });
                }
                else
                {
                    response = new StringResponse(res);
                }
            }
            catch (Exception ex)
            {
                if (this.Parameters.Log != null)
                {
                    this.Parameters.Log(ex.ToString());
                }
                response = new EmptyResponse(404);
            }
            return(response);
        }
        public void ProcessResponse_EmptyResponse_LogsNothing()
        {
            // Arrange
            var logger = new LoggerStub();

            var response = new EmptyResponse <object>();

            var handler = GetPartialMock <ResponseHandlerBase <object, object> >();

            // Act
            var result = handler.ProcessResponse(logger, response);

            // Assert
            result.Should().Be(response);

            logger.Trace.Should().BeEmpty();
            logger.Error.Should().BeEmpty();
            logger.Debug.Should().BeEmpty();
            logger.Information.Should().BeEmpty();
            logger.Warning.Should().BeEmpty();
            logger.Critical.Should().BeEmpty();
        }
示例#26
0
        public override async Task <EmptyResponse> Logout(Empty request, ServerCallContext context)
        {
            var result = new EmptyResponse();

            string sessionId = context.GetToken();

            var session = _sessionService.GetSession(sessionId);

            if (session == null)
            {
                result.Error = new ErrorResponseBody
                {
                    Code    = ErrorCode.Unauthorized,
                    Message = ErrorMessages.InvalidToken
                };

                return(result);
            }

            await _sessionService.LogoutAsync(session);

            return(result);
        }
        public Result <string> UpdateTerminalVariable(long terminalVariableId, TerminalVariableUpdateRequest terminalVariableUpdateRequest)
        {
            IList <string> validationErrs = ValidateId(terminalVariableId, "parameterTerminalVariableIdInvalid");

            if (terminalVariableUpdateRequest == null)
            {
                validationErrs.Add(GetMsgByKey("parameterTerminalVariableUpdateRequestMandatory"));
                return(new Result <string>(validationErrs));
            }
            if (validationErrs.Count > 0)
            {
                return(new Result <string>(validationErrs));
            }
            RestRequest request     = new RestRequest(UPDATE_TERMINAL_VARIABLE_URL, Method.PUT);
            var         requestJson = JsonConvert.SerializeObject(terminalVariableUpdateRequest);

            request.AddParameter(Constants.CONTENT_TYPE_JSON, requestJson, ParameterType.RequestBody);
            request.AddUrlSegment("terminalVariableId", terminalVariableId.ToString());
            var             responseContent = Execute(request);
            EmptyResponse   temptyResponse  = JsonConvert.DeserializeObject <EmptyResponse>(responseContent);
            Result <String> result          = new Result <String>(temptyResponse);

            return(result);
        }
示例#28
0
        public override Task <EmptyResponse> DeclineAssetDisclaimer(AssetDisclaimerRequest request, ServerCallContext context)
        {
            var resp = new EmptyResponse();

            return(Task.FromResult(resp));
        }
示例#29
0
        public override Task <EmptyResponse> CryptoCashout(CryptoCashoutRequest request, ServerCallContext context)
        {
            var resp = new EmptyResponse();

            return(Task.FromResult(resp));
        }
示例#30
0
 EmptyResponse ToEmptyResponse(JsonObject js)
 {
     var ret = new EmptyResponse ();
     FillStatus (ret, js);
     return ret;
 }
示例#31
0
 private void PlayfabEvents_OnUpdateAvatarUrlResultEvent(EmptyResponse result)
 {
     // TODO [bgish]: Update AvatarUrl and fire a AvatarUrlChanged event
 }