import ciris.ConfigValue; import ciris.ConfigError; import ciris.api.cats.effect.Sync; import javax.sql.DataSource; import org.postgresql.ds.PGSimpleDataSource; import java.util.concurrent.Executors; public class DatabaseConfig { public static ConfigValue<Sync[IO], ConfigError, DataSource>> databaseConfig() { return ConfigValue .env("DB_URL") .as[String] .map(formatDbUrl) .flatMap { case Some(url) => Sync[IO].delay { val ds = new PGSimpleDataSource() ds.setUrl(url) ds.setUser(System.getenv("DB_USER")) ds.setPassword(System.getenv("DB_PASS")) ds } case None => ConfigValue.failed(new ConfigError.MissingKey("DB_URL")) } } }


上一篇:
下一篇:
切换中文