Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > 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);