@@ -11,10 +11,9 @@ use mcpmux_core::{
1111 SpaceService ,
1212} ;
1313use mcpmux_storage:: {
14- Database , FieldEncryptor , KeychainKeyProvider , MasterKeyProvider , SqliteAppSettingsRepository ,
15- SqliteCredentialRepository , SqliteFeatureSetRepository , SqliteInboundMcpClientRepository ,
16- SqliteInstalledServerRepository , SqliteOutboundOAuthRepository , SqliteServerFeatureRepository ,
17- SqliteSpaceRepository ,
14+ Database , FieldEncryptor , SqliteAppSettingsRepository , SqliteCredentialRepository ,
15+ SqliteFeatureSetRepository , SqliteInboundMcpClientRepository , SqliteInstalledServerRepository ,
16+ SqliteOutboundOAuthRepository , SqliteServerFeatureRepository , SqliteSpaceRepository ,
1817} ;
1918use std:: path:: PathBuf ;
2019use std:: sync:: Arc ;
@@ -67,9 +66,9 @@ impl AppState {
6766 // Ensure data directory exists
6867 std:: fs:: create_dir_all ( & data_dir) ?;
6968
70- // Get or create master key from OS keychain
71- info ! ( "Retrieving master key from keychain ..." ) ;
72- let key_provider = KeychainKeyProvider :: new ( ) ?;
69+ // Get or create master key (DPAPI on Windows, OS Keychain elsewhere)
70+ info ! ( "Retrieving master key..." ) ;
71+ let key_provider = mcpmux_storage :: create_key_provider ( & data_dir ) ?;
7372 let master_key = key_provider. get_or_create_key ( ) ?;
7473 info ! ( "Master key retrieved successfully" ) ;
7574
@@ -87,8 +86,9 @@ impl AppState {
8786 let space_repository: Arc < dyn SpaceRepository > =
8887 Arc :: new ( SqliteSpaceRepository :: new ( db. clone ( ) ) ) ;
8988
90- let installed_server_repository: Arc < dyn InstalledServerRepository > =
91- Arc :: new ( SqliteInstalledServerRepository :: new ( db. clone ( ) ) ) ;
89+ let installed_server_repository: Arc < dyn InstalledServerRepository > = Arc :: new (
90+ SqliteInstalledServerRepository :: new ( db. clone ( ) , encryptor. clone ( ) ) ,
91+ ) ;
9292
9393 let credential_repository: Arc < dyn CredentialRepository > = Arc :: new (
9494 SqliteCredentialRepository :: new ( db. clone ( ) , encryptor. clone ( ) ) ,
0 commit comments