1.0.8 • Published 2 years ago

@ablegroup/propertymapping v1.0.8

Weekly downloads
12
License
ISC
Repository
github
Last release
2 years ago

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

VariableDatentypBeschreibung
categoryIDStringDurch die Datenbank vergebene UUID einer Kategorie
categoryKeyStringID einer Kategorie im d.3
displaynameStringAnzeigename einer Kategorie im d.3
writeAccessbooleanBerechtigung für User Werte zu ändern
childrenString[]Liste der Kindkategorien (anhand des categoryKey)
parentStringElternkategorie (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

VariableDatentypBeschreibung
propertyIDStringDurch die Datenbank vergebene UUID einer Eigenschaft
displaynameStringAnzeigename einer Eigenschaft im d.3
databasePositionNumberDatenbankposition im d.3, abhängig von der Kategorie
categoryKeyStringID der übergeordneten Kategorie im d.3
mandatorybooleanPflichtfeld
modifiablebooleanBerechtigung für User Werte zu ändern
propertyKeyNumberID einer Eigenschaft im d.3, stage-abhängig

Methoden

Initialisierung der Datenbank

mapping.initDatabase(accessKeyID, secretAccessKey);

Funktionsparameter

ParameterBeschreibung
accessKeyIDID des Access Keys des zu nutzenden AWS-Accounts
secretAccessKeySecret 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

ParameterBeschreibungBeispiel
stageZu durchsuchende d.3-Stage'dev'

Rückgabewert

DatentypBeschreibung
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

ParameterBeschreibungBeispiel
stageZu durchsuchende d.3-Stage'dev'
categoryIDFilterparameter, optionalID der Kategorie in der Datenbank'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKeyFilterparameter, optionalID der Kategorie im d.3'XAPER'
displayNameFilterparameter, optionalAnzeigename der Kategorie'Personalakte'

Rückgabewert

DatentypBeschreibung
Category oder undefinedGefundene 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

ParameterBeschreibungBeispiel
stageZu durchsuchende d.3-Stage'dev'
categoryIDFilterparameter, optionalID der Kategorie in der Datenbank'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKeyFilterparameter, optionalID der Kategorie im d.3'XAPER'
displayNameFilterparameter, optionalAnzeigename der Kategorie'Personalakte'

Rückgabewert

DatentypBeschreibung
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

ParameterBeschreibungBeispiel
stageZu durchsuchende d.3-Stage'dev'
categoryIDFilterparameter, optionalID der Kategorie in der Datenbank'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKeyFilterparameter, optionalID der Kategorie im d.3'XAPER'
displayNameFilterparameter, optionalAnzeigename der Kategorie'Personalakte'

Rückgabewert

DatentypBeschreibung
Category oder undefinedGefundene 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

ParameterBeschreibungBeispiel
stageZu durchsuchende d.3-Stage'dev'

Rückgabewert

DatentypBeschreibung
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

ParameterBeschreibungBeispiel
stageZu durchsuchende d.3-Stage'dev'
propertyIDFilterparameter, optionalID der Eigenschaft in der Datenbank'c84c89c6-a5ac-4e77-a719-6cad29b74906'
displayNameFilterparameter, optionalAnzeigename der Eigenschaft'Personalnummer'
databasePositionFilterparameter, optionalDatenbankposition der Eigenschaft12
categoryKeyFilterparameter, optionalID der übergeordneten Kategorie im d.3'XAPER'
propertyKeyFilterparameter, optionalID der Eigenschaft im d.3, stage-spezifisch47

Rückgabewert

DatentypBeschreibung
Property oder undefinedGefundene 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

ParameterBeschreibungBeispiel
stageZu durchsuchende d.3-Stage'dev'
categoryIDFilterparameter, optionalID der Kategorie in der Datenbank'c84c89c6-a5ac-4e77-a719-6cad29b74906'
categoryKeyFilterparameter, optionalID der Kategorie im d.3'XAPER'
displayNameFilterparameter, optionalAnzeigename der Kategorie'Personalakte'

Rückgabewert

DatentypBeschreibung
Property[] oder [] oder undefinedGefundene Eigenschaften innerhalb der Kategorie oder undefined, wenn keine Kategorie gefunden wurde

Exceptions

TitelBeschreibungLösung
Stage is not availableEs 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 forEs wurden keine Filterparameter übergeben.Übergabe mindestens eines Filterparameters.
CategoryKey and DatabasePosition are required in order to search by themEs wurde eine Kategorie, aber kein Datenbankfeld (oder umgekehrt) übergeben.Übergabe von Kategorie-Key und Datenbankposition oder Übergabe keines dieser Parameter.
Database was not initializedDie Datenbank wurde vor der Nutzung nicht initialisiert.Aufruf von mapping.initDatabase(accessKeyID, secretAccessKey); zu Beginn
1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago