soome changes
This commit is contained in:
@@ -11,7 +11,7 @@ from app.db.models import (
|
||||
SpamDictionary, DictionaryEntry, PolicyDictionaryLink,
|
||||
)
|
||||
from app.bot.keyboards.security import kb_policy
|
||||
|
||||
from app.moderation.engine import dict_cache
|
||||
|
||||
# ---------- helpers ----------
|
||||
def _get_or_create_policy(session, owner_tg_id: int) -> SecurityPolicy:
|
||||
@@ -54,7 +54,9 @@ def _import_entries(session, owner_tg_id: int, params: dict, entries: list[str])
|
||||
u = session.query(User).filter_by(tg_id=owner_tg_id).first()
|
||||
if not u:
|
||||
u = User(tg_id=owner_tg_id, name="")
|
||||
session.add(u); session.commit(); session.refresh(u)
|
||||
session.add(u)
|
||||
session.commit()
|
||||
session.refresh(u)
|
||||
|
||||
# создать словарь
|
||||
d = SpamDictionary(
|
||||
@@ -139,6 +141,7 @@ async def security_cb(update: Update, ctx: ContextTypes.DEFAULT_TYPE):
|
||||
field = parts[2]
|
||||
setattr(p, field, not getattr(p, field))
|
||||
s.commit()
|
||||
dict_cache.invalidate(cs.policy_id)
|
||||
|
||||
elif action == "adj":
|
||||
field, delta = parts[2], int(parts[3])
|
||||
@@ -259,9 +262,9 @@ async def dicts_cb(update: Update, ctx: ContextTypes.DEFAULT_TYPE):
|
||||
return
|
||||
link = s.query(PolicyDictionaryLink).filter_by(policy_id=policy_id, dictionary_id=dict_id).first()
|
||||
if link:
|
||||
s.delete(link); s.commit()
|
||||
s.delete(link); s.commit(); dict_cache.invalidate(policy_id)
|
||||
else:
|
||||
s.add(PolicyDictionaryLink(policy_id=policy_id, dictionary_id=dict_id)); s.commit()
|
||||
s.add(PolicyDictionaryLink(policy_id=policy_id, dictionary_id=dict_id)); s.commit(); dict_cache.invalidate(policy_id)
|
||||
|
||||
u = s.query(User).filter_by(tg_id=update.effective_user.id).first()
|
||||
dicts = s.query(SpamDictionary).filter_by(owner_user_id=u.id).order_by(SpamDictionary.created_at.desc()).all()
|
||||
|
||||
Reference in New Issue
Block a user