Feladat
📝 **Kérdés:** **Írja be a** \`safe_search(query, filter)\` függvényt, amely megvédi a többbérlős RAG-ot az 1. számú szivárgási osztálytól – hiányzó \`tenant_id\` szűrőtől.
Szabályok:
- Ha a \`filter\` nem diktátum → emelje a \`ValueError("szűrőnek diktáltnak kell lennie")\`.
- Ha a \`tenant_id\` hiányzik VAGY üres/hamis → emelje fel a \`ValueError("BIZTONSÁG: a tenant_id szűrő kötelező és nem üres")\`.
- Ellenkező esetben adja vissza az \`f"OK | {query!r} hatókört a {filter['bérlő_azonosítója']!r}"\` bérlőnek.
Ezután futtassa négy kérési alakzaton (kettő valódi, kettő nem biztonságos):
\`\`\`
OK | "visszatérítési szabályzat" a bérlő "acme" hatóköre
BLOKKOLVA | 'fizetési táblázat' | BIZTONSÁG: a tenant_id szűrő kötelező, és nem üres
OK | "rendelési előzmények" a "globex" bérlőre ható
BLOKKOLVA | 'API kulcsok' | BIZTONSÁG: a tenant_id szűrő kötelező, és nem üres
\`\`\`
Az üres karakterlánc a rejtett eset – a \`"bérlő_azonosítója" a szűrőben\` átmegy, de a \`filter.get("bérlő_azonosítója")\` hamis értéket ad vissza. **Mindig ellenőrizze a valódiságot, soha ne csak a kulcsjelenlétet.** Egy rosszul konfigurált előtér, amely alapértelmezett \`tenant_id\`-t \`""\`-ra állította, valós, bérlőközi szivárgást okozott.
📋 Válassza ki a megfelelő választ.
💡 **Tipp:** Ha nem biztos benne, olvassa el újra a fenti elméletet.