// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.31.1 // source: library_settings.sql package dbq import ( "context" ) const countTracksUnder = `-- name: CountTracksUnder :one SELECT count(*) FROM tracks WHERE starts_with(file_path, $1::text || '/') ` func (q *Queries) CountTracksUnder(ctx context.Context, root string) (int64, error) { row := q.db.QueryRow(ctx, countTracksUnder, root) var count int64 err := row.Scan(&count) return count, err } const getLibrarySettings = `-- name: GetLibrarySettings :one SELECT id, scan_paths, updated_at FROM library_settings WHERE id = true ` func (q *Queries) GetLibrarySettings(ctx context.Context) (LibrarySetting, error) { row := q.db.QueryRow(ctx, getLibrarySettings) var i LibrarySetting err := row.Scan(&i.ID, &i.ScanPaths, &i.UpdatedAt) return i, err } const rerootAlbumCoverPaths = `-- name: RerootAlbumCoverPaths :execrows UPDATE albums SET cover_art_path = $1::text || substr(cover_art_path, length($2::text) + 1) WHERE starts_with(cover_art_path, $2::text || '/') ` type RerootAlbumCoverPathsParams struct { NewRoot string OldRoot string } func (q *Queries) RerootAlbumCoverPaths(ctx context.Context, arg RerootAlbumCoverPathsParams) (int64, error) { result, err := q.db.Exec(ctx, rerootAlbumCoverPaths, arg.NewRoot, arg.OldRoot) if err != nil { return 0, err } return result.RowsAffected(), nil } const rerootGrabDestinations = `-- name: RerootGrabDestinations :execrows UPDATE grabs SET destination = $1::text || substr(destination, length($2::text) + 1) WHERE destination = $2::text OR starts_with(destination, $2::text || '/') ` type RerootGrabDestinationsParams struct { NewRoot string OldRoot string } func (q *Queries) RerootGrabDestinations(ctx context.Context, arg RerootGrabDestinationsParams) (int64, error) { result, err := q.db.Exec(ctx, rerootGrabDestinations, arg.NewRoot, arg.OldRoot) if err != nil { return 0, err } return result.RowsAffected(), nil } const rerootImportRoot = `-- name: RerootImportRoot :execrows UPDATE acquisition_settings SET import_root = $1::text WHERE import_root = $2::text ` type RerootImportRootParams struct { NewRoot string OldRoot string } func (q *Queries) RerootImportRoot(ctx context.Context, arg RerootImportRootParams) (int64, error) { result, err := q.db.Exec(ctx, rerootImportRoot, arg.NewRoot, arg.OldRoot) if err != nil { return 0, err } return result.RowsAffected(), nil } const rerootTrackPaths = `-- name: RerootTrackPaths :execrows UPDATE tracks SET file_path = $1::text || substr(file_path, length($2::text) + 1) WHERE starts_with(file_path, $2::text || '/') ` type RerootTrackPathsParams struct { NewRoot string OldRoot string } // A library folder that moved (#6129): every path under old_root is rewritten // to the same place under new_root, so the tracks keep their ids and with them // their plays, likes and playlists. updated_at is left alone on purpose: the // scan compares it with each file's mtime, and the files have not changed. func (q *Queries) RerootTrackPaths(ctx context.Context, arg RerootTrackPathsParams) (int64, error) { result, err := q.db.Exec(ctx, rerootTrackPaths, arg.NewRoot, arg.OldRoot) if err != nil { return 0, err } return result.RowsAffected(), nil } const sampleTrackPathsUnder = `-- name: SampleTrackPathsUnder :many SELECT file_path FROM tracks WHERE starts_with(file_path, $1::text || '/') AND missing_since IS NULL ORDER BY random() LIMIT $2::int ` type SampleTrackPathsUnderParams struct { Root string N int32 } // A few present tracks under a folder, to check a move before rewriting it. func (q *Queries) SampleTrackPathsUnder(ctx context.Context, arg SampleTrackPathsUnderParams) ([]string, error) { rows, err := q.db.Query(ctx, sampleTrackPathsUnder, arg.Root, arg.N) if err != nil { return nil, err } defer rows.Close() var items []string for rows.Next() { var file_path string if err := rows.Scan(&file_path); err != nil { return nil, err } items = append(items, file_path) } if err := rows.Err(); err != nil { return nil, err } return items, nil } const updateLibraryScanPaths = `-- name: UpdateLibraryScanPaths :one UPDATE library_settings SET scan_paths = $1::text[], updated_at = now() WHERE id = true RETURNING id, scan_paths, updated_at ` func (q *Queries) UpdateLibraryScanPaths(ctx context.Context, scanPaths []string) (LibrarySetting, error) { row := q.db.QueryRow(ctx, updateLibraryScanPaths, scanPaths) var i LibrarySetting err := row.Scan(&i.ID, &i.ScanPaths, &i.UpdatedAt) return i, err }