using Google.Apis.Auth.OAuth2;
using Google.Apis.Drive.v3;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PDF_Office.Model.CloudDrive
{
    public class Cloud
    {
        public static ObservableCollection<UserBaseItem> CloudLists = new ObservableCollection<UserBaseItem>();

        public static List<CloudBoxItem> InitCloudBoxs()
        {
            List<CloudBoxItem> CloudeDrives = new List<CloudBoxItem>();

            var cloudDriveItem = new CloudBoxItem(CloudType.Box);
            CloudeDrives.Add(cloudDriveItem);

            cloudDriveItem = new CloudBoxItem(CloudType.DropBox);
            CloudeDrives.Add(cloudDriveItem);

            cloudDriveItem = new CloudBoxItem(CloudType.GoogleDrive);
            CloudeDrives.Add(cloudDriveItem);

            cloudDriveItem = new CloudBoxItem(CloudType.OneDrive);
            CloudeDrives.Add(cloudDriveItem);

            return CloudeDrives;
        }
    }

    #region 公有云盘

    /// <summary>
    /// 用户信息
    /// </summary>
    public class UserInfo
    {

        public string Name { get; set; }
        public int Id { get; set; }

        public string UserAccount { get; set; }
    }

    /// <summary>
    /// 用户云盘
    /// </summary>
    public class UserBaseItem
    {
        public UserInfo userInfo { get; set; }
        public CloudType cloudType { get; set; }
    }

    #endregion

    #region GooglrDrive

    /// <summary>
    /// 谷歌云盘的文件
    /// </summary>
    public class GoogleDriveFiles
    {
        public string Id { get; set; }
        public string Name { get; set; }
        public long? Size { get; set; }
        public long? Version { get; set; }
        public DateTime? CreatedTime { get; set; }
    }

    #endregion


    #region GooglrDrive

    /// <summary>
    /// 谷歌云盘的文件
    /// </summary>
    public class DropbBoxFiles
    {
        public string Id { get; set; }
        public string Name { get; set; }
        public long? Size { get; set; }
        public DateTime? CreatedTime { get; set; }
    }

    #endregion


}
