Documentation ¶
Index ¶
- type Database
- type Key
- type MediaPart
- type Message
- func (msg *Message) Delete(ctx context.Context) error
- func (msg *Message) GetMassInsertValues() [5]any
- func (msg *Message) Insert(ctx context.Context) error
- func (msg *Message) IsFakeMXID() bool
- func (msg *Message) Scan(row dbutil.Scannable) (*Message, error)
- func (msg *Message) Update(ctx context.Context) error
- func (msg *Message) UpdateStatus(ctx context.Context) error
- type MessageQuery
- func (mq *MessageQuery) DeleteAllInChat(ctx context.Context, chat Key) error
- func (mq *MessageQuery) GetByID(ctx context.Context, receiver int, messageID string) (*Message, error)
- func (mq *MessageQuery) GetByMXID(ctx context.Context, mxid id.EventID) (*Message, error)
- func (mq *MessageQuery) GetLastInChat(ctx context.Context, chat Key) (*Message, error)
- func (mq *MessageQuery) GetLastInChatWithMXID(ctx context.Context, chat Key) (*Message, error)
- func (mq *MessageQuery) MassInsert(ctx context.Context, messages []*Message) error
- type MessageStatus
- type Portal
- type PortalQuery
- func (pq *PortalQuery) GetAll(ctx context.Context) ([]*Portal, error)
- func (pq *PortalQuery) GetAllForUser(ctx context.Context, receiver int) ([]*Portal, error)
- func (pq *PortalQuery) GetByKey(ctx context.Context, key Key) (*Portal, error)
- func (pq *PortalQuery) GetByMXID(ctx context.Context, mxid id.RoomID) (*Portal, error)
- func (pq *PortalQuery) GetByOtherUser(ctx context.Context, key Key) (*Portal, error)
- type Puppet
- type PuppetQuery
- type Reaction
- type ReactionQuery
- func (rq *ReactionQuery) DeleteAllByMessage(ctx context.Context, chat Key, messageID string) error
- func (rq *ReactionQuery) GetAllByMessage(ctx context.Context, receiver int, messageID string) ([]*Reaction, error)
- func (rq *ReactionQuery) GetByID(ctx context.Context, receiver int, messageID, sender string) (*Reaction, error)
- func (rq *ReactionQuery) GetByMXID(ctx context.Context, mxid id.EventID) (*Reaction, error)
- func (rq *ReactionQuery) MassInsert(ctx context.Context, reactions []*Reaction) error
- type Settings
- type User
- func (user *User) AddSelfParticipantID(ctx context.Context, id string) error
- func (user *User) GetSIM(participantID string) *gmproto.SIMCard
- func (user *User) GetSIMsForBridgeState() []bridgeStateSIMMeta
- func (user *User) Insert(ctx context.Context) error
- func (user *User) IsSelfParticipantID(id string) bool
- func (user *User) SIMCount() int
- func (user *User) Scan(row dbutil.Scannable) (*User, error)
- func (user *User) SetSIMs(sims []*gmproto.SIMCard) bool
- func (user *User) Update(ctx context.Context) error
- type UserQuery
- func (uq *UserQuery) GetAllWithDoublePuppet(ctx context.Context) ([]*User, error)
- func (uq *UserQuery) GetAllWithSession(ctx context.Context) ([]*User, error)
- func (uq *UserQuery) GetByMXID(ctx context.Context, userID id.UserID) (*User, error)
- func (uq *UserQuery) GetByRowID(ctx context.Context, rowID int) (*User, error)
Constants ¶
This section is empty.
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 Reaction *ReactionQuery }
type Key ¶
func (Key) MarshalZerologObject ¶
type Message ¶
type Message struct { Chat Key ID string MXID id.EventID RoomID id.RoomID Sender string Timestamp time.Time Status MessageStatus // contains filtered or unexported fields }
func (*Message) GetMassInsertValues ¶ added in v0.4.0
func (*Message) IsFakeMXID ¶
type MessageQuery ¶
type MessageQuery struct { *dbutil.QueryHelper[*Message] }
func (*MessageQuery) DeleteAllInChat ¶ added in v0.2.0
func (mq *MessageQuery) DeleteAllInChat(ctx context.Context, chat Key) error
func (*MessageQuery) GetLastInChat ¶
func (*MessageQuery) GetLastInChatWithMXID ¶
func (*MessageQuery) MassInsert ¶
func (mq *MessageQuery) MassInsert(ctx context.Context, messages []*Message) error
type MessageStatus ¶
type MessageStatus struct { Type gmproto.MessageStatusType `json:"type,omitempty"` MediaStatus string `json:"media_status,omitempty"` MediaParts map[string]MediaPart `json:"media_parts,omitempty"` PartCount int `json:"part_count,omitempty"` MSSSent bool `json:"mss_sent,omitempty"` MSSFailSent bool `json:"mss_fail_sent,omitempty"` MSSDeliverySent bool `json:"mss_delivery_sent,omitempty"` ReadReceiptSent bool `json:"read_receipt_sent,omitempty"` }
func (*MessageStatus) HasPendingMediaParts ¶
func (ms *MessageStatus) HasPendingMediaParts() bool
type Portal ¶
type PortalQuery ¶
type PortalQuery struct { *dbutil.QueryHelper[*Portal] }
func (*PortalQuery) GetAllForUser ¶
func (*PortalQuery) GetByOtherUser ¶ added in v0.2.0
type Puppet ¶
type PuppetQuery ¶
type PuppetQuery struct { *dbutil.QueryHelper[*Puppet] }
func (*PuppetQuery) Reset ¶ added in v0.4.0
func (pq *PuppetQuery) Reset(ctx context.Context, userID int) error
Reset clears the phone number of all puppets, so that puppets can be upserted safely on relogin even if the internal IDs shuffled around. This does *not* delete the puppets, because otherwise avatars wouldn't get reset appropriately.
type Reaction ¶
type Reaction struct { Chat Key MessageID string Sender string Reaction string MXID id.EventID // contains filtered or unexported fields }
func (*Reaction) GetMassInsertValues ¶ added in v0.4.0
type ReactionQuery ¶
type ReactionQuery struct { *dbutil.QueryHelper[*Reaction] }
func (*ReactionQuery) DeleteAllByMessage ¶
func (*ReactionQuery) GetAllByMessage ¶
func (*ReactionQuery) MassInsert ¶
func (rq *ReactionQuery) MassInsert(ctx context.Context, reactions []*Reaction) error
type User ¶
type User struct { RowID int MXID id.UserID PhoneID string Session *libgm.AuthData ManagementRoom id.RoomID SpaceRoom id.RoomID SelfParticipantIDs []string Settings Settings AccessToken string // contains filtered or unexported fields }
func (*User) AddSelfParticipantID ¶
func (*User) GetSIMsForBridgeState ¶ added in v0.2.0
func (user *User) GetSIMsForBridgeState() []bridgeStateSIMMeta
func (*User) IsSelfParticipantID ¶
type UserQuery ¶
type UserQuery struct { *dbutil.QueryHelper[*User] }
func (*UserQuery) GetAllWithDoublePuppet ¶
func (*UserQuery) GetAllWithSession ¶
Click to show internal directories.
Click to hide internal directories.