Add basic relaybot support. Fixes #20

This commit is contained in:
Tulir Asokan
2019-11-10 21:22:11 +02:00
parent e2d9e2fc57
commit 03d42640fe
14 changed files with 356 additions and 89 deletions

View File

@ -201,6 +201,13 @@ func (user *User) SetPortalKeys(newKeys []PortalKeyWithMeta) error {
return tx.Commit()
}
func (user *User) IsInPortal(jid types.WhatsAppID) bool {
row := user.db.QueryRow(`SELECT portal_jid, portal_receiver FROM user_portal WHERE user_jid=$1 AND portal_jid=$2 AND (portal_receiver=$1 OR portal_receiver=$2)`, user.jidPtr(), &jid)
var scanJid, scanReceiver types.WhatsAppID
_ = row.Scan(&scanJid, &scanReceiver)
return scanJid == jid && (scanReceiver == jid || scanReceiver == user.JID)
}
func (user *User) GetPortalKeys() []PortalKey {
rows, err := user.db.Query(`SELECT portal_jid, portal_receiver FROM user_portal WHERE user_jid=$1`, user.jidPtr())
if err != nil {