From b065c71f9d4a8c408300d7c71a2018e70434be09 Mon Sep 17 00:00:00 2001 From: Mihael Isaev Date: Thu, 1 Feb 2018 23:41:14 +0400 Subject: [PATCH 1/3] Add possibility to enter password in PostgreSQLDatabaseConfig --- Sources/PostgreSQL/Database/PostgreSQLDatabase.swift | 2 +- Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift b/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift index e906a07c..32726f00 100644 --- a/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift +++ b/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift @@ -18,7 +18,7 @@ public final class PostgreSQLDatabase: Database { do { let client = try PostgreSQLConnection.connect(hostname: config.hostname, port: config.port, on: worker) client.logger = logger - return client.authenticate(username: config.username).transform(to: client) + return client.authenticate(username: config.username, password: config.password).transform(to: client) } catch { return Future(error: error) } diff --git a/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift b/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift index 40fc472b..eadfd2a3 100644 --- a/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift +++ b/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift @@ -13,11 +13,13 @@ public struct PostgreSQLDatabaseConfig { /// Username to authenticate. public let username: String - + public let password: String? + /// Creates a new `PostgreSQLDatabaseConfig`. - public init(hostname: String, port: UInt16, username: String) { + public init(hostname: String, port: UInt16, username: String, password: String? = nil) { self.hostname = hostname self.port = port self.username = username + self.password = password } } From 53741a73534d0492209bb5f1edb2fde83701550a Mon Sep 17 00:00:00 2001 From: Tanner Date: Thu, 1 Feb 2018 16:48:42 -0500 Subject: [PATCH 2/3] Update PostgreSQLDatabaseConfig.swift --- .../PostgreSQL/Database/PostgreSQLDatabaseConfig.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift b/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift index eadfd2a3..8f302388 100644 --- a/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift +++ b/Sources/PostgreSQL/Database/PostgreSQLDatabaseConfig.swift @@ -13,13 +13,20 @@ public struct PostgreSQLDatabaseConfig { /// Username to authenticate. public let username: String + + /// Optional database name to use during authentication. + /// Defaults to the username. + public let database: String? + + /// Optional password to use for authentication. public let password: String? /// Creates a new `PostgreSQLDatabaseConfig`. - public init(hostname: String, port: UInt16, username: String, password: String? = nil) { + public init(hostname: String, port: UInt16, username: String, database: String? = nil, password: String? = nil) { self.hostname = hostname self.port = port self.username = username + self.database = database self.password = password } } From 650dc1ce1771aa493382916d9cfa0da00bf77459 Mon Sep 17 00:00:00 2001 From: Tanner Date: Thu, 1 Feb 2018 16:49:01 -0500 Subject: [PATCH 3/3] Update PostgreSQLDatabase.swift --- Sources/PostgreSQL/Database/PostgreSQLDatabase.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift b/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift index 32726f00..3da0ba67 100644 --- a/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift +++ b/Sources/PostgreSQL/Database/PostgreSQLDatabase.swift @@ -18,7 +18,11 @@ public final class PostgreSQLDatabase: Database { do { let client = try PostgreSQLConnection.connect(hostname: config.hostname, port: config.port, on: worker) client.logger = logger - return client.authenticate(username: config.username, password: config.password).transform(to: client) + return client.authenticate( + username: config.username, + database: config.database, + password: config.password + ).transform(to: client) } catch { return Future(error: error) }