diff --git a/backend/database/sql/queries/artist_credit.sql b/backend/database/sql/queries/artist_credit.sql new file mode 100644 index 0000000..d7049d8 --- /dev/null +++ b/backend/database/sql/queries/artist_credit.sql @@ -0,0 +1,17 @@ +-- name: CreateArtistCredit :one +INSERT INTO artist_credit (text) VALUES (?) +RETURNING *; + +-- name: GetArtistCredit :one +SELECT * FROM artist_credit +WHERE id = ? LIMIT 1; + +-- name: UpdateArtistCredit :exec +UPDATE artist_credit +SET text = ? +WHERE id =?; + +-- name: DeleteArtistCredit :exec +DELETE FROM artist_credit +WHERE id =?; + diff --git a/backend/database/sql/queries/artist_credit_artists.sql b/backend/database/sql/queries/artist_credit_artists.sql new file mode 100644 index 0000000..532f42a --- /dev/null +++ b/backend/database/sql/queries/artist_credit_artists.sql @@ -0,0 +1,17 @@ +-- name: CreateArtistCreditArtist :one +INSERT INTO artist_credit_artist (artist_id, credit_id) VALUES (?, ?) +RETURNING *; + +-- name: GetArtistCreditArtist :one +SELECT * FROM artist_credit_artist +WHERE id = ? LIMIT 1; + +-- name: UpdateArtistCreditArtist :exec +UPDATE artist_credit_artist +SET artist_id = ?, credit_id = ? +WHERE id =?; + +-- name: DeleteArtistCreditArtist :exec +DELETE FROM artist_credit_artist +WHERE id =?; + diff --git a/backend/database/sql/queries/artists.sql b/backend/database/sql/queries/artists.sql new file mode 100644 index 0000000..35d9003 --- /dev/null +++ b/backend/database/sql/queries/artists.sql @@ -0,0 +1,17 @@ +-- name: CreateArtist :one +INSERT INTO artists (name) VALUES (?) +RETURNING *; + +-- name: GetArtist :one +SELECT * FROM artists +WHERE id = ? LIMIT 1; + +-- name: UpdateArtist :exec +UPDATE artists +SET name = ? +WHERE id =?; + +-- name: DeleteArtist :exec +DELETE FROM artists +WHERE id =?; + diff --git a/backend/database/sql/queries/audio_files.sql b/backend/database/sql/queries/audio_files.sql new file mode 100644 index 0000000..4cf66c0 --- /dev/null +++ b/backend/database/sql/queries/audio_files.sql @@ -0,0 +1,17 @@ +-- name: CreateAudioFile :one +INSERT INTO audio_files (file_path, length_milliseconds, file_type_id, recording_id) VALUES (?, ?, ?, ?) +RETURNING *; + +-- name: GetAudioFile :one +SELECT * FROM audio_files +WHERE id = ? LIMIT 1; + +-- name: UpdateAudioFile :exec +UPDATE audio_files +SET file_path = ?, length_milliseconds = ?, file_type_id = ?, recording_id = ? +WHERE id =?; + +-- name: DeleteAudioFile :exec +DELETE FROM audio_files +WHERE id =?; + diff --git a/backend/database/sql/queries/cover_art.sql b/backend/database/sql/queries/cover_art.sql new file mode 100644 index 0000000..c69a445 --- /dev/null +++ b/backend/database/sql/queries/cover_art.sql @@ -0,0 +1,17 @@ +-- name: CreateCoverArt :one +INSERT INTO cover_art (is_embedded, file_path, file_type_id) VALUES (?, ?, ?) +RETURNING *; + +-- name: GetCoverArt :one +SELECT * FROM cover_art +WHERE id = ? LIMIT 1; + +-- name: UpdateCoverArt :exec +UPDATE cover_art +SET is_embedded = ?, file_path = ?, file_type_id = ? +WHERE id =?; + +-- name: DeleteCoverArt :exec +DELETE FROM cover_art +WHERE id =?; + diff --git a/backend/database/sql/queries/file_types.sql b/backend/database/sql/queries/file_types.sql new file mode 100644 index 0000000..285d9f3 --- /dev/null +++ b/backend/database/sql/queries/file_types.sql @@ -0,0 +1,17 @@ +-- name: CreateFileType :one +INSERT INTO file_types (extension) VALUES (?) +RETURNING *; + +-- name: GetFileType :one +SELECT * FROM file_types +WHERE id = ? LIMIT 1; + +-- name: UpdateFileType :exec +UPDATE file_types +SET extension = ? +WHERE id =?; + +-- name: DeleteFileType :exec +DELETE FROM file_types +WHERE id =?; + diff --git a/backend/database/sql/queries/recordings.sql b/backend/database/sql/queries/recordings.sql index f39da8d..be44d12 100644 --- a/backend/database/sql/queries/recordings.sql +++ b/backend/database/sql/queries/recordings.sql @@ -1,3 +1,17 @@ --- name: GetAuthor :one -SELECT * FROM recordings +-- name: CreateRecording :one +INSERT INTO recordings (name) VALUES (?) +RETURNING *; + +-- name: GetRecording :one +SELECT * FROM recordings WHERE id = ? LIMIT 1; + +-- name: UpdateRecording :exec +UPDATE recordings +SET name = ? +WHERE id =?; + +-- name: DeleteRecording :exec +DELETE FROM recordings +WHERE id =?; + diff --git a/backend/database/sql/queries/release_group_recordings.sql b/backend/database/sql/queries/release_group_recordings.sql new file mode 100644 index 0000000..fd02f46 --- /dev/null +++ b/backend/database/sql/queries/release_group_recordings.sql @@ -0,0 +1,17 @@ +-- name: CreateReleaseGroupRecording :one +INSERT INTO release_group_recordings (release_group_id, recording_id) VALUES (?,?) +RETURNING *; + +-- name: GetReleaseGroupRecording :one +SELECT * FROM release_group_recordings +WHERE id = ? LIMIT 1; + +-- name: UpdateReleaseGroupRecording :exec +UPDATE release_group_recordings +SET release_group_id = ? +WHERE id =?; + +-- name: DeleteReleaseGroupRecording :exec +DELETE FROM release_group_recordings +WHERE id =?; + diff --git a/backend/database/sql/queries/release_groups.sql b/backend/database/sql/queries/release_groups.sql new file mode 100644 index 0000000..9b0c1d8 --- /dev/null +++ b/backend/database/sql/queries/release_groups.sql @@ -0,0 +1,17 @@ +-- name: CreateReleaseGroup :one +INSERT INTO release_groups (name) VALUES (?) +RETURNING *; + +-- name: GetReleaseGroup :one +SELECT * FROM release_groups +WHERE id = ? LIMIT 1; + +-- name: UpdateReleaseGroup :exec +UPDATE release_groups +SET name = ? +WHERE id =?; + +-- name: DeleteReleaseGroup :exec +DELETE FROM release_groups +WHERE id =?; + diff --git a/backend/database/sql/schemas/artist_credit.sql b/backend/database/sql/schemas/artist_credit.sql index 16203e2..70428e5 100644 --- a/backend/database/sql/schemas/artist_credit.sql +++ b/backend/database/sql/schemas/artist_credit.sql @@ -1,4 +1,4 @@ -CREATE TABLE artist_credit ( +CREATE TABLE IF NOT EXISTS artist_credit ( id int PRIMARY KEY, text string NOT NULL ); diff --git a/backend/database/sql/schemas/artist_credit_artist.sql b/backend/database/sql/schemas/artist_credit_artist.sql index a1d6c8b..18e3c3c 100644 --- a/backend/database/sql/schemas/artist_credit_artist.sql +++ b/backend/database/sql/schemas/artist_credit_artist.sql @@ -1,4 +1,4 @@ -CREATE TABLE artist_credit_artist ( +CREATE TABLE IF NOT EXISTS artist_credit_artist ( id int PRIMARY KEY, FOREIGN KEY(artist_id) REFERENCES artists(id), FOREIGN KEY(credit_id) REFERENCES artist_credit(id) diff --git a/backend/database/sql/schemas/artists.sql b/backend/database/sql/schemas/artists.sql index a905903..fd9b224 100644 --- a/backend/database/sql/schemas/artists.sql +++ b/backend/database/sql/schemas/artists.sql @@ -1,4 +1,4 @@ -CREATE TABLE artists ( +CREATE TABLE IF NOT EXISTS artists ( id int PRIMARY KEY, name text NOT NULL ); diff --git a/backend/database/sql/schemas/audio_files.sql b/backend/database/sql/schemas/audio_files.sql index 91a21fd..340ae18 100644 --- a/backend/database/sql/schemas/audio_files.sql +++ b/backend/database/sql/schemas/audio_files.sql @@ -1,4 +1,4 @@ -CREATE TABLE audio_files ( +CREATE TABLE IF NOT EXISTS audio_files ( id int PRIMARY KEY, file_path text NOT NULL UNIQUE, length_milliseconds int NOT NULL, diff --git a/backend/database/sql/schemas/cover_art.sql b/backend/database/sql/schemas/cover_art.sql index e4e8540..98dd237 100644 --- a/backend/database/sql/schemas/cover_art.sql +++ b/backend/database/sql/schemas/cover_art.sql @@ -1,4 +1,4 @@ -CREATE TABLE cover_art ( +CREATE TABLE IF NOT EXISTS cover_art ( id int PRIMARY KEY, is_embedded bool NOT NULL DEFAULT(false), file_path text NOT NULL, diff --git a/backend/database/sql/schemas/file_types.sql b/backend/database/sql/schemas/file_types.sql index 135f528..bc2088b 100644 --- a/backend/database/sql/schemas/file_types.sql +++ b/backend/database/sql/schemas/file_types.sql @@ -1,4 +1,4 @@ -CREATE TABLE file_types ( +CREATE TABLE IF NOT EXISTS file_types ( id INTEGER PRIMARY KEY, extension text NOT NULL UNIQUE ); diff --git a/backend/database/sql/schemas/recordings.sql b/backend/database/sql/schemas/recordings.sql index b13ca7f..ca5c3d1 100644 --- a/backend/database/sql/schemas/recordings.sql +++ b/backend/database/sql/schemas/recordings.sql @@ -1,4 +1,4 @@ -CREATE TABLE recordings ( +CREATE TABLE IF NOT EXISTS recordings ( id int PRIMARY KEY, name text NOT NULL, FOREIGN KEY(artist_credit_id) REFERENCES artist_credit(id) diff --git a/backend/database/sql/schemas/release_group_recordings.sql b/backend/database/sql/schemas/release_group_recordings.sql index 5064e17..a0e8a08 100644 --- a/backend/database/sql/schemas/release_group_recordings.sql +++ b/backend/database/sql/schemas/release_group_recordings.sql @@ -1,4 +1,4 @@ -CREATE TABLE release_group_recordings ( +CREATE TABLE IF NOT EXISTS release_group_recordings ( id int PRIMARY KEY, FOREIGN KEY(release_group_id) REFERENCES release_groups(id), FOREIGN KEY(recording_id) REFERENCES recordings(id) diff --git a/backend/database/sql/schemas/release_groups.sql b/backend/database/sql/schemas/release_groups.sql index 36b8e67..05054e6 100644 --- a/backend/database/sql/schemas/release_groups.sql +++ b/backend/database/sql/schemas/release_groups.sql @@ -1,4 +1,4 @@ -CREATE TABLE release_groups ( +CREATE TABLE IF NOT EXISTS release_groups ( id int PRIMARY KEY, name text NOT NULL, FOREIGN KEY(cover_art_id) REFERENCES cover_art(id)