using Pilz.Net.CloudProviders.Nextcloud.Client;
using Pilz.Net.CloudProviders.Nextcloud.Client.Cloud.Model;

namespace Pilz.Net.CloudProviders.Nextcloud.Client.Cloud;

public class CloudClient : ClientBase
{
    public CloudClient(NextcloudClient client) : base(client)
    {
    }

    public UserInfo? GetUserInfo()
    {
        if (!string.IsNullOrEmpty(Client.CurrentLogin?.LoginName))
            return GetUserInfo(Client.CurrentLogin.LoginName);
        else
            return null;
    }

    public UserInfo? GetUserInfo(string username)
    {
        var result = Client.Ocs.Cloud.GetUserMeta(username);

        if (result?.Data != null)
            return new UserInfo(result.Data);

        return null;
    }
}
