36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using Pilz.Networking.CloudProviders.Nextcloud.OCS.Responses.LoginFlowV2;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Pilz.Networking.CloudProviders.Nextcloud.OCS.APIs
|
|
{
|
|
public class OcsApiLoginFlowV2 : OcsApiBase
|
|
{
|
|
private const string OCS_LOGIN_INIT = "/index.php/login/v2";
|
|
|
|
public OcsApiLoginFlowV2(OcsApi manager) : base(manager)
|
|
{
|
|
}
|
|
|
|
public Task<OcsResponseLoginFlowV2?> Init(string url)
|
|
{
|
|
return Manager.MakeRequestJson<OcsResponseLoginFlowV2>(HttpMethod.Get, url + OCS_LOGIN_INIT);
|
|
}
|
|
|
|
public Task<OcsResponseLoginFlowV2Credentials?> Poll(OcsResponseLoginFlowV2.PollData poll)
|
|
{
|
|
ArgumentNullException.ThrowIfNull(poll?.Endpoint);
|
|
ArgumentNullException.ThrowIfNull(poll?.Token);
|
|
|
|
return Manager.MakeRequestJson<OcsResponseLoginFlowV2Credentials?>(HttpMethod.Get, poll.Endpoint,
|
|
parameters: new Dictionary<string, string>
|
|
{
|
|
{ "token", poll.Token }
|
|
});
|
|
}
|
|
}
|
|
}
|