Operator guideENreportingauditchange-log

Reporting / Change Notifications

Audit list for recorded configuration, administrator, and system change entries with filters for actor, entity, and change type.

Reader view

Clean portal guidance

This page keeps the operator explanation, field and action descriptions, and screenshots visible without exposing repo paths, raw sidecars, or editorial-only implementation details.

Narrative content

Page body

What this page shows

Change Notifications is the main audit list for recorded backoffice and system changes. Each row is one immutable audit event stored in the change-audit log.

When to use it

  • find who changed a configuration or entity
  • narrow the audit trail by change type, actor, or entity
  • inspect the detail page for the full before/after payload of one change
  • investigate support questions around recent administrator actions

How to read it

The grid is sorted by change timestamp descending. Each row summarizes:

  • change id
  • change type
  • target entity type and id
  • who made the change
  • when it was recorded
  • source IP and backend-generated description

The page is optimized for narrowing the audit trail first and opening the detail page second.

Filters that change the result

  • start date
  • end date
  • change type
  • changed by
  • entity
  • rows per page

Changing any filter resets the FE table page to 0. Changing rows per page also resets the table back to the first page.

Known caveats

  • The page itself does not currently wire the export callback into the filter component, so visible Export CSV / Export PDF buttons are not mounted even though the backend export route exists.
  • Reset Filters sets Start Date to seven days ago and End Date to today. That differs from the initial route state, where both date filters start unset.
  • The FE dropdown and color map can lag behind the backend enum list. New backend change types may still appear with default styling.
  • Entity is a fuzzy search over both entityType and entityId, not a strict single-column filter.
  • Changed by searches by name and also by numeric changedById when the search text parses as an integer.
  • Row click and the View Details icon both open the same detail route.

Verification status

  • status: verified_backend
  • FE route, filters, table, and detail handoff are mapped
  • gs-admin-backend owns list reads, audit writes, export, and immutable storage semantics
  • no explicit nx-workspace dependency is required for the current list surface
Calculation notes

Calculations

calculation

Initial vs reset date range

Formula Text
Initial route state leaves `startDate` and `endDate` unset; `Reset Filters` sets `startDate` to seven days ago and `endDate` to today.
Operator Note
Resetting filters can narrow a previously unbounded initial result set.
Verification Status
verified_backend
calculation

Filter pagination reset

Formula Text
Every filter change merges the new filter fragment into FE state and resets `page` to `0`; rows-per-page changes also set `page` to `0`.
Operator Note
Operators should expect table navigation to jump back to the first page after filter edits.
Verification Status
verified_backend
calculation

Active filters chip

Formula Text
FE counts non-default `changeType`, non-empty `changedBy`, non-empty `entity`, and date values that differ from the reset baseline.
Operator Note
Because the initial route state has empty dates, the active-filter chip can count the initial empty date state as different from the reset baseline.
Verification Status
verified_fe_only
calculation

Changed by filter

Formula Text
The FE search can match both `changedByName` text and numeric `changedById` when the input parses as an integer.
Operator Note
Users should treat `Changed by` as a mixed name-or-id filter, not a strict exact-name selector.
Verification Status
verified_backend
calculation

Entity filter

Formula Text
The FE search checks both `entityType` and `entityId` against the free-text entity input.
Operator Note
This filter is broader than a single-column exact match.
Verification Status
verified_backend
calculation

Backend export limits

Formula Text
CSV export requests up to 10000 audit rows; PDF export requests up to 1000 audit rows.
Operator Note
These backend export paths exist even though the current FE route does not expose the export buttons.
Verification Status
verified_backend
Grid columns

Columns

field

Date/Time

When the change was recorded.

field

Change Type

Backend-owned category of the audit event.

field

Entity

Combined entity type and identifier shown in the grid row.

field

Changed By

Administrator or system actor that produced the change.

field

IP Address

Source IP recorded for the audit event.

field

Description

Human-readable backend-generated explanation of the change.

Filter dictionary

Filters

field

Start Date

Optional lower bound for `changeTimestamp`; initial route state leaves it unset.

Type
date
field

End Date

Optional upper bound for `changeTimestamp`; initial route state leaves it unset.

Type
date
field

Change Type

FE-visible enum selector; values newer than the FE color/type map still render with fallback styling.

Type
select
Options
All Types, Game Parameter, System Time, Admin Account, Configuration, Payout Schedule, Rake Percentage, Game Rules, User Action, System Action
field

Changed By

Name-or-id search over the actor that produced the audit event.

Type
text
field

Entity

Fuzzy search over both entity type and entity id.

Type
text
Operator actions

Row actions

action

View Details

Opens `/reports/change-notifications/[changeId]` for the selected immutable audit record.

Widget map

Widgets

item

Change notification filters

item

Active filters chip

FE count of filter controls that differ from the reset baseline.

item

Change notifications table

item

Table pagination

Server-backed pagination with visible row-size options from 5 through 10000.

item

Showing range summary

FE footer text showing `from-to of total` for the current server page.

Operational notes

Notes

item

The list query is built in `ChangeAuditLog.searchChanges`, not in a standalone SQL file.

item

`changedBy` searches by name and, when numeric, by exact `changedById`.

item

`entity` searches both `entityType` and `entityId` with fuzzy matching.

item

The backend export route exists, but the current page does not wire `onExport` from the FE container.

item

The FE type/color map is narrower than the backend enum migrations, so unknown or newer change types fall back to default display styling.

item

FE filter changes reset `page` to `0`; rows-per-page changes also reset `page` to `0`.

Related references

Related pages

pageReporting

Canonical entrypoint for standalone reporting pages outside the main Dashboard widgets.

pageReporting / Affiliate Events Report

Audit log of the events and saved amounts the platform sent to the affiliate system, with per-currency successful totals and a CSV export.

pageReporting / Bonus Performance

Grouped bonus performance report for activations, amounts, deposits, withdrawals, GGR, and NGR by bonus item.

pageReporting / Card Approval Rates

Snapshot report of card deposit approval rates for NetworxPay, Paydex, and Carouseller, split by Trusted and NonTrusted players, with today versus the previous 30 days and today top decline reasons.

pageReporting / Change Notification Detail

Detail page for one audit entry, including actor metadata, description, and before/after comparison views.

pageReporting / Control Verification

Monitoring workspace for integrity verification runs, compliance scoring, baseline control, and component-by-component failure review.