01f78466df
- Aggiunta persistenza campi ODBC (OdbcDsnName, OdbcMode) in CredentialEntity - Creata migration EF Core per nuovi campi database - Aggiornato mapping credenziali per caricare/salvare dati ODBC - Creato OdbcDatabaseManager dedicato (bypass EF Core che non supporta ODBC) - Aggiornato DataConnectionFactory per usare OdbcDatabaseManager con connessioni ODBC - Fix auto-load DSN: sostituito @onchange con @bind-Value:after in dropdown tipo database - Fix test connessione SAP HANA: rimossa query SELECT 1 che causava errori sintassi - Implementati tutti i metodi IDatabaseManager in OdbcDatabaseManager - Supporto completo per discovery schema, tabelle e query ODBC Risolve problema DbContext non configurato per ODBC e abilita connessioni ODBC complete.
80 lines
2.0 KiB
C#
80 lines
2.0 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace CredentialManager.Models;
|
|
|
|
/// <summary>
|
|
/// Entità per memorizzare le credenziali nel database
|
|
/// </summary>
|
|
public class CredentialEntity
|
|
{
|
|
[Key]
|
|
public int Id { get; set; }
|
|
|
|
[Required]
|
|
[MaxLength(100)]
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
[Required]
|
|
[MaxLength(50)]
|
|
public string Type { get; set; } = string.Empty; // Database, REST, etc.
|
|
|
|
[MaxLength(50)]
|
|
public string? DatabaseType { get; set; } // SqlServer, MySql, etc.
|
|
|
|
[MaxLength(500)]
|
|
public string? ConnectionString { get; set; }
|
|
|
|
[MaxLength(200)]
|
|
public string? Host { get; set; }
|
|
|
|
public int? Port { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? DatabaseName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? Username { get; set; }
|
|
|
|
/// <summary>
|
|
/// Password criptata
|
|
/// </summary>
|
|
public string? EncryptedPassword { get; set; }
|
|
|
|
[MaxLength(500)]
|
|
public string? EncryptedApiKey { get; set; }
|
|
|
|
[MaxLength(500)]
|
|
public string? EncryptedAuthToken { get; set; }
|
|
|
|
public int CommandTimeout { get; set; } = 30;
|
|
|
|
public int TimeoutSeconds { get; set; } = 100;
|
|
|
|
public bool IgnoreSslErrors { get; set; } = false;
|
|
|
|
[MaxLength(50)]
|
|
public string? RestServiceType { get; set; } // Generic, SapB1ServiceLayer, Salesforce
|
|
|
|
[MaxLength(2000)]
|
|
public string? Headers { get; set; } // JSON serialized headers
|
|
|
|
[MaxLength(2000)]
|
|
public string? AdditionalParameters { get; set; } // JSON per parametri aggiuntivi
|
|
|
|
// ODBC specific fields
|
|
[MaxLength(100)]
|
|
public string? OdbcDsnName { get; set; } // Nome del DSN ODBC configurato
|
|
|
|
[MaxLength(20)]
|
|
public string? OdbcMode { get; set; } // Dsn o Custom (OdbcConnectionMode enum)
|
|
|
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
|
|
|
public DateTime? UpdatedAt { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? CreatedBy { get; set; }
|
|
|
|
public bool IsActive { get; set; } = true;
|
|
}
|