Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core JavaScript-API
Diese JavaScript-Bibliothek bietet Funktionen zum Abfragen von Audit-Einträgen. Informationen über die Einträge in der Audittabelle finden Sie hier: Struktur der Audittabelle
Binden Sie die Bibliothek stets am Anfang eines Skripts ein:
let al = require('/agorum/roi/customers/acaudit/js/lib/audit');
Dieses Beispiel zeigt, wie Sie die Einträge in der Audittabelle mit der Funktion select() suchen können.
let al = require('/agorum/roi/customers/acaudit/js/lib/audit');
let result = al
.query()
.condition(al.CONDITIONS.OBJECT_NAME, 'test-audit-lib.*')
.condition(al.CONDITIONS.OBJECT_CLASS_NAME, 'fileobject')
.condition(al.CONDITIONS.ACTION_DATE_FROM, new Date('2024-08-01'))
.condition(al.CONDITIONS.ACTION, al.ACTIONS.CREATE)
.orderBy(al.FIELDS.ACTION_DATE, al.ORDER_DIRECTION.DESCENDING)
.limit(10)
.timeout(100)
.select();
result;
In diesem Beispiel erhalten Sie folgende Rückgabe (hier beschränkt auf einen Eintrag):
[ {
"date" : "2024-08-26T09:54:21.809Z",
"leftObjectName" : "",
"commitId" : 1724052141331,
"userName" : "roi",
"objectUuid" : "2b350f00-6391-11ef-85e9-02420a0a0004",
"rightObjectUuid" : null,
"objectClassName" : "FILEOBJECT",
"rightObjectName" : "",
"leftObjectUuid" : null,
"userUuid" : "714614d0-ce62-11e0-b47a-0800276e2399",
"objectName" : "test-audit-lib.js",
"action" : "create",
"id" : 5331406,
"referenceObjectId" : 5331405
} ]
Das folgende Beispiel zeigt, wie Sie gezielt die Informationen zu einem Audit-Eintrag mit get(id) abfragen können.
let al = require('/agorum/roi/customers/acaudit/js/lib/audit');
// get details of an audit entry, including attributes
al.get(1310509);
In diesem Beispiel erhalten Sie folgende Rückgabe:
{
"date" : "2024-06-20T16:50:10.943Z",
"commitId" : 1717776662147,
"userName" : "roi",
"objectUuid" : "285f62d0-2f25-11ef-8510-02420a0a000a",
"rightObjectUuid" : null,
"objectClassName" : "FILEOBJECT",
"leftObjectUuid" : null,
"userUuid" : "714614d0-ce62-11e0-b47a-0800276e2399",
"objectName" : "test-audit-lib.js",
"action" : "create",
"attributes" : {
"CHARACTERSET" : "",
"BLOCKSIZE" : 524288,
"DELETOR" : 0,
"CONTENTQUOTAOBJECT" : 0,
"OWNER" : 11000,
"ISFOLDER" : false,
"DESCRIPTION" : "",
"CREATOR" : 11000,
"MEDIA" : 0,
"TIMEPHASEDACTIONDATE" : 0,
"FLAGS" : 32,
"CONTENT" : 1310508,
"LASTMODIFYDATE" : 1.718902112607E12,
"UUID" : "285f62d0-2f25-11ef-8510-02420a0a000a",
"MAINOBJECT" : 0,
"CLASSID" : 3,
"LANGUAGE" : "",
"OBJECTTEXTKEY" : "",
"LASTMODIFIER" : 11000,
"BEHAVIOR" : "",
"CREATEDATE" : 1.718898341429E12,
"ACL" : 12001,
"SYSTEMFLAGS" : 4224,
"NAME" : "test-audit-lib.js",
"CONTENTSIZE" : 403,
"TIMEPHASEDACTION" : "",
"UPDATEDATE" : 1.718902210941E12,
"FORMATOBJECT" : 10100,
"LASTCONTENTMODIFYDATE" : 1.718902112607E12,
"READONLY" : false
},
"id" : 1310509,
"referenceObjectId" : 1310508,
"info" : "CopyUtils"
}
Die Bibliothek definiert mehrere Konstanten, die Sie bei der Erstellung der Abfragen verwenden können.
Die ACTIONS-Konstante definiert mögliche Aktionen, die in der Datenbank verfolgt werden können. Diese Aktionen beziehen sich auf CRUD-Vorgänge (Erstellen, Aktualisieren, Löschen).
| ACTION | Beschreibung |
|---|---|
| CREATE | Repräsentiert die Aktion des Erstellens eines neuen Datensatzes in der Datenbank. |
| UPDATE | Repräsentiert die Aktion des Aktualisierens eines vorhandenen Datensatzes. |
| DELETE | Repräsentiert die Aktion des Löschens eines vorhandenen Datensatzes. |
Die CONDITIONS-Konstante definiert die verschiedenen Bedingungen, die bei der Erstellung von Datenbankabfragen als Filterkriterien verwendet werden können, um gezielt Daten nach bestimmten Kriterien zu selektieren.
| CONDITION | Datentyp/Bedeutung | Beschreibung |
|---|---|---|
| ACTION_DATE_FROM | date | Filtert die Ergebnisse, um nur Aktionen einzuschließen, die an oder nach diesem Datum stattgefunden haben |
| ACTION_DATE_TO | date | Begrenzt die Ergebnisse auf Aktionen, die an oder vor diesem Datum erfolgt sind. |
| ACTION | action | Dieser Filter ermöglicht es, nur Ergebnisse zu erhalten, die einem bestimmten Aktionstyp wie create, update oder delete entsprechen. |
| USER_UUID | useruuid | Filtert die Ergebnisse nach der eindeutigen Benutzerkennung (UUID). Es werden nur die Aktionen des angegebenen Benutzers angezeigt. |
| OBJECT_NAME | objectname | Diese Bedingung ermöglicht es, die Ergebnisse auf eine bestimmte Objektbezeichnung einzugrenzen. |
| OBJECT_CLASS_NAME | objectclassname | Erlaubt die Filterung der Ergebnisse auf der Grundlage des Klassennamens des Objekts. |
| ID | id | Filtert nach einer spezifischen ID. |
| REFERENCE_OBJECT | id | Dient zur Filterung der Ergebnisse anhand einer Referenzobjekt-ID. |
| REFERENCE_OBJECT-UUID | objectuuid | Ermöglicht die Filterung auf Basis der UUID des Referenzobjekts. |
| COMMIT_ID | commitid | Filtert nach einer bestimmten Commit-ID. |
| RIGHT_OBJECT_UUID | rightobjectuuid | Diese Bedingung wählt Einträge basierend auf der UUID des rechten Objekts in Beziehungen aus. |
| LEFT_OBJECT_UUID | leftobjectuuid | Diese Bedingung wählt Einträge basierend auf der UUID des linken Objekts in Beziehungen aus. |
Die FIELDS-Konstante definiert die möglichen Felder, die in der Datenbankabfrage verwendet werden können.
| FIELD | Spalte/Bedeutung | Beschreibung |
|---|---|---|
| ID | ID | ID des Audit-Eintrags |
| OBJECT_UUID | OBJECTUUID | UUID des agorum core-Objekts an, auf das sich der Eintrag bezieht (das verändert wurde). |
| USER_UUID | USERUUID | UUID des Benutzers, der die Aktion vorgenommen hat. |
| ACTION | ACTION | Aktion, die das System durchgeführt hat (1 create, 2 update, 3 delete). |
| ACTION_DATE | ACTIONDATE | Zeitpunkt der Aktion (Zeitstempel). |
| OBJECT_NAME | OBJECTNAME | Name des betroffenen Objekts zum Zeitpunkt der Aktion. |
| OBJECT_CLASSNAME | OBJECTCLASSNAME | Klassenname des Objekts, das betroffen ist (FILEOBJECT, MAILOBJECT, FOLDEROBJECT, …). |
| COMMIT_ID | COMMITID | ID des Commits (Datenbanktransaktion). Werden mehrere Objekte in einer Transaktion manipuliert, besitzen alle Operationen dieselbe COMMITID. |
| REFERENCE_OBJECT | REFERENCEOBJECT | agorum core-Objekt (ID) an, auf das sich der Eintrag bezieht (das verändert wurde). |
| RIGHTOBJECT_UUID | RIGHTOBJECTUUID | Gibt bei einer Relation das rechtsseitige Objekt (UUID) an. Für die Unterschiede zwischen Beziehungen (Relationen) und Objekten siehe Unterschied Objekt vs. Beziehung (Relation). |
| LEFTOBJECT_UUID | LEFTOBJECTUUID | Gibt bei einer Relation das linksseitige Objekt (UUID) an. Für die Unterschiede zwischen Beziehungen (Relationen) und Objekten siehe Unterschied Objekt vs. Beziehung (Relation). |
Die OPTIONS-Konstante definiert die konfigurierbaren Optionen, die für eine Datenbankabfrage verfügbar sind.
| OPTION | Beschreibung |
|---|---|
| ORDER_BY | Definiert die Sortierreihenfolge für die Abfrageergebnisse. |
| LIMIT | Begrenzt die Anzahl der zurückgegebenen Ergebnisse. |
| TIMEOUT | Gibt das Zeitlimit für das Ausführen einer Abfrage in Millisekunden an. |
Die ORDER_DIRECTION-Konstante definiert mögliche Sortieroptionen für Abfrageergebnisse.
| ORDER_DIRECTION | Beschreibung |
|---|---|
| ASCENDING | Sortiert die Abfrageergebnisse in aufsteigender Reihenfolge. |
| DESCENDING | Sortiert die Abfrageergebnisse in absteigender Reihenfolge. |
Initialisiert ein neues Abfrageobjekt, um Abfragen an die Audittabelle zu erstellen und auszuführen.
Syntax
let result = al.query();
Fügt der Abfrage eine Bedingung hinzu, um die Ergebnisse basierend auf dem angegebenen Feld und Wert zu filtern.
Syntax
condition(field, value);
| Parameter | Beschreibung | Pflicht |
|---|---|---|
| field | Gibt das Feld (die Datenbankspalte) an, auf das die Bedingung angewendet werden soll, siehe FIELDS. | ja |
| value | Gibt den Wert an, auf den der Eintrag in der Datenbankspalte zutreffen soll. | ja |
query.condition(al.CONDITIONS.OBJECT_NAME, 'test-audit-lib.*');
Gibt die Reihenfolge an, in der die Ergebnisse zurückgegeben werden sollen. Die Standardsortierung ist nach ACTION_DATE in absteigender Reihenfolge.
Syntax
orderBy(field, direction)
| Parameter | Beschreibung | Pflicht |
|---|---|---|
| field | Gibt das Feld (die Datenbankspalte) an, nach der die Ergebnisse sortiert werden sollen. | ja |
| direction | Gibt an, in welcher Reihenfolge die Werte der angegebenen Spalte sortiert werden sollen. | ja |
query.orderBy(al.FIELDS.ACTION_DATE, al.ORDER_DIRECTION.DESCENDING);
Syntax
limit(number)
| Parameter | Beschreibung | Pflicht |
|---|---|---|
| number | Die maximale Anzahl der zurückzugebenden Ergebnisse. | ja |
query.limit(50);
Legt die maximale Zeit fest, die für die Ausführung der Abfrage erlaubt ist. Der Standardwert für Timeout ist 5000 Millisekunden.
Syntax
timeout(milliseconds)
| Parameter | Beschreibung | Pflicht |
|---|---|---|
| timeout | Die Timeout-Dauer in Millisekunden. | ja |
query.timeout(100);
let result = al.query.select();
Rückgabewert
Ruft die Details eines bestimmten Audit-Eintrags anhand seiner ID ab, einschließlich der Attribute.
Syntax
get(id)
| Parameter | Beschreibung | Pflicht |
|---|---|---|
| id | Die ID des abzurufenden Audit-Eintrags. | ja |
al.get(1310509);