You've already forked reloading-manager
No changes made
This commit is contained in:
100
backend/models/loads.sql
Normal file
100
backend/models/loads.sql
Normal file
@@ -0,0 +1,100 @@
|
||||
-- name: GetCartridgeById :one
|
||||
select c.id as id, c.name, c.meta
|
||||
from cartridges c
|
||||
where id = $1;
|
||||
|
||||
-- name: GetCartridges :many
|
||||
select c.id as id, c.name, c.meta
|
||||
from cartridges c
|
||||
order by c.name;
|
||||
|
||||
-- name: CreateCartridge :one
|
||||
insert into cartridges (name, meta)
|
||||
values ($1, $2)
|
||||
returning id;
|
||||
|
||||
-- name: DeleteCartridge :exec
|
||||
delete
|
||||
from cartridges
|
||||
where id = $1;
|
||||
|
||||
-- name: CreateLoad :one
|
||||
insert into loads (cartridge_id, col, powder_id, powder_gr, primer_id, bullet_id, photo, meta)
|
||||
values ($1, $2, $3, $4, $5, $6, $7, $8)
|
||||
returning id;
|
||||
|
||||
-- name: GetLoadById :one
|
||||
select l.id as id,
|
||||
c.id as cartridge_id,
|
||||
c.name as cartridge_name,
|
||||
c.meta as cartridge_meta,
|
||||
l.col,
|
||||
p.id as powder_id,
|
||||
p.name as powder_name,
|
||||
p.meta as powder_meta,
|
||||
l.powder_gr,
|
||||
pr.id as primer_id,
|
||||
pr.name as primer_name,
|
||||
pr.meta as primer_meta
|
||||
from public.loads l
|
||||
join cartridges c on l.cartridge_id = c.id
|
||||
join bullets b on l.bullet_id = b.id
|
||||
join powders p on l.powder_id = p.id
|
||||
join primers pr on l.primer_id = pr.id
|
||||
where l.id = $1;
|
||||
|
||||
-- name: TotalLoads :one
|
||||
select count(*)
|
||||
from loads;
|
||||
|
||||
-- name: GetLoads :many
|
||||
select l.id as id,
|
||||
l.col,
|
||||
l.powder_gr,
|
||||
c.id as cartridge_id,
|
||||
c.name as cartridge_name,
|
||||
c.meta as cartridge_meta,
|
||||
p.id as powder_id,
|
||||
p.name as powder_name,
|
||||
p.meta as powder_meta,
|
||||
p_m.name as powder_manufacturer_name,
|
||||
p_m.url as powder_manufacturer_url,
|
||||
pr.id as primer_id,
|
||||
pr.name as primer_name,
|
||||
pr.meta as primer_meta,
|
||||
pr_m.name as primer_manufacturer_name,
|
||||
pr_m.url as primer_manufacturer_url,
|
||||
b.id as bullet_id,
|
||||
b.name as bullet_name,
|
||||
b.meta as bullet_meta,
|
||||
b.weight as bullet_weight,
|
||||
b.diameter as bullet_diameter,
|
||||
b_m.name as bullet_manufacturer_name,
|
||||
b_m.url as bullet_manufacturer_url
|
||||
from public.loads l
|
||||
join cartridges c on l.cartridge_id = c.id
|
||||
join bullets b on l.bullet_id = b.id
|
||||
join manufacturers b_m on b.manufacturer_id = b_m.id
|
||||
join powders p on l.powder_id = p.id
|
||||
join manufacturers p_m on p.manufacturer_id = p_m.id
|
||||
join primers pr on l.primer_id = pr.id
|
||||
join manufacturers pr_m on pr.manufacturer_id = pr_m.id
|
||||
where 1 = 1
|
||||
|
||||
-- Loose Search By Name
|
||||
AND (CASE WHEN @search_cartridge::bool THEN lower(c.name) like lower(@cartridge) ELSE TRUE END)
|
||||
AND (CASE WHEN @search_bullet::bool THEN lower(b.name) like lower(@bullet) ELSE TRUE END)
|
||||
AND (CASE WHEN @search_bullet_manufacturer::bool THEN lower(b_m.name) like lower(@bullet_manufacturer) ELSE TRUE END)
|
||||
AND (CASE WHEN @search_primer::bool THEN lower(pr.name) like lower(@primer) ELSE TRUE END)
|
||||
AND (CASE WHEN @search_primer_manufacturer::bool THEN lower(pr_m.name) like lower(@prime_manufacturer) ELSE TRUE END)
|
||||
AND (CASE WHEN @search_powder::bool THEN lower(p.name) like lower(@powder) ELSE TRUE END)
|
||||
AND (CASE WHEN @search_powder_manufacturer::bool THEN lower(p_m.name) like lower(@powder_manufacturer) ELSE TRUE END)
|
||||
|
||||
-- Exact Search By ID
|
||||
AND (CASE WHEN @search_cartridge_id::bool THEN c.id = @cartridge_id::uuid ELSE TRUE END)
|
||||
AND (CASE WHEN @search_bullet_id::bool THEN b.id = @bullet_id::uuid ELSE TRUE END)
|
||||
AND (CASE WHEN @search_primer_id::bool THEN pr.id = @primer_id::uuid ELSE TRUE END)
|
||||
AND (CASE WHEN @search_powder_id::bool THEN p.id = @powder_id::uuid ELSE TRUE END)
|
||||
|
||||
order by @order_by
|
||||
limit $1 offset $2;
|
||||
Reference in New Issue
Block a user