tipimplementacija
serverMAR (212.227.181.201), /var/www/fenix-v4/
referenca_v3/var/www/fenix-v3/pos/models.py — pročitati za mapping, ali pisati NOVO
standard{
"struktura": "pos/models.py + pos/schemas.py + pos/service.py + pos/router.py + pos/html_router.py",
"model_zakon27": "weise3_id + bunker_seal_id + created_at obavezno na svakom modelu",
"create_zakon3": "await _chain_push() — NE fire-and-forget, ZAKON 3 atomarno",
"ai_zakon38": "TokenRouter T0 Haiku za sve AI pozive, ne direktni Anthropic()",
"brsljani_zakon2": "svaki novi POS zapis -> Brsljani push",
"css_zakon": "nikad hardcoded boje — var(--fenix-*) tokeni, dark/light theme"
}
minimalni_modeli[
"POSSession — otvaranje/zatvaranje blagajne, weise3_id, operator_wid",
"POSTransaction — svaka transakcija, iznos, pdv, nacin_placanja, fiskaliziran",
"POSItem — stavke transakcije, artikl, kolicina, cijena",
"POSPaymentMethod — gotovina/kartica/bon/aircash"
]
minimalni_endpointi[
"POST /api/v4/pos/session/open — otvori blagajnu",
"POST /api/v4/pos/session/close — zatvori, dnevni izvještaj",
"POST /api/v4/pos/transaction/ — nova transakcija",
"GET /api/v4/pos/session/{id}/transactions/ — lista transakcija",
"GET /api/v4/pos/dashboard/ — dnevni pregled",
"GET /hr/pos/ — HTML shell"
]
fiskalizacijakoristiti postojeći /var/www/genesis/api/fiskalizacija.py pattern — ZKI/JIR
napomene[
"Pročitaj /var/www/fenix-v3/pos/models.py za popis polja — ali piši NOVU SQLAlchemy async verziju",
"NE kopiraj Django ORM kod — sve SQLAlchemy 2.x mapped_column stil",
"Nakon deploy: systemctl restart gunicorn-fenix-v4 (ne reload — WhiteNoise)",
"Dodati router u /var/www/fenix-v4/main.py lifespan blok",
"ZAKON 32: c1093 je chain entry — commit ide NAKON njega"
]
zakon[
"ZAKON_2",
"ZAKON_3",
"ZAKON_26",
"ZAKON_27",
"ZAKON_29",
"ZAKON_38",
"ZAKON_40",
"ZAKON_41"
]
statusTODO