@@ -835,9 +835,9 @@ public class Tinode {
835835 /// - desc: default access parameters for this account
836836 /// - creds: creds
837837 /// - Returns: PromisedReply of the reply ctrl message
838- public func account< Pu: Codable , Pr: Codable > ( uid: String ? , scheme: String , secret: String , loginNow: Bool , tags: [ String ] ? , desc: MetaSetDesc < Pu , Pr > ? , creds: [ Credential ] ? ) -> PromisedReply < ServerMessage > {
838+ public func account< Pu: Codable , Pr: Codable > ( uid: String ? , tmpscheme : String ? = nil , tmpsecret : String ? = nil , scheme: String , secret: String , loginNow: Bool , tags: [ String ] ? , desc: MetaSetDesc < Pu , Pr > ? , creds: [ Credential ] ? ) -> PromisedReply < ServerMessage > {
839839 let msgId = getNextMsgId ( )
840- let msga = MsgClientAcc ( id: msgId, uid: uid, scheme: scheme, secret: secret, doLogin: loginNow, desc: desc)
840+ let msga = MsgClientAcc ( id: msgId, uid: uid, tmpscheme : tmpscheme , tmpsecret : tmpsecret , scheme: scheme, secret: secret, doLogin: loginNow, desc: desc)
841841
842842 if let creds = creds, creds. count > 0 {
843843 for c in creds {
@@ -967,8 +967,10 @@ public class Tinode {
967967 }
968968 }
969969 }
970- private func updateAccountSecret( uid: String ? , scheme: String , secret: String ) -> PromisedReply < ServerMessage > {
971- return account ( uid: uid, scheme: scheme, secret: secret, loginNow: false , tags: nil , desc: nil as MetaSetDesc < Int , Int > ? , creds: nil )
970+ private func updateAccountSecret( uid: String ? ,
971+ tmpscheme: String ? = nil , tmpsecret: String ? = nil ,
972+ scheme: String , secret: String ) -> PromisedReply < ServerMessage > {
973+ return account ( uid: uid, tmpscheme: tmpscheme, tmpsecret: tmpsecret, scheme: scheme, secret: secret, loginNow: false , tags: nil , desc: nil as MetaSetDesc < Int , Int > ? , creds: nil )
972974 }
973975 @discardableResult
974976 public func updateAccountBasic( uid: String ? , username: String , password: String ) -> PromisedReply < ServerMessage > {
@@ -979,6 +981,17 @@ public class Tinode {
979981 return PromisedReply ( error: error)
980982 }
981983 }
984+
985+ @discardableResult
986+ public func updateAccountBasic( usingAuthScheme auth: AuthScheme , username: String , password: String ) -> PromisedReply < ServerMessage > {
987+ do {
988+ return try updateAccountSecret ( uid: nil , tmpscheme: auth. scheme, tmpsecret: auth. secret, scheme: AuthScheme . kLoginBasic,
989+ secret: AuthScheme . encodeBasicToken ( uname: username, password: password) )
990+ } catch {
991+ return PromisedReply ( error: error)
992+ }
993+ }
994+
982995 public func requestResetPassword( method: String , newValue: String ) -> PromisedReply < ServerMessage > {
983996 do {
984997 return try login ( scheme: AuthScheme . kLoginReset, secret: AuthScheme . encodeResetToken ( scheme: AuthScheme . kLoginBasic, method: method, value: newValue) , creds: nil )
0 commit comments