22
22
import com .google .common .annotations .VisibleForTesting ;
23
23
import com .google .common .collect .Sets ;
24
24
import io .airbyte .commons .enums .Enums ;
25
- import io .airbyte .commons .features .FeatureFlags ;
26
25
import io .airbyte .commons .json .Jsons ;
27
26
import io .airbyte .commons .util .MoreIterators ;
28
27
import io .airbyte .commons .version .AirbyteVersion ;
@@ -81,7 +80,6 @@ public class DatabaseConfigPersistence implements ConfigPersistence {
81
80
82
81
private final ExceptionWrappingDatabase database ;
83
82
private final JsonSecretsProcessor jsonSecretsProcessor ;
84
- private final FeatureFlags featureFlags ;
85
83
private static final Logger LOGGER = LoggerFactory .getLogger (DatabaseConfigPersistence .class );
86
84
87
85
/**
@@ -90,20 +88,16 @@ public class DatabaseConfigPersistence implements ConfigPersistence {
90
88
*
91
89
* @param database - database where configs are stored
92
90
* @param jsonSecretsProcessor - for filtering secrets in export
93
- * @param featureFlags - feature flags that govern secret export behavior
94
91
* @return database config persistence wrapped in validation decorators
95
92
*/
96
93
public static ConfigPersistence createWithValidation (final Database database ,
97
- final JsonSecretsProcessor jsonSecretsProcessor ,
98
- final FeatureFlags featureFlags ) {
99
- return new ClassEnforcingConfigPersistence (
100
- new ValidatingConfigPersistence (new DatabaseConfigPersistence (database , jsonSecretsProcessor , featureFlags )));
94
+ final JsonSecretsProcessor jsonSecretsProcessor ) {
95
+ return new ValidatingConfigPersistence (new DatabaseConfigPersistence (database , jsonSecretsProcessor ));
101
96
}
102
97
103
- public DatabaseConfigPersistence (final Database database , final JsonSecretsProcessor jsonSecretsProcessor , final FeatureFlags featureFlags ) {
98
+ public DatabaseConfigPersistence (final Database database , final JsonSecretsProcessor jsonSecretsProcessor ) {
104
99
this .database = new ExceptionWrappingDatabase (database );
105
100
this .jsonSecretsProcessor = jsonSecretsProcessor ;
106
- this .featureFlags = featureFlags ;
107
101
}
108
102
109
103
@ Override
@@ -1431,18 +1425,15 @@ public Map<String, Stream<JsonNode>> dumpConfigs() throws IOException {
1431
1425
sourceConnectionWithMetadata
1432
1426
.stream ()
1433
1427
.map (configWithMetadata -> {
1434
- if (featureFlags .exposeSecretsInExport ()) {
1435
- return Jsons .jsonNode (configWithMetadata .getConfig ());
1436
- }
1437
-
1438
1428
try {
1439
1429
final UUID sourceDefinitionId = configWithMetadata .getConfig ().getSourceDefinitionId ();
1440
1430
final StandardSourceDefinition standardSourceDefinition = getConfig (
1441
1431
ConfigSchema .STANDARD_SOURCE_DEFINITION ,
1442
1432
sourceDefinitionId .toString (),
1443
1433
StandardSourceDefinition .class );
1444
1434
final JsonNode connectionSpecs = standardSourceDefinition .getSpec ().getConnectionSpecification ();
1445
- final JsonNode sanitizedConfig = jsonSecretsProcessor .maskSecrets (Jsons .jsonNode (configWithMetadata .getConfig ()), connectionSpecs );
1435
+ final JsonNode sanitizedConfig =
1436
+ jsonSecretsProcessor .prepareSecretsForOutput (Jsons .jsonNode (configWithMetadata .getConfig ()), connectionSpecs );
1446
1437
return sanitizedConfig ;
1447
1438
} catch (final ConfigNotFoundException | JsonValidationException | IOException e ) {
1448
1439
throw new RuntimeException (e );
@@ -1454,18 +1445,15 @@ public Map<String, Stream<JsonNode>> dumpConfigs() throws IOException {
1454
1445
final Stream <JsonNode > jsonNodeStream = destinationConnectionWithMetadata
1455
1446
.stream ()
1456
1447
.map (configWithMetadata -> {
1457
- if (featureFlags .exposeSecretsInExport ()) {
1458
- return Jsons .jsonNode (configWithMetadata .getConfig ());
1459
- }
1460
-
1461
1448
try {
1462
1449
final UUID destinationDefinition = configWithMetadata .getConfig ().getDestinationDefinitionId ();
1463
1450
final StandardDestinationDefinition standardDestinationDefinition = getConfig (
1464
1451
ConfigSchema .STANDARD_DESTINATION_DEFINITION ,
1465
1452
destinationDefinition .toString (),
1466
1453
StandardDestinationDefinition .class );
1467
1454
final JsonNode connectionSpec = standardDestinationDefinition .getSpec ().getConnectionSpecification ();
1468
- final JsonNode sanitizedConfig = jsonSecretsProcessor .maskSecrets (Jsons .jsonNode (configWithMetadata .getConfig ()), connectionSpec );
1455
+ final JsonNode sanitizedConfig =
1456
+ jsonSecretsProcessor .prepareSecretsForOutput (Jsons .jsonNode (configWithMetadata .getConfig ()), connectionSpec );
1469
1457
return sanitizedConfig ;
1470
1458
} catch (final ConfigNotFoundException | JsonValidationException | IOException e ) {
1471
1459
throw new RuntimeException (e );
0 commit comments