﻿namespace TrainsOnline.Api.SoapEndpoints.Interfaces
{
    using System.ServiceModel;
    using System.Threading.Tasks;
    using MediatR;
    using TrainsOnline.Api.SoapEndpoints.Core;
    using TrainsOnline.Application.Handlers.AuthenticationHandlers.Commands.ResetPassword;
    using TrainsOnline.Application.Handlers.AuthenticationHandlers.Queries.GetResetPasswordToken;
    using TrainsOnline.Application.Handlers.AuthenticationHandlers.Queries.GetValidToken;

    [ServiceContract]
    public interface IAuthenticationSoapEndpointService : ISoapEndpointService
    {
        [OperationContract]
        Task<JwtTokenModel> Login(LoginRequest model);

        [OperationContract]
        Task<string> ResetPasswordStep1(SendResetPasswordRequest request);

        [OperationContract]
        Task<Unit> ResetPasswordStep2(ResetPasswordRequest request);
    }
}
{'avg_line_length': 37.608695652173914, 'max_line_length': 97, 'alphanum_fraction': 0.7780346820809249, 'licenses': ['MIT'], 'repository_name': 'adambajguz/pkp-app', 'path': 'backend/TrainsOnline.Api/SoapEndpoints/Interfaces/IAuthenticationSoapEndpointService.cs', 'size': 867, 'lang': 'C#'}