Increase security and reformat
This commit is contained in:
@@ -58,9 +58,15 @@ def _effective_bootstrap_scope(
|
||||
identifier = str(ctx.channel_identifier or "").strip()
|
||||
if service != "web":
|
||||
return service, identifier
|
||||
session_identifier = getattr(getattr(trigger_message, "session", None), "identifier", None)
|
||||
fallback_service = str(getattr(session_identifier, "service", "") or "").strip().lower()
|
||||
fallback_identifier = str(getattr(session_identifier, "identifier", "") or "").strip()
|
||||
session_identifier = getattr(
|
||||
getattr(trigger_message, "session", None), "identifier", None
|
||||
)
|
||||
fallback_service = (
|
||||
str(getattr(session_identifier, "service", "") or "").strip().lower()
|
||||
)
|
||||
fallback_identifier = str(
|
||||
getattr(session_identifier, "identifier", "") or ""
|
||||
).strip()
|
||||
if fallback_service and fallback_identifier and fallback_service != "web":
|
||||
return fallback_service, fallback_identifier
|
||||
return service, identifier
|
||||
@@ -89,7 +95,11 @@ def _ensure_bp_profile(user_id: int) -> CommandProfile:
|
||||
if str(profile.trigger_token or "").strip() != ".bp":
|
||||
profile.trigger_token = ".bp"
|
||||
profile.save(update_fields=["trigger_token", "updated_at"])
|
||||
for action_type, position in (("extract_bp", 0), ("save_document", 1), ("post_result", 2)):
|
||||
for action_type, position in (
|
||||
("extract_bp", 0),
|
||||
("save_document", 1),
|
||||
("post_result", 2),
|
||||
):
|
||||
action, created = CommandAction.objects.get_or_create(
|
||||
profile=profile,
|
||||
action_type=action_type,
|
||||
@@ -327,7 +337,9 @@ async def process_inbound_message(ctx: CommandContext) -> list[CommandResult]:
|
||||
return []
|
||||
if is_mirrored_origin(trigger_message.message_meta):
|
||||
return []
|
||||
effective_service, effective_channel = _effective_bootstrap_scope(ctx, trigger_message)
|
||||
effective_service, effective_channel = _effective_bootstrap_scope(
|
||||
ctx, trigger_message
|
||||
)
|
||||
security_context = CommandSecurityContext(
|
||||
service=effective_service,
|
||||
channel_identifier=effective_channel,
|
||||
@@ -394,7 +406,9 @@ async def process_inbound_message(ctx: CommandContext) -> list[CommandResult]:
|
||||
result = await handler.execute(ctx)
|
||||
results.append(result)
|
||||
except Exception as exc:
|
||||
log.exception("command execution failed for profile=%s: %s", profile.slug, exc)
|
||||
log.exception(
|
||||
"command execution failed for profile=%s: %s", profile.slug, exc
|
||||
)
|
||||
results.append(
|
||||
CommandResult(
|
||||
ok=False,
|
||||
|
||||
Reference in New Issue
Block a user