"""Contracts CRUD.""" from .connection import query, execute, execute_returning def insert(number, client=""): return execute_returning( "INSERT INTO contracts (number, client) VALUES (%s, %s) RETURNING *", (number, client), ) def get(contract_id): rows = query("SELECT * FROM contracts WHERE id = %s", (contract_id,)) return rows[0] if rows else None def delete(contract_id): return execute("DELETE FROM contracts WHERE id = %s", (contract_id,)) def delete_orphaned(): """Remove contracts with no supplements.""" execute( "DELETE FROM contracts WHERE id NOT IN (SELECT DISTINCT contract_id FROM supplements)" )