db

package
v0.0.0-...-67d9461 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2026 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CacheSetParams

type CacheSetParams struct {
	Key       string
	Value     string
	ExpiresAt int64
}

type DBTX

type DBTX interface {
	ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
	PrepareContext(context.Context, string) (*sql.Stmt, error)
	QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
	QueryRowContext(context.Context, string, ...interface{}) *sql.Row
}

type File

type File struct {
	ID        int64
	ReleaseID int64
	Name      string
	Size      int64
	Path      string
}

type GooseDbVersion

type GooseDbVersion struct {
	ID        int64
	VersionID int64
	IsApplied int64
	Tstamp    *time.Time
}

type LinkedTorrentID

type LinkedTorrentID struct {
	ID        int64
	TorrentID int64
	Name      string
}

type OpsApiCache

type OpsApiCache struct {
	Key       string
	Value     string
	ExpiresAt int64
}

type Queries

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

func New

func New(db DBTX) *Queries

func Prepare

func Prepare(ctx context.Context, db DBTX) (*Queries, error)

func (*Queries) CacheDelete

func (q *Queries) CacheDelete(ctx context.Context, key string) error

CacheDelete

delete from ops_api_cache
where
  key = ?

func (*Queries) CacheGet

func (q *Queries) CacheGet(ctx context.Context, key string) (OpsApiCache, error)

CacheGet

select
  "key", value, expires_at
from
  ops_api_cache
where
  key = ?

func (*Queries) CacheSet

func (q *Queries) CacheSet(ctx context.Context, arg *CacheSetParams) error

CacheSet

insert into
  ops_api_cache (key, value, expires_at)
values
  (?, ?, ?) on conflict (key) do
update
set
  value = excluded.value,
  expires_at = excluded.expires_at

func (*Queries) Close

func (q *Queries) Close() error

func (*Queries) GetAllFiles

func (q *Queries) GetAllFiles(ctx context.Context) ([]File, error)

GetAllFiles

select
  id, release_id, name, size, path
from
  files

func (*Queries) GetReleaseFiles

func (q *Queries) GetReleaseFiles(ctx context.Context, releaseID int64) ([]File, error)

GetReleaseFiles

select
  id, release_id, name, size, path
from
  files
where
  release_id = ?

func (*Queries) GetUnlinkedReleases

func (q *Queries) GetUnlinkedReleases(ctx context.Context) ([]Release, error)

GetUnlinkedReleases

select
  id, artist_name, group_name, total_size, root_dir, linked
from
  releases
where
  linked = false

func (*Queries) LinkedTorrents

func (q *Queries) LinkedTorrents(ctx context.Context) ([]LinkedTorrentID, error)

LinkedTorrents

select
  id, torrent_id, name
from
  linked_torrent_ids

func (*Queries) MarkReleaseLinked

func (q *Queries) MarkReleaseLinked(ctx context.Context, id int64) error

MarkReleaseLinked

update releases
set
  linked = true
where
  id = ?

func (*Queries) ReleaseByRootDir

func (q *Queries) ReleaseByRootDir(ctx context.Context, rootDir string) (Release, error)

ReleaseByRootDir

select
  id, artist_name, group_name, total_size, root_dir, linked
from
  releases
where
  root_dir = ?

func (*Queries) UpsertFile

func (q *Queries) UpsertFile(ctx context.Context, arg *UpsertFileParams) (File, error)

UpsertFile

insert into
  files (release_id, name, size, path)
values
  (?, ?, ?, ?) on conflict (release_id, name, size, path) do
update
set
  release_id = excluded.release_id returning id, release_id, name, size, path

func (*Queries) UpsertRelease

func (q *Queries) UpsertRelease(ctx context.Context, arg *UpsertReleaseParams) (Release, error)

UpsertRelease

insert into
  releases (artist_name, group_name, total_size, root_dir)
values
  (?, ?, ?, ?) on conflict (artist_name, group_name, total_size, root_dir) do
update
set
  artist_name = EXCLUDED.artist_name returning id, artist_name, group_name, total_size, root_dir, linked

func (*Queries) WithTx

func (q *Queries) WithTx(tx *sql.Tx) *Queries

type Release

type Release struct {
	ID         int64
	ArtistName string
	GroupName  string
	TotalSize  int64
	RootDir    string
	Linked     bool
}

type SqliteSequence

type SqliteSequence struct {
	Name interface{}
	Seq  interface{}
}

type UpsertFileParams

type UpsertFileParams struct {
	ReleaseID int64
	Name      string
	Size      int64
	Path      string
}

type UpsertReleaseParams

type UpsertReleaseParams struct {
	ArtistName string
	GroupName  string
	TotalSize  int64
	RootDir    string
}

Jump to

Keyboard shortcuts

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