@ablegroup/propertymapping

1.0.8 • Public • Published

ABLE PropertyMapping Modul

Dieses Modul bietet Zugang zur Datenbank des Property Mappings, welches stage-übergreifende Kategorien und Eigenschaften bereitstellt. Zur Nutzung muss das Modul über require eingebunden werden. Außerdem muss die Datenbank mit initDatabase() initialisiert werden, wobei sowohl die AWS Access Key ID als auch der AWS Secret Key übergeben werden müssen. Der Key muss berechtigt sein DynamoDBs zu lesen.

Beispielverwendung

const mapping = require('@ablegroup/propertymapping');
mapping.initDatabase(accessKeyID, secretAccessKey);
const categories = await mapping.getAllCategories(stage);

Klassen

Category

Eine Category beschreibt eine Kategorie im d.3 und wird durch die Auflistung der Kategorien unter dem Endpunkt /dms/r/{{repoID}}/source definiert. Sie ist eine reine Datenpräsentation und bietet keine eigenen Methoden.

Variablen

Variable Datentyp Beschreibung
categoryID String Durch die Datenbank vergebene UUID einer Kategorie
categoryKey String ID einer Kategorie im d.3
displayname String Anzeigename einer Kategorie im d.3
writeAccess boolean Berechtigung für User Werte zu ändern
children String[] Liste der Kindkategorien (anhand des categoryKey)
parent String Elternkategorie (anhand des categoryKey)

Property

Eine Property beschreibt eine Eigenschaft im d.3 und wird durch die Auflistung der Eigenschaften unter dem Endpunkt /dms/r/{{repoID}}/objdef definiert. Eigenschaften werden für jede Nutzung in einer Kategorie einzeln hinterlegt. So kann es sein, dass das Feld "E-Mail" im d.3 unter /dms/r/{{repoID}}/source nur einmal auftaucht, aber durch die Nutzung in mehreren Kategorien auch mehrfach angelegt wird. Sie ist eine reine Datenpräsentation und bietet keine eigenen Methoden.

Variablen

Variable Datentyp Beschreibung
propertyID String Durch die Datenbank vergebene UUID einer Eigenschaft
displayname String Anzeigename einer Eigenschaft im d.3
databasePosition Number Datenbankposition im d.3, abhängig von der Kategorie
categoryKey String ID der übergeordneten Kategorie im d.3
mandatory boolean Pflichtfeld
modifiable boolean Berechtigung für User Werte zu ändern
propertyKey Number ID einer Eigenschaft im d.3, stage-abhängig

Methoden

Initialisierung der Datenbank

mapping.initDatabase(accessKeyID, secretAccessKey);

Funktionsparameter

Parameter Beschreibung
accessKeyID ID des Access Keys des zu nutzenden AWS-Accounts
secretAccessKey Secret Access Key des zu nutzenden AWS-Accounts

Laden aller Kategorien

const categories = await mapping.getAllCategories(stage);

Lädt alle in der Datenbank verfügbaren Kategorien zu einer Stage.

Funktionsparameter

Parameter Beschreibung Beispiel
stage Zu durchsuchende d.3-Stage 'dev'

Rückgabewert

Datentyp Beschreibung
Category[] oder
[]
Liste der Kategorien in der Datenbank

Suche nach bestimmter Kategorie

const category = await mapping.getCategory(stage, categoryID, categoryKey, displayName);

Lädt eine Kategorie anhand eines eindeutigen Filerparameters. Zur Suche nach einer Kategorie muss mindestens ein Filterparameter gesetzt sein.

Funktionsparameter

Parameter Beschreibung Beispiel
stage Zu durchsuchende d.3-Stage 'dev'
categoryID Filterparameter, optional
ID der Kategorie in der Datenbank
'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKey Filterparameter, optional
ID der Kategorie im d.3
'XAPER'
displayName Filterparameter, optional
Anzeigename der Kategorie
'Personalakte'

Rückgabewert

Datentyp Beschreibung
Category oder
undefined
Gefundene Kategorie entsprechend der Filterparameter oder
undefined, wenn keine Kategorie gefunden wurde

Suche nach Kind-Kategorie

const categories = await mapping.getCategoryByParent(stage, categoryID, categoryKey, displayName);

Lädt die Kindkategorien einer Kategorie anhand eines eindeutigen Filerparameters. Zur Suche nach einer Kategorie muss mindestens ein Filterparameter gesetzt sein.

Funktionsparameter

Parameter Beschreibung Beispiel
stage Zu durchsuchende d.3-Stage 'dev'
categoryID Filterparameter, optional
ID der Kategorie in der Datenbank
'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKey Filterparameter, optional
ID der Kategorie im d.3
'XAPER'
displayName Filterparameter, optional
Anzeigename der Kategorie
'Personalakte'

Rückgabewert

Datentyp Beschreibung
Category[] oder
[]
Gefundene Kindkategorien entsprechend der Filterparameter

Suche nach Eltern-Kategorie

const category = await mapping.getCategoryByChildren(stage, categoryID, categoryKey, displayName);

Lädt die Elternkategorie einer Kategorie anhand eines eindeutigen Filerparameters. Zur Suche nach einer Kategorie muss mindestens ein Filterparameter gesetzt sein.

Funktionsparameter

Parameter Beschreibung Beispiel
stage Zu durchsuchende d.3-Stage 'dev'
categoryID Filterparameter, optional
ID der Kategorie in der Datenbank
'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKey Filterparameter, optional
ID der Kategorie im d.3
'XAPER'
displayName Filterparameter, optional
Anzeigename der Kategorie
'Personalakte'

Rückgabewert

Datentyp Beschreibung
Category oder
undefined
Gefundene Elternkategorie entsprechend der Filterparameter oder
undefined, wenn keine Kategorie gefunden wurde

Laden aller Eigenschaften

const properties = await mapping.getAllProperties(stage);

Lädt alle in der Datenbank verfügbaren Eigenschaften zu einer Stage.

Funktionsparameter

Parameter Beschreibung Beispiel
stage Zu durchsuchende d.3-Stage 'dev'

Rückgabewert

Datentyp Beschreibung
Property[] oder
[]
Liste der Eigenschaften in der Datenbank

Suche nach bestimmter Eigenschaft

const property = await mapping.getProperty(stage, propertyID, displayName, databasePosition, categoryKey, propertyKey);

Lädt eine Eigenschaft anhand eines eindeutigen Filerparameters. Zur Suche nach einer Eigenschaft muss mindestens ein Filterparameter gesetzt sein. Die Filter databasePosition und categoryKey müssen stets zusammen angegeben werden, da die Datenbankpositionen nur je Kategorie eindeutig sind.

Funktionsparameter

Parameter Beschreibung Beispiel
stage Zu durchsuchende d.3-Stage 'dev'
propertyID Filterparameter, optional
ID der Eigenschaft in der Datenbank
'c84c89c6-a5ac-4e77-a719-6cad29b74906'
displayName Filterparameter, optional
Anzeigename der Eigenschaft
'Personalnummer'
databasePosition Filterparameter, optional
Datenbankposition der Eigenschaft
12
categoryKey Filterparameter, optional
ID der übergeordneten Kategorie im d.3
'XAPER'
propertyKey Filterparameter, optional
ID der Eigenschaft im d.3, stage-spezifisch
47

Rückgabewert

Datentyp Beschreibung
Property oder
undefined
Gefundene Eigenschaft entsprechend der Filterparameter oder
undefined, wenn keine Eigenschaft gefunden wurde

Laden aller Eigenschaften zu einer Kategorie

const properties = await mapping.getPropertiesByCategory(stage, categoryID, categoryKey, displayName);

Lädt alle Eigenschaften, die zu einer (anhand der Filterparameter definierten) Kategorie gehören.

Funktionsparameter

Parameter Beschreibung Beispiel
stage Zu durchsuchende d.3-Stage 'dev'
categoryID Filterparameter, optional
ID der Kategorie in der Datenbank
'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKey Filterparameter, optional
ID der Kategorie im d.3
'XAPER'
displayName Filterparameter, optional
Anzeigename der Kategorie
'Personalakte'

Rückgabewert

Datentyp Beschreibung
Property[] oder
[] oder
undefined
Gefundene Eigenschaften innerhalb der Kategorie oder
undefined, wenn keine Kategorie gefunden wurde

Exceptions

Titel Beschreibung Lösung
Stage is not available Es wurde eine nicht vorhandene Stage übergeben. Übergabe einer verfügbaren Stage (aktuell dev, qas, version, prod).
No params found, provide at least one param to search for Es wurden keine Filterparameter übergeben. Übergabe mindestens eines Filterparameters.
CategoryKey and DatabasePosition are required in order to search by them Es wurde eine Kategorie, aber kein Datenbankfeld (oder umgekehrt) übergeben. Übergabe von Kategorie-Key und Datenbankposition oder Übergabe keines dieser Parameter.
Database was not initialized Die Datenbank wurde vor der Nutzung nicht initialisiert. Aufruf von mapping.initDatabase(accessKeyID, secretAccessKey); zu Beginn

Readme

Keywords

none

Package Sidebar

Install

npm i @ablegroup/propertymapping

Weekly Downloads

0

Version

1.0.8

License

ISC

Unpacked Size

30.2 kB

Total Files

8

Last publish

Collaborators

  • ablegroup