database

package
v0.0.0-...-57ebd91 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2024 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const SEP_PORTAL = "\u0002"

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database struct {
	*dbutil.Database

	User    *UserQuery
	Portal  *PortalQuery
	Puppet  *PuppetQuery
	Message *MessageQuery
}

func New

func New(baseDB *dbutil.Database, log zerolog.Logger) *Database

type Message

type Message struct {
	Chat      PortalKey
	MsgID     string
	MXID      id.EventID
	Sender    types.UID
	Timestamp time.Time
	Sent      bool
	Type      MessageType
	Error     MessageErrorType
	// contains filtered or unexported fields
}

func (*Message) Delete

func (m *Message) Delete()

func (*Message) Insert

func (m *Message) Insert(txn dbutil.Transaction)

func (*Message) IsFakeMXID

func (m *Message) IsFakeMXID() bool

func (*Message) IsFakeMsgID

func (m *Message) IsFakeMsgID() bool

func (*Message) Scan

func (m *Message) Scan(row dbutil.Scannable) *Message

func (*Message) UpdateMXID

func (m *Message) UpdateMXID(txn dbutil.Transaction, mxid id.EventID, newType MessageType, newError MessageErrorType)

type MessageErrorType

type MessageErrorType string
const (
	MsgNoError             MessageErrorType = ""
	MsgErrDecryptionFailed MessageErrorType = "decryption_failed"
	MsgErrMediaNotFound    MessageErrorType = "media_not_found"
)

type MessageQuery

type MessageQuery struct {
	// contains filtered or unexported fields
}

func (*MessageQuery) GetAll

func (mq *MessageQuery) GetAll(chat PortalKey) []*Message

func (*MessageQuery) GetByMXID

func (mq *MessageQuery) GetByMXID(mxid id.EventID) *Message

func (*MessageQuery) GetByMsgID

func (mq *MessageQuery) GetByMsgID(chat PortalKey, msgID string) *Message

func (*MessageQuery) New

func (mq *MessageQuery) New() *Message

type MessageType

type MessageType string
const (
	MsgUnknown MessageType = ""
	MsgFake    MessageType = "fake"
	MsgNormal  MessageType = "message"
)

type Portal

type Portal struct {
	Key  PortalKey
	MXID id.RoomID

	Name      string
	NameSet   bool
	Topic     string
	TopicSet  bool
	Avatar    string
	AvatarURL id.ContentURI
	AvatarSet bool
	Encrypted bool
	LastSync  time.Time

	FirstEventID id.EventID
	NextBatchID  id.BatchID
	// contains filtered or unexported fields
}

func (*Portal) Delete

func (p *Portal) Delete()

func (*Portal) Insert

func (p *Portal) Insert()

func (*Portal) Scan

func (p *Portal) Scan(row dbutil.Scannable) *Portal

func (*Portal) Update

func (p *Portal) Update(txn dbutil.Transaction)

type PortalKey

type PortalKey struct {
	UID      types.UID
	Receiver types.UID
}

func NewPortalKey

func NewPortalKey(uid, receiver types.UID) PortalKey

func (PortalKey) String

func (pk PortalKey) String() string

type PortalQuery

type PortalQuery struct {
	// contains filtered or unexported fields
}

func (*PortalQuery) FindPrivateChats

func (pq *PortalQuery) FindPrivateChats(receiver types.UID) []*Portal

func (*PortalQuery) FindPrivateChatsNotInSpace

func (pq *PortalQuery) FindPrivateChatsNotInSpace(receiver types.UID) []PortalKey

func (*PortalQuery) GetAll

func (pq *PortalQuery) GetAll() []*Portal

func (*PortalQuery) GetAllByUID

func (pq *PortalQuery) GetAllByUID(uid types.UID) []*Portal

func (*PortalQuery) GetByMXID

func (pq *PortalQuery) GetByMXID(mxid id.RoomID) *Portal

func (*PortalQuery) GetByUID

func (pq *PortalQuery) GetByUID(key PortalKey) *Portal

func (*PortalQuery) New

func (pq *PortalQuery) New() *Portal

type Puppet

type Puppet struct {
	UID         types.UID
	Avatar      string
	AvatarURL   id.ContentURI
	AvatarSet   bool
	Displayname string
	NameQuality int8
	NameSet     bool
	LastSync    time.Time

	CustomMXID     id.UserID
	AccessToken    string
	NextBatch      string
	EnablePresence bool
	// contains filtered or unexported fields
}

func (*Puppet) Insert

func (p *Puppet) Insert()

func (*Puppet) Scan

func (p *Puppet) Scan(row dbutil.Scannable) *Puppet

func (*Puppet) Update

func (p *Puppet) Update()

type PuppetQuery

type PuppetQuery struct {
	// contains filtered or unexported fields
}

func (*PuppetQuery) Get

func (pq *PuppetQuery) Get(uid types.UID) *Puppet

func (*PuppetQuery) GetAll

func (pq *PuppetQuery) GetAll() []*Puppet

func (*PuppetQuery) GetAllWithCustomMXID

func (pq *PuppetQuery) GetAllWithCustomMXID() []*Puppet

func (*PuppetQuery) GetByCustomMXID

func (pq *PuppetQuery) GetByCustomMXID(mxid id.UserID) *Puppet

func (*PuppetQuery) New

func (pq *PuppetQuery) New() *Puppet

type User

type User struct {
	MXID           id.UserID
	UID            types.UID
	ManagementRoom id.RoomID
	SpaceRoom      id.RoomID
	// contains filtered or unexported fields
}

func (*User) GetLastReadTS

func (u *User) GetLastReadTS(portal PortalKey) time.Time

func (*User) Insert

func (u *User) Insert()

func (*User) IsInSpace

func (u *User) IsInSpace(portal PortalKey) bool

func (*User) MarkInSpace

func (u *User) MarkInSpace(portal PortalKey)

func (*User) Scan

func (u *User) Scan(row dbutil.Scannable) *User

func (*User) SetLastReadTS

func (u *User) SetLastReadTS(portal PortalKey, ts time.Time)

func (*User) Update

func (u *User) Update()

type UserQuery

type UserQuery struct {
	// contains filtered or unexported fields
}

func (*UserQuery) GetAll

func (uq *UserQuery) GetAll() []*User

func (*UserQuery) GetByMXID

func (uq *UserQuery) GetByMXID(userID id.UserID) *User

func (*UserQuery) GetByUin

func (uq *UserQuery) GetByUin(uin string) *User

func (*UserQuery) New

func (uq *UserQuery) New() *User

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL