Exemple #1
0
        public async Task <IActionResult> LoginAccountStatus(DfpLoginAccountStatusInputClaims input)
        {
            if (input == null || !input.Validate())
            {
                return(Conflict(new B2CErrorResponseContent("Cannot deserialize input claims")));
            }

            var correlationId = dfpService.NewCorrelationId;

            var response = await dfpService.LoginAccountStatus(input, correlationId);

            if (!response.Status)
            {
                return(Conflict(new B2CErrorResponseContent(response.Message, $"Correlation Id : {correlationId}")));
            }

            return(Ok(new DfpCreateAccountStatusOutputClaims()
            {
                CorrelationId = correlationId
            }));
        }
Exemple #2
0
        public async Task <(bool Status, string Message, DfpAccountStatusResponse Data)> LoginAccountStatus(DfpLoginAccountStatusInputClaims input, string correlationId)
        {
            var endpoint = $"/v1.0/observe/account/login/status/{input.UserId}";

            var createAccountInput = new
            {
                Metadata = new
                {
                    TrackingId        = Guid.NewGuid().ToString(),
                    LoginId           = input.LoginId,
                    MerchantTimeStamp = DateTime.Now,
                    UserId            = input.UserId
                },
                StatusDetails = new
                {
                    StatusType    = input.StatusType,
                    ReasonType    = input.ReasonType,
                    ChallengeType = input.ChallengeType,
                    StatusDate    = DateTime.Now
                },
                Name    = "AP.AccountLogin.Status",
                Version = "0.5"
            };

            return(await PostAsync <DfpAccountStatusResponse>(endpoint, createAccountInput, correlationId));
        }