
driven-adapter.mongo-reactive.config.mongo-config.mustache Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scaffold-clean-architecture Show documentation
Show all versions of scaffold-clean-architecture Show documentation
Gradle plugin to create a clean application in Java that already works, It follows our best practices!
package {{package}}.mongo.config;
{{#include-secret}}
import co.com.bancolombia.secretsmanager.api.exceptions.SecretException;
import co.com.bancolombia.secretsmanager.api.GenericManagerAsync;
{{/include-secret}}
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.mongo.MongoConnectionDetails;
import org.springframework.boot.autoconfigure.mongo.MongoProperties;
import org.springframework.boot.autoconfigure.mongo.PropertiesMongoConnectionDetails;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class MongoConfig {
{{#include-secret}}
@Bean
public MongoDBSecret dbSecret(@Value("${aws.secretName}") String secret, GenericManagerAsync manager)
throws SecretException {
return manager.getSecret(secret, MongoDBSecret.class).block();
}
{{/include-secret}}
{{^include-secret}}
@Bean
public MongoDBSecret dbSecret(@Value("${spring.data.mongodb.uri}") String uri) {
return MongoDBSecret.builder()
.uri(uri)
.build();
}
{{/include-secret}}
@Bean
public MongoConnectionDetails mongoProperties(MongoDBSecret secret) {
MongoProperties properties = new MongoProperties();
properties.setUri(secret.getUri());
return new PropertiesMongoConnectionDetails(properties);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy