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.
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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
record | Objekt | Ja | Datensatz Objekt zum Löschen |
hard | Boolean | Nein | Datensatz endgültig löschen Default: false |
options | Objekt | Nein | Weitere Optionen
|
user | User | Nein | Benutzer, 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
record | Objekt | Nein | Datensatz Objekt |
user | User | Nein | Benutzer, der bei Bedarf verwendet werden soll |
designer | Boolean | Nein | DesignerHandler 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
uuid | String | Nein | uuid des Datensatzes |
options | Objekt | Nein | Weitere Optionen
|
user | User | Nein | Benutzer, 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entities | Array | Ja | Array von Datensätzen |
nameWithDotWalk | String | Ja | Name der Relation, welche geladen werden soll |
user | User | Nein | Benutzer, 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
record | Objekt | Ja | Datensatz Objekt mit Feldwerten |
options | Objekt | Nein | Weitere Optionen
|
user | User | Nein | Benutzer, 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
record | Objekt | Ja | Datensatz Objekt mit Feldwerten |
options | Objekt | Nein | Weitere Optionen
|
user | User | Nein | Benutzer, 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
records | Array | Ja | Datensatz Objekte zum Löschen |
hard | Boolean | Nein | Datensatz endgültig löschen Default: false |
options | Objekt | Nein | Weitere Optionen
|
user | User | Nein | Benutzer, 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
records | Array | Ja | Datensatz Objekte mit Feldwerten |
options | Objekt | Nein | Weitere Optionen
|
user | User | Nein | Benutzer, 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
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
entityName | EntityName | Ja | Name der Entity |
records | Array | Ja | Datensatz Objekte mit Feldwerten |
options | Objekt | Nein | Weitere Optionen
|
user | User | Nein | Benutzer, 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
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