Files
Data-Coupler/CredentialManager/Models/CredentialEntity.cs
T
Alessio Dal Santo 01f78466df [Feature] Implementazione completa supporto ODBC
- 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.
2026-02-02 18:24:44 +01:00

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;
}