kinda
This commit is contained in:
@ -52,8 +52,9 @@ func New(dbType string, uri string, baseLog log.Logger) (*Database, error) {
|
||||
} else {
|
||||
conn = postgres.Open(uri)
|
||||
}
|
||||
print("no")
|
||||
|
||||
gdb, err := gorm.Open(conn, &gorm.Config{
|
||||
// Logger: logger.Default.LogMode(logger.Info),
|
||||
// Logger: baseLog,
|
||||
NamingStrategy: schema.NamingStrategy{
|
||||
NameReplacer: strings.NewReplacer("JID", "Jid", "MXID", "Mxid"),
|
||||
|
@ -17,9 +17,9 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"github.com/karmanyaahm/groupme"
|
||||
log "maunium.net/go/maulogger/v2"
|
||||
|
||||
"maunium.net/go/mautrix-whatsapp/groupmeExt"
|
||||
"maunium.net/go/mautrix-whatsapp/types"
|
||||
"maunium.net/go/mautrix/id"
|
||||
)
|
||||
@ -76,12 +76,12 @@ type Message struct {
|
||||
db *Database
|
||||
log log.Logger
|
||||
|
||||
Chat PortalKey `gorm:"primaryKey;embedded;embeddedPrefix:chat_"`
|
||||
JID types.GroupMeID `gorm:"primaryKey"`
|
||||
MXID id.EventID `gorm:"unique;notNull"`
|
||||
Sender types.GroupMeID `gorm:"notNull"`
|
||||
Timestamp uint64 `gorm:"notNull;default:0"`
|
||||
Content *groupme.Message `gorm:"type:TEXT;notNull"`
|
||||
Chat PortalKey `gorm:"primaryKey;embedded;embeddedPrefix:chat_"`
|
||||
JID types.GroupMeID `gorm:"primaryKey"`
|
||||
MXID id.EventID `gorm:"unique;notNull"`
|
||||
Sender types.GroupMeID `gorm:"notNull"`
|
||||
Timestamp uint64 `gorm:"notNull;default:0"`
|
||||
Content *groupmeExt.Message `gorm:"type:TEXT;notNull"`
|
||||
|
||||
// Portal Portal `gorm:"foreignKey:JID;"` //`gorm:"foreignKey:Chat.Receiver,Chat.JID;references:jid,receiver;constraint:onDelete:CASCADE;"`TODO
|
||||
}
|
||||
@ -124,13 +124,13 @@ type Message struct {
|
||||
func (msg *Message) Insert() {
|
||||
ans := msg.db.Create(&msg)
|
||||
if ans.Error != nil {
|
||||
// msg.log.Warnfln("Failed to insert %s@%s: %v", msg.Chat, msg.JID, ans.Error)
|
||||
msg.log.Warnfln("Failed to insert %s@%s: %v", msg.Chat, msg.JID, ans.Error)
|
||||
}
|
||||
}
|
||||
|
||||
func (msg *Message) Delete() {
|
||||
ans := msg.db.Delete(&msg)
|
||||
if ans.Error != nil {
|
||||
// msg.log.Warnfln("Failed to delete %s@%s: %v", msg.Chat, msg.JID, ans.Error)
|
||||
msg.log.Warnfln("Failed to delete %s@%s: %v", msg.Chat, msg.JID, ans.Error)
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,10 @@ func (pq *PuppetQuery) GetAll() (puppets []*Puppet) {
|
||||
if ans.Error != nil || len(puppets) == 0 {
|
||||
return nil
|
||||
}
|
||||
for _, puppet := range puppets {
|
||||
puppet.db = pq.db
|
||||
puppet.log = pq.log
|
||||
}
|
||||
// defer rows.Close()
|
||||
// for rows.Next() {
|
||||
// puppets = append(puppets, pq.New().Scan(rows))
|
||||
@ -57,6 +61,8 @@ func (pq *PuppetQuery) Get(jid types.GroupMeID) *Puppet {
|
||||
if ans.Error != nil || ans.RowsAffected == 0 {
|
||||
return nil
|
||||
}
|
||||
puppet.db = pq.db
|
||||
puppet.log = pq.log
|
||||
return &puppet
|
||||
}
|
||||
|
||||
@ -66,6 +72,8 @@ func (pq *PuppetQuery) GetByCustomMXID(mxid id.UserID) *Puppet {
|
||||
if ans.Error != nil || ans.RowsAffected == 0 {
|
||||
return nil
|
||||
}
|
||||
puppet.db = pq.db
|
||||
puppet.log = pq.log
|
||||
return &puppet
|
||||
}
|
||||
|
||||
@ -75,6 +83,10 @@ func (pq *PuppetQuery) GetAllWithCustomMXID() (puppets []*Puppet) {
|
||||
if ans.Error != nil || len(puppets) != 0 {
|
||||
return nil
|
||||
}
|
||||
for _, puppet := range puppets {
|
||||
puppet.db = pq.db
|
||||
puppet.log = pq.log
|
||||
}
|
||||
// defer rows.Close()
|
||||
// for rows.Next() {
|
||||
// puppets = append(puppets, pq.New().Scan(rows))
|
||||
|
@ -153,6 +153,8 @@ func (store *SQLStateStore) FindSharedRooms(userID id.UserID) (rooms []id.RoomID
|
||||
rows, err := store.db.Table("mx_user_profile").Select("room_id").
|
||||
Joins("LEFT JOIN portal ON portal.mxid=mx_user_profile.room_id").
|
||||
Where("user_id = ? AND portal.encrypted=true", userID).Rows()
|
||||
defer rows.Close()
|
||||
|
||||
if err != nil {
|
||||
store.log.Warnfln("Failed to query shared rooms with %s: %v", userID, err)
|
||||
return
|
||||
@ -198,7 +200,7 @@ func (store *SQLStateStore) SetMembership(roomID id.RoomID, userID id.UserID, me
|
||||
print("weird thing 2 502650285")
|
||||
print(user.Membership)
|
||||
|
||||
ans := store.db.Debug().Clauses(clause.OnConflict{
|
||||
ans := store.db.Clauses(clause.OnConflict{
|
||||
Columns: []clause.Column{{Name: "room_id"}, {Name: "user_id"}},
|
||||
DoUpdates: clause.AssignmentColumns([]string{"membership"}),
|
||||
}).Create(&user)
|
||||
|
@ -154,8 +154,9 @@ func (user *User) UpdateLastConnection() {
|
||||
func (user *User) Update() {
|
||||
ans := user.db.Save(&user)
|
||||
if ans.Error != nil {
|
||||
user.log.Warnfln("Failed to update last connection ts: %v", ans.Error)
|
||||
user.log.Warnfln("Failed to update user: %v", ans.Error)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
type PortalKeyWithMeta struct {
|
||||
@ -197,6 +198,7 @@ func (user *User) SetPortalKeys(newKeys []PortalKeyWithMeta) error {
|
||||
}
|
||||
}
|
||||
|
||||
println("portalkey transaction complete")
|
||||
return tx.Commit().Error
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user