Merge origin/main into main

Integrate upstream updates while preserving the local analytics dashboards and schema-only migration changes.

Combine user account analysis with upstream user/group usage statistics in separate tabs, retain all migration versions, and keep the deleted audit document removed.

Validation: gateway all-target cargo check, frontend type check and 57 focused tests, 48 migration tests, schema composition checks, and diff whitespace checks.
This commit is contained in:
elky
2026-10-02 11:57:18 +08:00
343 changed files with 27929 additions and 2549 deletions
@@ -344,3 +344,17 @@ CREATE INDEX IF NOT EXISTS idx_redeem_codes_status ON public.redeem_codes USING
CREATE INDEX IF NOT EXISTS idx_redeem_codes_redeemed_user ON public.redeem_codes USING btree (redeemed_by_user_id, redeemed_at);
CREATE INDEX IF NOT EXISTS idx_redeem_codes_redeemed_order ON public.redeem_codes USING btree (redeemed_payment_order_id);
CREATE TABLE IF NOT EXISTS public.admin_user_wallet_balance_batches (
admin_user_id character varying(64) NOT NULL,
idempotency_key character varying(128) NOT NULL,
request_fingerprint character varying(64) NOT NULL,
target_user_ids jsonb NOT NULL,
missing_user_ids jsonb NOT NULL,
warnings jsonb NOT NULL,
user_outcomes jsonb NOT NULL,
created_at_unix_secs bigint NOT NULL,
updated_at_unix_secs bigint NOT NULL
);
ALTER TABLE ONLY public.admin_user_wallet_balance_batches ADD CONSTRAINT admin_user_wallet_balance_batches_pkey PRIMARY KEY (admin_user_id, idempotency_key);