26 lines
678 B
Python
26 lines
678 B
Python
"""Contracts CRUD."""
|
|
from db.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)"
|
|
)
|