update: grid on resource events.

This commit is contained in:
Darshan 2025-08-08 16:03:00 +05:30
parent f154b1e8aa
commit 65c767c2b0
37 changed files with 46 additions and 38 deletions

View file

@ -106,12 +106,19 @@ class XList extends Action
]);
$audit = new Audit($dbForProject);
$isRows = $this->getContext() === ROWS;
// returns what we want, ignore the naming!
$type = $this->getCollectionsEventsContext();
$item = $this->getContext() === ROWS ? 'row' : 'document';
$item = $isRows ? 'row' : 'document';
if (!$isRows) {
$resource = "database/$databaseId/$type/$collectionId/$item/{$document->getId()}";
} else {
// grid
$resource = "database/$databaseId/grid/$type/$collectionId/$item/{$document->getId()}";
}
$resource = "database/$databaseId/$type/{$collectionId}/$item/{$document->getId()}";
$logs = $audit->getLogsByResource($resource, $queries);
$output = [];

View file

@ -103,7 +103,8 @@ class XList extends Action
]);
$audit = new Audit($dbForProject);
$resource = 'database/' . $databaseId . '/' . $this->getContext() . '/' . $collectionId;
$prefix = $this->getContext() === TABLES ? 'grid/' : '';
$resource = "database/$databaseId/$prefix{$this->getContext()}/$collectionId";
$logs = $audit->getLogsByResource($resource, $queries);
$output = [];

View file

@ -35,7 +35,7 @@ class Create extends BooleanCreate
->label('scope', 'tables.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -37,7 +37,7 @@ class Update extends BooleanUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -37,7 +37,7 @@ class Create extends DatetimeCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -39,7 +39,7 @@ class Update extends DatetimeUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -36,7 +36,7 @@ class Delete extends AttributesDelete
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.delete')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -36,7 +36,7 @@ class Create extends EmailCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Update extends EmailUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Create extends EnumCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -40,7 +40,7 @@ class Update extends EnumUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -36,7 +36,7 @@ class Create extends FloatCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Update extends FloatUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -36,7 +36,7 @@ class Create extends IPCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Update extends IPUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -36,7 +36,7 @@ class Create extends IntegerCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Update extends IntegerUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -37,7 +37,7 @@ class Create extends RelationshipCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -37,7 +37,7 @@ class Update extends RelationshipUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Create extends StringCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -40,7 +40,7 @@ class Update extends StringUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -36,7 +36,7 @@ class Create extends URLCreate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].create')
->label('audits.event', 'column.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Update extends URLUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].columns.[columnId].update')
->label('audits.event', 'column.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -38,7 +38,7 @@ class Create extends CollectionCreate
->label('scope', 'tables.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'table.create')
->label('audits.resource', 'database/{request.databaseId}/table/{response.$id}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{response.$id}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: null,

View file

@ -34,7 +34,7 @@ class Delete extends CollectionDelete
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].delete')
->label('audits.event', 'table.delete')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: null,

View file

@ -40,7 +40,7 @@ class Create extends IndexCreate
->label('scope', 'tables.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'index.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -39,7 +39,7 @@ class Delete extends IndexDelete
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].indexes.[indexId].update')
->label('audits.event', 'index.delete')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: $this->getSdkGroup(),

View file

@ -35,7 +35,7 @@ class Delete extends DocumentsDelete
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'rows.delete')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -36,7 +36,7 @@ class Update extends DocumentsUpdate
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'rows.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -35,7 +35,7 @@ class Upsert extends DocumentsUpsert
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'row.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -36,7 +36,7 @@ class Decrement extends DecrementDocumentAttribute
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'rows.decrement')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -36,7 +36,7 @@ class Increment extends IncrementDocumentAttribute
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'rows.increment')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -44,7 +44,7 @@ class Create extends DocumentCreate
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'row.create')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -40,7 +40,7 @@ class Delete extends DocumentDelete
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].rows.[rowId].delete')
->label('audits.event', 'row.delete')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}/row/{request.rowId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}/row/{request.rowId}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -37,7 +37,7 @@ class Update extends DocumentUpdate
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'row.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}/row/{response.$id}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}/row/{response.$id}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -37,7 +37,7 @@ class Upsert extends DocumentUpsert
->label('scope', 'rows.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'row.upsert')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}/row/{response.$id}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}/row/{response.$id}')
->label('abuse-key', 'ip:{ip},method:{method},url:{url},userId:{userId}')
->label('abuse-limit', APP_LIMIT_WRITE_RATE_DEFAULT * 2)
->label('abuse-time', APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT)

View file

@ -37,7 +37,7 @@ class Update extends CollectionUpdate
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('event', 'databases.[databaseId].tables.[tableId].update')
->label('audits.event', 'table.update')
->label('audits.resource', 'database/{request.databaseId}/table/{request.tableId}')
->label('audits.resource', 'database/{request.databaseId}/grid/table/{request.tableId}')
->label('sdk', new Method(
namespace: $this->getSdkNamespace(),
group: null,