loader

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Jan 2, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseLoader

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

func NewPostgresLoader

func NewPostgresLoader(dsn string) (*BaseLoader, error)

func NewSqliteLoader

func NewSqliteLoader(path string) (*BaseLoader, error)

func (*BaseLoader) Close

func (ldr *BaseLoader) Close() error

func (*BaseLoader) DeleteAllMessages

func (ldr *BaseLoader) DeleteAllMessages() error

func (*BaseLoader) DeleteRoom

func (ldr *BaseLoader) DeleteRoom(id string) error

func (*BaseLoader) Exec

func (ldr *BaseLoader) Exec(query string, args ...interface{}) (sql.Result, error)

func (*BaseLoader) InsertTestMessage

func (ldr *BaseLoader) InsertTestMessage() error

func (*BaseLoader) LoadAllMessages

func (ldr *BaseLoader) LoadAllMessages() ([]*MessageJSON, error)

func (*BaseLoader) LoadAllRooms

func (ldr *BaseLoader) LoadAllRooms() ([]*LoadJSON, error)

func (*BaseLoader) LoadRoom

func (ldr *BaseLoader) LoadRoom(id string) (*LoadJSON, error)

func (*BaseLoader) Query

func (ldr *BaseLoader) Query(query string, args ...interface{}) (*sql.Rows, error)

func (*BaseLoader) SaveRoom

func (ldr *BaseLoader) SaveRoom(id string, data *LoadJSON) error

Save could also reasonably be called InsertOrUpdate

func (*BaseLoader) TwitchGetRoom

func (ldr *BaseLoader) TwitchGetRoom(broadcaster string) string

func (*BaseLoader) TwitchSetRoom

func (ldr *BaseLoader) TwitchSetRoom(broadcaster, roomid string) error

type DBType

type DBType int
const (
	DBTypeSqlite DBType = iota
	DBTypePostgres
)

type LoadJSON

type LoadJSON struct {
	SGF       string         `json:"sgf"`
	Location  string         `json:"loc"`
	Prefs     map[string]int `json:"prefs"`
	Buffer    int64          `json:"buffer"`
	NextIndex int            `json:"next_index"`
	Password  string         `json:"password"`
	ID        string         `json:"id"`
}

type Loader

type Loader interface {
	Close() error
	TwitchGetRoom(string) string
	TwitchSetRoom(string, string) error

	SaveRoom(string, *LoadJSON) error
	LoadRoom(string) (*LoadJSON, error)
	LoadAllRooms() ([]*LoadJSON, error)
	DeleteRoom(string) error
	LoadAllMessages() ([]*MessageJSON, error)
	DeleteAllMessages() error
}

func NewDefaultLoader

func NewDefaultLoader(path string) (Loader, error)

type MemoryLoader

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

func NewMemoryLoader

func NewMemoryLoader() *MemoryLoader

func (*MemoryLoader) AddMessage

func (ml *MemoryLoader) AddMessage(text string, ttl int)

func (*MemoryLoader) Close

func (ml *MemoryLoader) Close() error

func (*MemoryLoader) DeleteAllMessages

func (ml *MemoryLoader) DeleteAllMessages() error

func (*MemoryLoader) DeleteRoom

func (ml *MemoryLoader) DeleteRoom(s string) error

func (*MemoryLoader) LoadAllMessages

func (ml *MemoryLoader) LoadAllMessages() ([]*MessageJSON, error)

func (*MemoryLoader) LoadAllRooms

func (ml *MemoryLoader) LoadAllRooms() ([]*LoadJSON, error)

func (*MemoryLoader) LoadRoom

func (ml *MemoryLoader) LoadRoom(s string) (*LoadJSON, error)

func (*MemoryLoader) MessageCount

func (ml *MemoryLoader) MessageCount() int

func (*MemoryLoader) SaveRoom

func (ml *MemoryLoader) SaveRoom(s string, l *LoadJSON) error

func (*MemoryLoader) TwitchGetRoom

func (ml *MemoryLoader) TwitchGetRoom(broadcaster string) string

func (*MemoryLoader) TwitchSetRoom

func (ml *MemoryLoader) TwitchSetRoom(broadcaster, roomID string) error

type MessageJSON

type MessageJSON struct {
	Text string `json:"message"`
	TTL  int    `json:"ttl"`
}

type Prefs

type Prefs map[string]int

func PrefsFromString

func PrefsFromString(s string) (Prefs, error)

func (Prefs) ToString

func (p Prefs) ToString() (string, error)

Jump to

Keyboard shortcuts

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