npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@ablegroup/propertymapping

v1.0.8

Published

Utility to load mapping from DynamoDB

Downloads

31

Readme

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, optionalID der Kategorie in der Datenbank | 'c84c89c6-a5ac-4e77-a719-6cad29b74906' | | categoryKey | Filterparameter, optionalID der Kategorie im d.3 |'XAPER' | | displayName | Filterparameter, optionalAnzeigename 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, optionalID der Kategorie in der Datenbank | 'c84c89c6-a5ac-4e77-a719-6cad29b74906' | | categoryKey | Filterparameter, optionalID der Kategorie im d.3 |'XAPER' | | displayName | Filterparameter, optionalAnzeigename 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, optionalID der Kategorie in der Datenbank | 'c84c89c6-a5ac-4e77-a719-6cad29b74906' | | categoryKey | Filterparameter, optionalID der Kategorie im d.3 |'XAPER' | | displayName | Filterparameter, optionalAnzeigename 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, optionalID der Eigenschaft in der Datenbank | 'c84c89c6-a5ac-4e77-a719-6cad29b74906' | | displayName | Filterparameter, optionalAnzeigename der Eigenschaft |'Personalnummer' | | databasePosition | Filterparameter, optionalDatenbankposition der Eigenschaft | 12| | categoryKey | Filterparameter, optionalID der übergeordneten Kategorie im d.3 | 'XAPER'| | propertyKey | Filterparameter, optionalID 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, optionalID der Kategorie in der Datenbank | 'c84c89c6-a5ac-4e77-a719-6cad29b74906' | | categoryKey | Filterparameter, optionalID der Kategorie im d.3 |'XAPER' | | displayName | Filterparameter, optionalAnzeigename 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