Add save-password and remove-password commands.
This commit is contained in:
parent
e002f32e7e
commit
c7fb0d0ed5
47
commands.go
47
commands.go
|
@ -101,6 +101,10 @@ func (handler *CommandHandler) CommandMux(ce *CommandEvent) {
|
||||||
handler.CommandPing(ce)
|
handler.CommandPing(ce)
|
||||||
case "logout":
|
case "logout":
|
||||||
handler.CommandLogout(ce)
|
handler.CommandLogout(ce)
|
||||||
|
case "save-password":
|
||||||
|
handler.CommandSavePassword(ce)
|
||||||
|
case "remove-password":
|
||||||
|
handler.CommandRemovePassword(ce)
|
||||||
case "login-matrix", "sync", "list", "open", "pm", "invite", "kick", "leave", "join", "create", "share":
|
case "login-matrix", "sync", "list", "open", "pm", "invite", "kick", "leave", "join", "create", "share":
|
||||||
if !ce.User.HasSession() {
|
if !ce.User.HasSession() {
|
||||||
ce.Reply("You're not logged in. Use the `login` command to log into Skype.")
|
ce.Reply("You're not logged in. Use the `login` command to log into Skype.")
|
||||||
|
@ -281,6 +285,47 @@ func (handler *CommandHandler) CommandLogout(ce *CommandEvent) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const cmdSavePasswordHelp = `save-password - save user password into database`
|
||||||
|
|
||||||
|
// CommandSavePassword handles save-password command
|
||||||
|
func (handler *CommandHandler) CommandSavePassword(ce *CommandEvent) {
|
||||||
|
var ret bool
|
||||||
|
if len(ce.Args) > 0 {
|
||||||
|
ce.Reply("**Usage:** `save-password`")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if ce.User.Conn == nil || ce.User.Conn.LoggedIn == false {
|
||||||
|
ce.Reply("You're not logged into Skype.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = ce.User.bridge.DB.User.SetPassByMXID(ce.User.Conn.LoginInfo.Password, ce.User.MXID)
|
||||||
|
if ret == true {
|
||||||
|
ce.Reply("Your password was successfully saved into database.")
|
||||||
|
} else {
|
||||||
|
ce.Reply("An error occurred while saving your password into database. Try it again.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const cmdRemovePasswordHelp = `remove-password - remove user password from database`
|
||||||
|
|
||||||
|
// CommandRemovePassword handles remove-password command
|
||||||
|
func (handler *CommandHandler) CommandRemovePassword(ce *CommandEvent) {
|
||||||
|
var ret bool
|
||||||
|
if len(ce.Args) > 0 {
|
||||||
|
ce.Reply("**Usage:** `remove-password`")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = ce.User.bridge.DB.User.SetPassByMXID("", ce.User.MXID)
|
||||||
|
if ret == true {
|
||||||
|
ce.Reply("Your password was successfully removed from database.")
|
||||||
|
} else {
|
||||||
|
ce.Reply("An error occurred while removing your password from database. Try it again.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func leavePortals(ce *CommandEvent) {
|
func leavePortals(ce *CommandEvent) {
|
||||||
portals := ce.User.GetPortals()
|
portals := ce.User.GetPortals()
|
||||||
//newPortals := ce.User.GetPortalsNew()
|
//newPortals := ce.User.GetPortalsNew()
|
||||||
|
@ -353,6 +398,8 @@ func (handler *CommandHandler) CommandHelp(ce *CommandEvent) {
|
||||||
cmdPrefix + cmdHelpHelp,
|
cmdPrefix + cmdHelpHelp,
|
||||||
cmdPrefix + cmdLoginHelp,
|
cmdPrefix + cmdLoginHelp,
|
||||||
cmdPrefix + cmdLogoutHelp,
|
cmdPrefix + cmdLogoutHelp,
|
||||||
|
cmdPrefix + cmdSavePasswordHelp,
|
||||||
|
cmdPrefix + cmdRemovePasswordHelp,
|
||||||
cmdPrefix + cmdPingHelp,
|
cmdPrefix + cmdPingHelp,
|
||||||
//cmdPrefix + cmdLoginMatrixHelp,
|
//cmdPrefix + cmdLoginMatrixHelp,
|
||||||
//cmdPrefix + cmdLogoutMatrixHelp,
|
//cmdPrefix + cmdLogoutMatrixHelp,
|
||||||
|
|
|
@ -54,6 +54,11 @@ func (uq *UserQuery) GetByJID(userID types.SkypeID) *User {
|
||||||
return uq.New().Scan(row)
|
return uq.New().Scan(row)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (uq *UserQuery) SetPassByMXID(password string, userID id.UserID) bool {
|
||||||
|
row := uq.db.QueryRow(`UPDATE "user" SET password=$1 WHERE mxid=$2`, password, userID)
|
||||||
|
return row != nil
|
||||||
|
}
|
||||||
|
|
||||||
type User struct {
|
type User struct {
|
||||||
db *Database
|
db *Database
|
||||||
log log.Logger
|
log log.Logger
|
||||||
|
|
Loading…
Reference in New Issue