lockserver/db/queries/lock_code_slots.sql

20 lines
774 B
SQL

-- name: UpsertCodeSlot :exec
INSERT INTO lock_code_slots (lock, slot, code, enabled, name) VALUES (?, ?, ?, ?, "") ON CONFLICT (lock, slot) DO UPDATE SET code=excluded.code, enabled=excluded.enabled;
-- name: UpdateCodeSlot :exec
UPDATE lock_code_slots SET code = ?, enabled = ?, name = ? WHERE lock = ? AND slot = ?;
-- name: GetLockCodeBySlot :one
SELECT * FROM lock_code_slots WHERE lock = ? AND slot = ?;
-- name: GetAllLockCodesByLock :many
SELECT * FROM lock_code_slots WHERE lock = ?;
-- name: GetLockCodesByCode :many
SELECT * FROM lock_code_slots WHERE code = ?;
-- name: GetEmptySlot :one
SELECT * FROM lock_code_slots WHERE lock = ? AND enabled = 0 LIMIT 1;
-- name: CountUsedSlots :one
SELECT COUNT(*) FROM lock_code_slots WHERE lock = ? AND enabled = 1;