defmodule RiskCore do @moduledoc """ RiskCore — public API entry-point. Delegates to `RiskCore.Context` for domain operations and `RiskCore.Adapter` for risk evaluation. """ # ---------- Risk Rule Management ---------- defdelegate list_risk_rules(opts \\ []), to: RiskCore.Context defdelegate get_risk_rule!(id), to: RiskCore.Context defdelegate create_risk_rule(attrs \\ %{}, user_id \\ nil), to: RiskCore.Context defdelegate update_risk_rule(risk_rule, attrs, user_id \\ nil), to: RiskCore.Context defdelegate delete_risk_rule(risk_rule, user_id \\ nil), to: RiskCore.Context defdelegate change_risk_rule(risk_rule, attrs \\ %{}), to: RiskCore.Context # ---------- Risk Evaluation ---------- defdelegate evaluate_transaction_risks(transaction, transaction_type \\ "QR"), to: RiskCore.Context defdelegate evaluate_single_rule(rule, transaction, transaction_type), to: RiskCore.Context # ---------- Rule Hits & Supervisor ---------- defdelegate create_risk_rule_hit(attrs \\ %{}), to: RiskCore.Context defdelegate get_new_flagged_transactions(supervisor_id), to: RiskCore.Context defdelegate update_supervisor_last_checked(supervisor_id), to: RiskCore.Context defdelegate get_supervisor_last_checked_time(supervisor_id), to: RiskCore.Context defdelegate update_risk_rule_hit_action(hit_id, supervisor_id, action, notes \\ nil, conn \\ nil), to: RiskCore.Context # ---------- Statistics & Audit ---------- defdelegate get_rule_statistics(opts \\ []), to: RiskCore.Context defdelegate get_audit_logs(opts \\ []), to: RiskCore.Context defdelegate get_audit_summary(opts \\ []), to: RiskCore.Context end