29 lines
703 B
Python
29 lines
703 B
Python
"""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)"
|
|
)
|