"""Contracts CRUD.""" import uuid from db.connection import query, execute def insert(number, client=""): cid = str(uuid.uuid4()) execute( "INSERT INTO contracts (id, number, client) VALUES (%s, %s, %s)", (cid, number, client), ) return get(cid) 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)" )