database

package
v0.0.0-...-d958ee8 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateChatParams

type CreateChatParams struct {
	PrivateIdentityKey ed25519.PrivateKey
	Title              string
	Description        string
}

type CreateMessageParams

type CreateMessageParams struct {
	ChatID            int64
	SequenceNumber    int64
	PublicIdentityKey ed25519.PublicKey
	Content           string
	CreatedAt         time.Time
}

type CreateParticipantParams

type CreateParticipantParams struct {
	ChatID            int64
	SequenceNumber    int64
	PublicIdentityKey ed25519.PublicKey
	Name              string
	EcdhPublicKey     *x25519.PublicKey
	MyEcdhPrivateKey  *x25519.PrivateKey
}

type Database

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

func Open

func Open(databasePath string) (*Database, error)

func (*Database) Close

func (database *Database) Close() error

func (*Database) CreateChat

func (database *Database) CreateChat(ctx context.Context, params CreateChatParams) (int64, error)

func (*Database) CreateMessage

func (database *Database) CreateMessage(ctx context.Context, params CreateMessageParams) error

func (*Database) CreateParticipant

func (database *Database) CreateParticipant(ctx context.Context, params CreateParticipantParams) error

func (*Database) CreatePassword

func (database *Database) CreatePassword(ctx context.Context, salt []byte) error

func (*Database) GetChat

func (database *Database) GetChat(ctx context.Context, chatID int64) (GetChatChat, error)

func (*Database) GetChats

func (database *Database) GetChats(ctx context.Context) ([]GetChatsChat, error)

func (*Database) GetMessages

func (database *Database) GetMessages(ctx context.Context, chatID int64) ([]Message, error)

func (*Database) GetNextSequenceNumber

func (database *Database) GetNextSequenceNumber(ctx context.Context, chatID int64) (int64, error)

func (*Database) GetParticipants

func (database *Database) GetParticipants(ctx context.Context, chatID int64) (map[string]*Participant, error)

func (*Database) GetPassword

func (database *Database) GetPassword(ctx context.Context) ([]byte, error)

func (*Database) SetEncryptionKey

func (database *Database) SetEncryptionKey(privateKey []byte) error

func (*Database) UpdateChat

func (database *Database) UpdateChat(ctx context.Context, params UpdateChatParams) error

func (*Database) UpdateParticipant

func (database *Database) UpdateParticipant(ctx context.Context, params UpdateParticipantParams) error

func (*Database) WithTx

func (database *Database) WithTx(f func(transaction *Database) error) error

type GetChatChat

type GetChatChat struct {
	ChatID             int64
	Title              string
	Description        string
	PrivateIdentityKey ed25519.PrivateKey
}

type GetChatsChat

type GetChatsChat struct {
	ChatID      int64
	Title       string
	Description string
}

type Message

type Message struct {
	SequenceNumber    int64
	PublicIdentityKey ed25519.PublicKey
	Content           string
	CreatedAt         time.Time
}

type Participant

type Participant struct {
	SequenceNumber    int64
	PublicIdentityKey ed25519.PublicKey
	Name              string
	EcdhPublicKey     *x25519.PublicKey
	MyEcdhPrivateKey  *x25519.PrivateKey
}

type UpdateChatParams

type UpdateChatParams struct {
	ChatID      int64
	Title       string
	Description string
}

type UpdateParticipantParams

type UpdateParticipantParams struct {
	ChatID           int64
	SequenceNumber   int64
	Name             string
	EcdhPublicKey    *x25519.PublicKey
	MyEcdhPrivateKey *x25519.PrivateKey
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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