mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
Preserve usage origin metadata in Postgres lists
This commit is contained in:
@@ -106,9 +106,15 @@ SELECT
|
|||||||
NULL::json AS client_response_body,
|
NULL::json AS client_response_body,
|
||||||
NULL::bytea AS client_response_body_compressed,
|
NULL::bytea AS client_response_body_compressed,
|
||||||
CASE
|
CASE
|
||||||
WHEN ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
WHEN NULLIF(BTRIM("usage".request_metadata->>'client_ip'), '') IS NOT NULL
|
||||||
|
OR NULLIF(BTRIM("usage".request_metadata->>'user_agent'), '') IS NOT NULL
|
||||||
|
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||||
OR ("usage".request_metadata->>'upstream_is_stream') IN ('true', 'false')
|
OR ("usage".request_metadata->>'upstream_is_stream') IN ('true', 'false')
|
||||||
THEN jsonb_build_object(
|
THEN jsonb_strip_nulls(jsonb_build_object(
|
||||||
|
'client_ip',
|
||||||
|
NULLIF(BTRIM("usage".request_metadata->>'client_ip'), ''),
|
||||||
|
'user_agent',
|
||||||
|
NULLIF(BTRIM("usage".request_metadata->>'user_agent'), ''),
|
||||||
'client_requested_stream',
|
'client_requested_stream',
|
||||||
CASE
|
CASE
|
||||||
WHEN ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
WHEN ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||||
@@ -121,7 +127,7 @@ SELECT
|
|||||||
THEN ("usage".request_metadata->>'upstream_is_stream')::boolean
|
THEN ("usage".request_metadata->>'upstream_is_stream')::boolean
|
||||||
ELSE NULL
|
ELSE NULL
|
||||||
END
|
END
|
||||||
)::json
|
))::json
|
||||||
ELSE NULL::json
|
ELSE NULL::json
|
||||||
END AS request_metadata,
|
END AS request_metadata,
|
||||||
NULL::varchar AS http_request_body_ref,
|
NULL::varchar AS http_request_body_ref,
|
||||||
|
|||||||
@@ -106,9 +106,15 @@ SELECT
|
|||||||
NULL::json AS client_response_body,
|
NULL::json AS client_response_body,
|
||||||
NULL::bytea AS client_response_body_compressed,
|
NULL::bytea AS client_response_body_compressed,
|
||||||
CASE
|
CASE
|
||||||
WHEN ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
WHEN NULLIF(BTRIM("usage".request_metadata->>'client_ip'), '') IS NOT NULL
|
||||||
|
OR NULLIF(BTRIM("usage".request_metadata->>'user_agent'), '') IS NOT NULL
|
||||||
|
OR ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||||
OR ("usage".request_metadata->>'upstream_is_stream') IN ('true', 'false')
|
OR ("usage".request_metadata->>'upstream_is_stream') IN ('true', 'false')
|
||||||
THEN jsonb_build_object(
|
THEN jsonb_strip_nulls(jsonb_build_object(
|
||||||
|
'client_ip',
|
||||||
|
NULLIF(BTRIM("usage".request_metadata->>'client_ip'), ''),
|
||||||
|
'user_agent',
|
||||||
|
NULLIF(BTRIM("usage".request_metadata->>'user_agent'), ''),
|
||||||
'client_requested_stream',
|
'client_requested_stream',
|
||||||
CASE
|
CASE
|
||||||
WHEN ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
WHEN ("usage".request_metadata->>'client_requested_stream') IN ('true', 'false')
|
||||||
@@ -121,7 +127,7 @@ SELECT
|
|||||||
THEN ("usage".request_metadata->>'upstream_is_stream')::boolean
|
THEN ("usage".request_metadata->>'upstream_is_stream')::boolean
|
||||||
ELSE NULL
|
ELSE NULL
|
||||||
END
|
END
|
||||||
)::json
|
))::json
|
||||||
ELSE NULL::json
|
ELSE NULL::json
|
||||||
END AS request_metadata,
|
END AS request_metadata,
|
||||||
NULL::varchar AS http_request_body_ref,
|
NULL::varchar AS http_request_body_ref,
|
||||||
|
|||||||
@@ -623,6 +623,11 @@ fn usage_sql_uses_json_null_placeholders_for_usage_payload_columns() {
|
|||||||
super::LIST_USAGE_AUDITS_PREFIX,
|
super::LIST_USAGE_AUDITS_PREFIX,
|
||||||
super::LIST_RECENT_USAGE_AUDITS_PREFIX,
|
super::LIST_RECENT_USAGE_AUDITS_PREFIX,
|
||||||
] {
|
] {
|
||||||
|
assert!(sql.contains("jsonb_strip_nulls(jsonb_build_object("));
|
||||||
|
assert!(sql.contains("'client_ip'"));
|
||||||
|
assert!(sql.contains("request_metadata->>'client_ip'"));
|
||||||
|
assert!(sql.contains("'user_agent'"));
|
||||||
|
assert!(sql.contains("request_metadata->>'user_agent'"));
|
||||||
assert!(sql.contains("CAST(\"usage\".input_tokens AS INTEGER) AS input_tokens"));
|
assert!(sql.contains("CAST(\"usage\".input_tokens AS INTEGER) AS input_tokens"));
|
||||||
assert!(sql.contains(
|
assert!(sql.contains(
|
||||||
"usage_settlement_snapshots.billing_input_tokens AS settlement_billing_input_tokens"
|
"usage_settlement_snapshots.billing_input_tokens AS settlement_billing_input_tokens"
|
||||||
|
|||||||
Reference in New Issue
Block a user