LevelOS-Core/MLL/ModeloCloudStorage.cs

74 lines
2.0 KiB
C#

using System;
namespace MLL
{
public class ModeloCloudStorage
{
public int Id { get; set; }
public string Nome { get; set; }
public string Tipo { get; set; } // 'gdrive', 'onedrive', 'webdav'
// OAuth
public string ClientId { get; set; }
public string ClientSecret { get; set; }
public string AccessToken { get; set; }
public string RefreshToken { get; set; }
public DateTime? TokenExpiraEm { get; set; }
// WebDAV
public string Url { get; set; }
public string Usuario { get; set; }
public string Senha { get; set; }
// Geral
public string PastaBase { get; set; }
public bool Ativo { get; set; }
public DateTime CriadoEm { get; set; }
public DateTime? AtualizadoEm { get; set; }
// =========================
// 🏗️ CONSTRUTORES
// =========================
// 🔹 Construtor vazio (ORM / DAL)
public ModeloCloudStorage()
{
Ativo = true;
CriadoEm = DateTime.Now;
}
// 🔹 Construtor com parâmetros principais
public ModeloCloudStorage(
string nome,
string tipo,
string pastaBase = null,
string clientId = null,
string clientSecret = null,
string accessToken = null,
string refreshToken = null,
DateTime? tokenExpiraEm = null,
string url = null,
string usuario = null,
string senha = null
) : this()
{
Nome = nome;
Tipo = tipo;
PastaBase = pastaBase;
ClientId = clientId;
ClientSecret = clientSecret;
AccessToken = accessToken;
RefreshToken = refreshToken;
TokenExpiraEm = tokenExpiraEm;
Url = url;
Usuario = usuario;
Senha = senha;
}
}
}