Database basic CRUD (#27)

* started schema

* db schemas beginning

* first db schema gen

* added sqlc generation with go generate and sqlite driver

* i think these dependencies are needed

* added IF NOT EXISTS to create and CRUD for each table

* fixed missing columns

* added missing field

* fixed code generation with sqlc
This commit is contained in:
2025-04-16 13:45:44 -05:00
committed by GitHub
parent d062644a3e
commit b24e734ae3
36 changed files with 979 additions and 5 deletions
@@ -0,0 +1,83 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.28.0
// source: cover_art.sql
package sqlcgen
import (
"context"
)
const createCoverArt = `-- name: CreateCoverArt :one
INSERT INTO cover_art (is_embedded, file_path, file_type_id) VALUES (?, ?, ?)
RETURNING id, is_embedded, file_path, file_type_id
`
type CreateCoverArtParams struct {
IsEmbedded bool
FilePath string
FileTypeID int64
}
func (q *Queries) CreateCoverArt(ctx context.Context, arg CreateCoverArtParams) (CoverArt, error) {
row := q.db.QueryRowContext(ctx, createCoverArt, arg.IsEmbedded, arg.FilePath, arg.FileTypeID)
var i CoverArt
err := row.Scan(
&i.ID,
&i.IsEmbedded,
&i.FilePath,
&i.FileTypeID,
)
return i, err
}
const deleteCoverArt = `-- name: DeleteCoverArt :exec
DELETE FROM cover_art
WHERE id =?
`
func (q *Queries) DeleteCoverArt(ctx context.Context, id int64) error {
_, err := q.db.ExecContext(ctx, deleteCoverArt, id)
return err
}
const getCoverArt = `-- name: GetCoverArt :one
SELECT id, is_embedded, file_path, file_type_id FROM cover_art
WHERE id = ? LIMIT 1
`
func (q *Queries) GetCoverArt(ctx context.Context, id int64) (CoverArt, error) {
row := q.db.QueryRowContext(ctx, getCoverArt, id)
var i CoverArt
err := row.Scan(
&i.ID,
&i.IsEmbedded,
&i.FilePath,
&i.FileTypeID,
)
return i, err
}
const updateCoverArt = `-- name: UpdateCoverArt :exec
UPDATE cover_art
SET is_embedded = ?, file_path = ?, file_type_id = ?
WHERE id =?
`
type UpdateCoverArtParams struct {
IsEmbedded bool
FilePath string
FileTypeID int64
ID int64
}
func (q *Queries) UpdateCoverArt(ctx context.Context, arg UpdateCoverArtParams) error {
_, err := q.db.ExecContext(ctx, updateCoverArt,
arg.IsEmbedded,
arg.FilePath,
arg.FileTypeID,
arg.ID,
)
return err
}