userquery.go 455 B

123456789101112131415161718192021222324252627
  1. package database
  2. import (
  3. log "maunium.net/go/maulogger/v2"
  4. "maunium.net/go/mautrix/id"
  5. )
  6. type UserQuery struct {
  7. db *Database
  8. log log.Logger
  9. }
  10. func (uq *UserQuery) New() *User {
  11. return &User{
  12. db: uq.db,
  13. log: uq.log,
  14. }
  15. }
  16. func (uq *UserQuery) GetByMXID(userID id.UserID) *User {
  17. row := uq.db.QueryRow("SELECT mxid, id, management_room, token FROM user where mxid=$1", userID)
  18. if row == nil {
  19. return nil
  20. }
  21. return uq.New().Scan(row)
  22. }