ee3c251b08c68a46ff6783ee2b1588bf4852c40f
- Aggiunto campo SourceCustomQuery al modello DataCouplerProfile e DTO - Creata migrazione database per la nuova colonna SourceCustomQuery - Aggiornato DataCouplerProfileService per gestire il mapping della query custom - Modificato ProfileSaver per includere la query custom nel salvataggio - Implementata logica di caricamento profili con supporto query custom: * Popolamento automatico della textbox con query salvata * Validazione ed esecuzione automatica della query al caricamento * Caricamento anteprima dati e mapping dopo validazione query * Gestione priorità: query custom ha precedenza sulla selezione tabella - Aggiornato DataCoupler.razor per passare la query custom al ProfileSaver - Corretto salvataggio profili esistenti per includere SourceCustomQuery Il sistema ora permette di salvare e ripristinare completamente le configurazioni con query SQL personalizzate, mantenendo il comportamento esistente per le
Data-Coupler
Panoramica
Data-Coupler è una soluzione integrata per la gestione di connessioni dati e credenziali, composta da tre progetti principali:
- CredentialManager: Libreria per la gestione sicura delle credenziali
- DataConnection: Libreria per connessioni a database e API REST
- Data_Coupler: Applicazione Blazor Server per l'interfaccia utente
Architettura
CredentialManager
Libreria responsabile per:
- Gestione sicura delle credenziali (Database, REST API)
- Crittografia dei dati sensibili
- Persistenza su database SQLite
- Validazione delle credenziali
DataConnection
Libreria per connessioni dati che include:
- Supporto per database: SQL Server, MySQL, PostgreSQL, Oracle, SQLite, DB2, SAP HANA
- Gestione connessioni REST API
- Integrazione con CredentialManager per l'autenticazione
- Factory pattern per la gestione di diversi provider
Data_Coupler
Applicazione Blazor Server che fornisce:
- Interfaccia web per la gestione delle credenziali
- CRUD completo per credenziali database e REST API
- Test delle connessioni
- Validazione form integrata
Configurazione
1. Database delle Credenziali
L'applicazione utilizza SQLite per memorizzare le credenziali. Il database viene automaticamente creato in:
Data_Coupler/wwwroot/data/credentials.db
2. Registrazione Servizi
Nel Program.cs di Data_Coupler:
// Add CredentialManager services
builder.Services.AddDataConnectionCredentialManagement("Data Source=wwwroot/data/credentials.db");
Utilizzo
Gestione Credenziali via Web Interface
- Avviare l'applicazione Data_Coupler
- Navigare su
/credentials - Utilizzare l'interfaccia per:
- Aggiungere nuove credenziali (Database/REST API)
- Modificare credenziali esistenti
- Testare le connessioni
- Eliminare credenziali
Utilizzo Programmatico
// Iniettare il servizio
@inject IDataConnectionCredentialService CredentialService
// Ottenere opzioni per connessione database
var dbOptions = await CredentialService.GetDbManagerOptionsAsync("MyDatabase");
// Ottenere opzioni per API REST
var apiOptions = await CredentialService.GetRestServiceOptionsAsync("MyApi");
// Gestire credenziali
var credential = new DatabaseCredential
{
Name = "Test",
DatabaseType = DatabaseType.SqlServer,
Host = "localhost",
Port = 1433,
DatabaseName = "TestDB",
Username = "user",
Password = "password"
};
await CredentialService.SaveDatabaseCredentialAsync(credential);
Struttura dei Progetti
Data-Coupler/
├── CredentialManager/ # Gestione credenziali
│ ├── Data/ # DbContext e configurazioni
│ ├── Models/ # Modelli per credenziali
│ └── Services/ # Servizi core
├── DataConnection/ # Connessioni dati
│ ├── CredentialManagement/ # Integrazione con CredentialManager
│ │ ├── Interfaces/ # Interfacce servizi
│ │ ├── Models/ # Extension methods e conversioni
│ │ └── Services/ # Implementazione servizi
│ ├── DB/ # Gestione database
│ └── REST/ # Gestione API REST
└── Data_Coupler/ # Applicazione Blazor
├── Pages/ # Pagine Blazor
│ └── CredentialManagement.razor
├── Shared/ # Componenti condivisi
└── wwwroot/data/ # Database SQLite
Build e Deployment
Prerequisiti
- .NET 9.0 SDK
- Visual Studio 2022 o VS Code
Build
dotnet build Data_Coupler.sln
Esecuzione
dotnet run --project Data_Coupler/Data_Coupler.csproj
L'applicazione sarà disponibile su:
- HTTP: http://localhost:5135
- HTTPS: https://localhost:7132
Caratteristiche di Sicurezza
- Crittografia: Le password vengono crittografate prima del salvataggio
- Validazione: Validazione completa dei dati in input
- Isolamento: Ogni progetto ha responsabilità specifiche
- Type Safety: Uso di tipi forti per evitare errori
Testing
L'applicazione include funzionalità di test per:
- Connessioni database
- Chiamate API REST
- Validazione credenziali
Il testing può essere eseguito direttamente dall'interfaccia web.
Log e Monitoring
I servizi utilizzano ILogger per tracciare:
- Operazioni CRUD sulle credenziali
- Test di connessione
- Errori e eccezioni
Contributi
Per contribuire al progetto:
- Fork del repository
- Creare un branch per la feature
- Implementare i cambiamenti
- Testare thoroughly
- Creare una Pull Request
Licenza
[Specificare la licenza del progetto]
Description
Languages
C#
70%
HTML
28.1%
PowerShell
1.1%
CSS
0.3%
Shell
0.3%
Other
0.2%