Add login API client
This commit is contained in:
parent
c248bb5b62
commit
5f02e744e2
|
|
@ -17,8 +17,4 @@
|
|||
<PackageReference Include="Refit.HttpClientFactory" Version="6.3.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Resources" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using Elsa.Api.Client.Contracts;
|
||||
using Elsa.Api.Client.Options;
|
||||
using Elsa.Api.Client.Resources.Identity.Contracts;
|
||||
using Elsa.Api.Client.Resources.WorkflowDefinitions.Contracts;
|
||||
using Elsa.Api.Client.Services;
|
||||
using JetBrains.Annotations;
|
||||
|
|
@ -25,6 +26,7 @@ public static class DependencyInjectionExtensions
|
|||
|
||||
var settings = new RefitSettings();
|
||||
services.AddElsaApiClient<IWorkflowDefinitionsApi>(settings);
|
||||
services.AddElsaApiClient<ILoginApi>(settings);
|
||||
return services;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
using Elsa.Api.Client.Resources.Identity.Models;
|
||||
using Refit;
|
||||
|
||||
namespace Elsa.Api.Client.Resources.Identity.Contracts;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a client for the login API.
|
||||
/// </summary>
|
||||
public interface ILoginApi
|
||||
{
|
||||
/// <summary>
|
||||
/// Sends the specified request to the login API.
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>The response.</returns>
|
||||
[Post("/identity/login")]
|
||||
Task<LoginResponse> LoginAsync([Body] LoginRequest request, CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
namespace Elsa.Api.Client.Resources.Identity.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a request to log in.
|
||||
/// </summary>
|
||||
/// <param name="Username">The username.</param>
|
||||
/// <param name="Password">The password.</param>
|
||||
public record LoginRequest(string Username, string Password);
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
namespace Elsa.Api.Client.Resources.Identity.Models;
|
||||
|
||||
/// <summary>
|
||||
/// The response of logging in.
|
||||
/// </summary>
|
||||
public record LoginResponse(bool IsAuthenticated, string? AccessToken, string? RefreshToken);
|
||||
Loading…
Reference in a new issue