feat: v1.7 overhaul - identity hash, triple wallet, financial ledger, and security audit system

This commit is contained in:
2026-02-16 00:42:49 +00:00
parent bb02d4ed59
commit d574d3297d
63 changed files with 3710 additions and 565 deletions

View File

@@ -45,22 +45,42 @@ class GeoService:
"""), {"n": street_type.lower()})
# 4. Központi Address rekord rögzítése
full_text = f"{zip_code} {city}, {street_name} {street_type} {house_number}"
addr_res = await db.execute(text("""
INSERT INTO data.addresses (postal_code_id, street_name, street_type, house_number, parcel_id, full_address_text)
VALUES (:zid, :sn, :st, :hn, :pid, :txt)
full_text = f"{zip_code} {city}, {street_name} {street_type} {house_number}."
if stairwell: full_text += f" {stairwell}. lph,"
if floor: full_text += f" {floor}. em,"
if door: full_text += f" {door}. ajtó"
query = text("""
INSERT INTO data.addresses (
postal_code_id, street_name, street_type, house_number,
stairwell, floor, door, parcel_id, full_address_text
)
VALUES (
(SELECT id FROM data.geo_postal_codes WHERE zip_code = :z AND city = :c LIMIT 1),
:sn, :st, :hn, :sw, :fl, :dr, :pid, :txt
)
ON CONFLICT DO NOTHING
RETURNING id
"""), {
"zid": zip_id, "sn": street_name, "st": street_type, "hn": house_number, "pid": parcel_id, "txt": full_text
})
addr_id = addr_res.scalar()
""")
params = {
"z": zip_code, "c": city, "sn": street_name, "st": street_type,
"hn": house_number, "sw": stairwell, "fl": floor, "dr": door,
"pid": parcel_id, "txt": full_text
}
res = await db.execute(query, params)
addr_id = res.scalar()
if not addr_id:
# Ha már létezett, lekérjük az azonosítót
# Ha már létezett ilyen részletes cím, lekérjük
addr_id = (await db.execute(text("""
SELECT id FROM data.addresses
WHERE postal_code_id = :zid AND street_name = :sn AND street_type = :st AND house_number = :hn
"""), {"zid": zip_id, "sn": street_name, "st": street_type, "hn": house_number})).scalar()
WHERE street_name = :sn AND house_number = :hn
AND (stairwell IS NOT DISTINCT FROM :sw)
AND (floor IS NOT DISTINCT FROM :fl)
AND (door IS NOT DISTINCT FROM :dr)
LIMIT 1
"""), params)).scalar()
return addr_id