Skip to main content
Version: Dingo

ks.record

ks.record wird für Datenbankoperation verwendet.

Die ks.record API ist die primäre Methode zur Schnittstelle mit der Datenbank im server- und clientseitigen Code. Ein Record ist ein Objekt, das die Informationen zu Feldinhalten eines Datensatzes aus einer Tabelle enthält.

Verwenden Sie diese API um einen Datensatz in einer Tabelle zu erstellen, zu aktualisieren oder zu löschen. Weitere Informationen zum Erstellen, Aktualisieren oder Löschen finden Sie in den einzelnen Methoden.

info

Serverseitiger Code

Die Access Controls werden bei der Verwendung der API nicht evaluiert. Das Verhalten kann über den Parameter secured in den Optionen der Methode angepasst werden.

Clientseitiger Code

Die Access Controls werden bei der Verwendung der API evaluiert. Das Verhalten kann nicht angepasst werden.

delete

Löscht den angegebenen Datensatz in der Datenbank.

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
recordObjektJaDatensatz Objekt zum Löschen
hardBooleanNeinDatensatz endgültig löschen
Default: false
optionsObjektNeinWeitere Optionen

  • actor
  • descendants
  • mailing
  • partialUpdate
  • schemaValidation
  • secured
  • statistics
  • trigger
  • validation
  • workflow
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und record einen PlatformUser löschen.

await ks.record.delete('PlatformUser', {RECORD_OBJECT});

enhance

Ein Datensatz Objekt mit Helper Funktionen initialisieren

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
recordObjektNeinDatensatz Objekt
userUserNeinBenutzer, der bei Bedarf verwendet werden soll
designerBooleanNeinDesignerHandler Helper Funktionen initialisieren
Default false

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und record einen PlatformUser initialisieren.

const platformUser = await ks.record.enhance('PlatformUser', {
username: 'mmustermann',
firstName: 'Max',
lastName: 'Mustermann'
});
conzole.log(platformUser); // {"username":"mmustermann","firstName":"Max","lastName":"Mustermann","entityClass":"PlatformUser","initials":"MM","shTitle":"Max Mustermann (mmustermann)","representativeString":"Max Mustermann (mmustermann)","localExports":{}}

get

Gibt den angegebenen Datensatz als Objekt zurück.

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
uuidStringNeinuuid des Datensatzes
optionsObjektNeinWeitere Optionen

  • actor
  • descendants
  • secured
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und einer uuid einen PlatformUser Datensatz abrufen.

Wichtig: Wenn kein PlatformUser Datensatz mit der angegebenen uuid gefunden werden kann, wird ein neuer leerer Datensatz erstellt. Falls dieses Verhalten nicht gewünscht ist, kann Alternativ ks.criteria verwendet werden.

const platformUser = await ks.record.get('PlatformUser', 'd3a14f07-ce56-4f36-9cbf-1ee3965014e5');
conzole.log(platformUser.firstName); // logs first name of user

getEntityRelations

Lädt angegebene Relation aller übergebenen Datensätze.

Parameter

NameTypPflichtangabeBeschreibung
entitiesArrayJaArray von Datensätzen
nameWithDotWalkStringJaName der Relation, welche geladen werden soll
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie die Gruppenmitgliedschaften eins PlatformUser Datensatz laden.

const platformUser = await ks.record.get('PlatformUser', 'd3a14f07-ce56-4f36-9cbf-1ee3965014e5');
const groupMemberships = await ks.record.getEntityRelations([platformUser], 'groupMemberships');
conzole.log(groupMemberships); // [[{"shTitle":"AdminGroup > root","color":null,"externalId":null,"id":"dd6c9f27-9a6c-4682-8763-53314173d52a","entityClass":"GroupMembership","active":true,"icon":null,"userId":"d3a14f07-ce56-4f36-9cbf-1ee3965014e5","usergroupId":"fc98b643-fb4a-4d6f-b814-95a3b2449f44","repImageId":null,"tenantId":"40ab4319-f370-4ce0-9339-9d4b318a0b85","representativeString":"AdminGroup > root","_rev":"_hWg2yf----","_id":"GroupMembership/dd6c9f27-9a6c-4682-8763-53314173d52a","_key":"dd6c9f27-9a6c-4682-8763-53314173d52a","persisted":true,"localExports":{}}]]

insert

Einen neuen Datensatz in die Datenbank einfügen.

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
recordObjektJaDatensatz Objekt mit Feldwerten
optionsObjektNeinWeitere Optionen

  • actor
  • descendants
  • mailing
  • partialUpdate
  • schemaValidation
  • secured
  • statistics
  • trigger
  • validation
  • workflow
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und record einen PlatformUser Datensatz erstellen.

const platformUser = await ks.record.insert('PlatformUser', {
username: 'mmustermann',
firstName: 'Max',
lastName: 'Mustermann'
});
conzole.log(platformUser); // {"lockedSince":null,"selfRegistered":false,"username":"mmustermann","lockedReason":null,"mobilePhone":null,"salutation":null,"forcePasswordChange":false,"locked":false,"firstName":"Max","password":"$2b$10$KPWD7Y4I761bDrPvVN.67OLCYRlpW0ZZDASUvQDlabrdehRvGUZra","lastName":"Mustermann","email":null,"phone":null,"title":null,"position":null,"validTill":null,"comment":null,"autoLocked":false,"passwordLastModifiedOn":null,"validFrom":null,"lastLogin":null,"loginRetries":null,"color":"#946b94","externalId":null,"id":"16af0e06-803b-4958-be55-356cd7971571","entityClass":"PlatformUser","createdOn":"2024-09-03T13:41:32.201Z","lastModified":"2024-09-03T13:41:32.201Z","active":true,"icon":null,"applicationId":null,"activeProfileId":"72850f4e-4330-48ae-a2e8-9960077fb512","lastModifiedById":null,"createdById":null,"repImageId":null,"tenantId":"40ab4319-f370-4ce0-9339-9d4b318a0b85","initials":"MM","shTitle":"Max Mustermann (mmustermann)","representativeString":"Max Mustermann (mmustermann)","_rev":"_iZece-W---","_id":"PlatformUser/16af0e06-803b-4958-be55-356cd7971571","_key":"16af0e06-803b-4958-be55-356cd7971571","persisted":true,"localExports":{}}

update

Einen neuen Datensatz in der Datenbank aktualisieren.

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
recordObjektJaDatensatz Objekt mit Feldwerten
optionsObjektNeinWeitere Optionen

  • actor
  • descendants
  • mailing
  • partialUpdate
  • schemaValidation
  • secured
  • statistics
  • trigger
  • validation
  • workflow
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und record einen PlatformUser Datensatz aktualisieren.

const platformUser = await ks.record.update('PlatformUser', {
id: 'bf7b3e9e-6404-44a8-a32f-61fc5a16d711',
email: 'max.mustermann@wspsoft.de'
});
conzole.log(platformUser); // {"lockedSince":null,"selfRegistered":false,"username":"mmustermann","lockedReason":null,"mobilePhone":null,"salutation":null,"forcePasswordChange":false,"locked":false,"firstName":"Max","password":"$2b$10$EMIykPpKE2YwKQU4rKRq9uRVo/LhLz8JxOYEE7GDBRK8/qqDlkVhC","lastName":"Mustermann","email":"max.mustermann@wspsoft.de","phone":null,"title":null,"position":null,"validTill":null,"comment":null,"autoLocked":false,"passwordLastModifiedOn":null,"validFrom":null,"lastLogin":null,"loginRetries":null,"color":"#5c41a6","externalId":null,"id":"bf7b3e9e-6404-44a8-a32f-61fc5a16d711","entityClass":"PlatformUser","createdOn":"2024-09-03T13:50:04.698Z","lastModified":"2024-09-03T14:44:54.097Z","active":true,"icon":null,"applicationId":null,"activeProfileId":"d05be353-7819-443e-aae0-9fae34e04242","lastModifiedById":null,"createdById":null,"repImageId":null,"tenantId":"40ab4319-f370-4ce0-9339-9d4b318a0b85","initials":"MM","shTitle":"Max Mustermann (mmustermann)","representativeString":"Max Mustermann (mmustermann)","_rev":"_iZfWerS---","_id":"PlatformUser/bf7b3e9e-6404-44a8-a32f-61fc5a16d711","_key":"bf7b3e9e-6404-44a8-a32f-61fc5a16d711","persisted":true,"localExports":{}}

massDelete

Löscht 1-n Datensätze in der Datenbank.

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
recordsArrayJaDatensatz Objekte zum Löschen
hardBooleanNeinDatensatz endgültig löschen
Default: false
optionsObjektNeinWeitere Optionen

  • actor
  • descendants
  • mailing
  • partialUpdate
  • schemaValidation
  • secured
  • statistics
  • trigger
  • validation
  • workflow
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und records mehrere PlatformUser löschen.

await ks.record.massDelete('PlatformUser', {RECORD_OBJECTS});

massInsert

1-n Datensätze in die Datenbank einfügen.

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
recordsArrayJaDatensatz Objekte mit Feldwerten
optionsObjektNeinWeitere Optionen

  • actor
  • descendants
  • mailing
  • partialUpdate
  • schemaValidation
  • secured
  • statistics
  • trigger
  • validation
  • workflow
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und records mehrere PlatformUser Datensätze erstellen.

const platformUsers = await ks.record.massInsert('PlatformUser', [
{
username: 'mmustermann',
firstName: 'Max',
lastName: 'Mustermann'
},
{
username: 'emusterfrau',
firstName: 'Erika',
lastName: 'Musterfrau'
}
]);
conzole.log(platformUsers); // [{"lockedSince":null,"selfRegistered":false,"username":"mmustermann","lockedReason":null,"mobilePhone":null,"salutation":null,"forcePasswordChange":false,"locked":false,"firstName":"Max","password":"$2b$10$EMIykPpKE2YwKQU4rKRq9uRVo/LhLz8JxOYEE7GDBRK8/qqDlkVhC","lastName":"Mustermann","email":null,"phone":null,"title":null,"position":null,"validTill":null,"comment":null,"autoLocked":false,"passwordLastModifiedOn":null,"validFrom":null,"lastLogin":null,"loginRetries":null,"color":"#5c41a6","externalId":null,"id":"bf7b3e9e-6404-44a8-a32f-61fc5a16d711","entityClass":"PlatformUser","createdOn":"2024-09-03T13:50:04.698Z","lastModified":"2024-09-03T13:50:04.698Z","active":true,"icon":null,"applicationId":null,"activeProfileId":"d05be353-7819-443e-aae0-9fae34e04242","lastModifiedById":null,"createdById":null,"repImageId":null,"tenantId":"40ab4319-f370-4ce0-9339-9d4b318a0b85","initials":"MM","shTitle":"Max Mustermann (mmustermann)","representativeString":"Max Mustermann (mmustermann)","_rev":"_iZekScy---","_id":"PlatformUser/bf7b3e9e-6404-44a8-a32f-61fc5a16d711","_key":"bf7b3e9e-6404-44a8-a32f-61fc5a16d711","persisted":true,"localExports":{}},{"lockedSince":null,"selfRegistered":false,"username":"emusterfrau","lockedReason":null,"mobilePhone":null,"salutation":null,"forcePasswordChange":false,"locked":false,"firstName":"Erika","password":"$2b$10$dVoZNA.bxdDe1a/1qHWq3OeUhFbr48a.T7siJTJKFxJ3Qq4tBqeB.","lastName":"Musterfrau","email":null,"phone":null,"title":null,"position":null,"validTill":null,"comment":null,"autoLocked":false,"passwordLastModifiedOn":null,"validFrom":null,"lastLogin":null,"loginRetries":null,"color":"#c8ffb4","externalId":null,"id":"c6368ace-aa39-4a66-95aa-ef675888f157","entityClass":"PlatformUser","createdOn":"2024-09-03T13:50:04.699Z","lastModified":"2024-09-03T13:50:04.699Z","active":true,"icon":null,"applicationId":null,"activeProfileId":"bacc961e-b1d3-4d3f-b6a2-1c0c5f0c2c4d","lastModifiedById":null,"createdById":null,"repImageId":null,"tenantId":"40ab4319-f370-4ce0-9339-9d4b318a0b85","initials":"EM","shTitle":"Erika Musterfrau (emusterfrau)","representativeString":"Erika Musterfrau (emusterfrau)","_rev":"_iZekScy--_","_id":"PlatformUser/c6368ace-aa39-4a66-95aa-ef675888f157","_key":"c6368ace-aa39-4a66-95aa-ef675888f157","persisted":true,"localExports":{}}]

massUpdate

1-n Datensätze in der Datenbank aktualisieren.

Parameter

NameTypPflichtangabeBeschreibung
entityNameEntityNameJaName der Entity
recordsArrayJaDatensatz Objekte mit Feldwerten
optionsObjektNeinWeitere Optionen

  • actor
  • descendants
  • mailing
  • partialUpdate
  • schemaValidation
  • secured
  • statistics
  • trigger
  • validation
  • workflow
userUserNeinBenutzer, der bei Bedarf verwendet werden soll

Beispiel

Das Beispiel zeigt, wie Sie unter Angabe des entityName und records mehrere PlatformUser Datensätze aktualisieren.

const platformUsers = await ks.record.massUpdate('PlatformUser', [
{
id: 'bf7b3e9e-6404-44a8-a32f-61fc5a16d711',
email: 'max.mustermann@wspsoft.de'
},
{
id: 'c6368ace-aa39-4a66-95aa-ef675888f157',
email: 'erika.musterfrau@wspsoft.de'
}
]);
conzole.log(platformUsers); // [{"lockedSince":null,"selfRegistered":false,"username":"mmustermann","lockedReason":null,"mobilePhone":null,"salutation":null,"forcePasswordChange":false,"locked":false,"firstName":"Max","password":"$2b$10$EMIykPpKE2YwKQU4rKRq9uRVo/LhLz8JxOYEE7GDBRK8/qqDlkVhC","lastName":"Mustermann","email":"max.mustermann@wspsoft.de","phone":null,"title":null,"position":null,"validTill":null,"comment":null,"autoLocked":false,"passwordLastModifiedOn":null,"validFrom":null,"lastLogin":null,"loginRetries":null,"color":"#5c41a6","externalId":null,"id":"bf7b3e9e-6404-44a8-a32f-61fc5a16d711","entityClass":"PlatformUser","createdOn":"2024-09-03T13:50:04.698Z","lastModified":"2024-09-03T14:04:42.982Z","active":true,"icon":null,"applicationId":null,"activeProfileId":"d05be353-7819-443e-aae0-9fae34e04242","lastModifiedById":null,"createdById":null,"repImageId":null,"tenantId":"40ab4319-f370-4ce0-9339-9d4b318a0b85","initials":"MM","shTitle":"Max Mustermann (mmustermann)","representativeString":"Max Mustermann (mmustermann)","_rev":"_iZexsEi---","_id":"PlatformUser/bf7b3e9e-6404-44a8-a32f-61fc5a16d711","_key":"bf7b3e9e-6404-44a8-a32f-61fc5a16d711","persisted":true,"localExports":{}},{"lockedSince":null,"selfRegistered":false,"username":"emusterfrau","lockedReason":null,"mobilePhone":null,"salutation":null,"forcePasswordChange":false,"locked":false,"firstName":"Erika","password":"$2b$10$dVoZNA.bxdDe1a/1qHWq3OeUhFbr48a.T7siJTJKFxJ3Qq4tBqeB.","lastName":"Musterfrau","email":"erika.musterfrau@wspsoft.de","phone":null,"title":null,"position":null,"validTill":null,"comment":null,"autoLocked":false,"passwordLastModifiedOn":null,"validFrom":null,"lastLogin":null,"loginRetries":null,"color":"#c8ffb4","externalId":null,"id":"c6368ace-aa39-4a66-95aa-ef675888f157","entityClass":"PlatformUser","createdOn":"2024-09-03T13:50:04.699Z","lastModified":"2024-09-03T14:04:42.983Z","active":true,"icon":null,"applicationId":null,"activeProfileId":"bacc961e-b1d3-4d3f-b6a2-1c0c5f0c2c4d","lastModifiedById":null,"createdById":null,"repImageId":null,"tenantId":"40ab4319-f370-4ce0-9339-9d4b318a0b85","initials":"EM","shTitle":"Erika Musterfrau (emusterfrau)","representativeString":"Erika Musterfrau (emusterfrau)","_rev":"_iZexsEi--_","_id":"PlatformUser/c6368ace-aa39-4a66-95aa-ef675888f157","_key":"c6368ace-aa39-4a66-95aa-ef675888f157","persisted":true,"localExports":{}}]

Optionen

actor

Der actor findet nur Verwendung im Kontext des Activity Streams. Der actor beschreibt hierbei den Auslöser des zu schreibenden Activity Log Eintrags.

descendants

Parameter steuert, ob abgeleitete Entities inkludiert werden

Default Wert: false

mailing

Parameter dient zur Steuerung der Ausführung von Notification Rules

Default Wert: true

partialUpdate

Schreibt nur die aktuellen Änderungen eines bereits persistierten Datensatzes in die Datenbank.

Default Wert: false

schemaValidation

Parameter dient zur Steuerung der Prüfung des Datenbank-Schemas

Default Wert: true

secured

Parameter dient zur Steuerung der Prüfung von Access Controls

Default Wert: false

info

Parameter steht nur im serverseitigen Code zur Verfügung

statistics

Parameter dient zur Steuerung der Aktualisierung von Systemfelder, z.B. lastModified, lastModifiedBy, createdOn, createdBy

Default Wert: true

trigger

Parameter dient zur Steuerung der Ausführung von Script Trigger

Default Wert: true

validation

Parameter dient zur Steuerung der Ausführung von onValidation Script Trigger

Default Wert: true

workflow

Parameter dient zur Steuerung der Ausführung von Workflows

Default Wert: true