NPM module - izara-shared: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 46: | Line 46: | ||
* {string} createdByEdgeLabel ("createdBy") | * {string} createdByEdgeLabel ("createdBy") | ||
* {string} hasEdgeLabelPrefix ("has_") | * {string} hasEdgeLabelPrefix ("has_") | ||
* {string} settingsVersionedDataTag ("Settings") | |||
== graphSharedLib.createVertexId == | == graphSharedLib.createVertexId == | ||
Line 61: | Line 62: | ||
# Concatenate ''vertexTag'' + "_" + ''vertexUniqueId'' | # Concatenate ''vertexTag'' + "_" + ''vertexUniqueId'' | ||
== graphSharedLib. | == graphSharedLib.createEdgeIdFromVertexIds == | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
Line 78: | Line 79: | ||
## ''edgeid'' = ''edgeid'' + '_' + ''objectVertexId'' | ## ''edgeid'' = ''edgeid'' + '_' + ''objectVertexId'' | ||
# return ''edgeid'' | # return ''edgeid'' | ||
== graphSharedLib.createEdgeIdFromVertexTagsAndUniqueIds == | |||
<syntaxhighlight lang="JavaScript"> | |||
/** | |||
* Creates standardized edgeId | |||
* @param {string} subjectVertexTag | |||
* @param {string} subjectVertexUniqueId | |||
* @param {string} edgeLabel | |||
* @param {string} [objectVertexTag=""] | |||
* @param {string} [objectVertexUniqueId=""] | |||
* | |||
* @returns {string} edgeId | |||
*/ | |||
</syntaxhighlight> | |||
# const ''subjectVertexId'' = graphSharedLib.createVertexId | |||
## vertexTag = ''subjectVertexTag'' | |||
## uniqueId = ''subjectVertexUniqueId'' | |||
# let ''objectVertexId'' = "" | |||
# if(objectVertexTag) | |||
## ''objectVertexId'' = graphSharedLib.createVertexId | |||
### vertexTag = ''objectVertexTag'' | |||
### uniqueId = ''objectVertexUniqueId'' | |||
# return = graphSharedLib.createEdgeIdFromVertexIds | |||
## subjectVertexId: ''subjectVertexId' | |||
## edgeLabel: ''edgeLabel'' | |||
## objectVertexId: ''objectVertexId'' | |||
== graphSharedLib.createVersionedDataVertexLabel == | |||
<syntaxhighlight lang="JavaScript"> | |||
/** | |||
* Creates standardized versionedDataVertexLabel | |||
* @param {string} subjectVertexLabel | |||
* @param {string} versionedDataTag | |||
* | |||
* @returns {string} versionedDataVertexLabel | |||
*/ | |||
</syntaxhighlight> | |||
# let ''versionedDataVertexLabel'' = ''subjectVertexLabel'' + ''versionedDataTag'' | |||
# return ''versionedDataVertexLabel'' | |||
== graphSharedLib.getVerticesByVertexLabel == | == graphSharedLib.getVerticesByVertexLabel == | ||
Line 173: | Line 217: | ||
# .. | # .. | ||
== graphSharedLib.getCurrentVersionedDataByVertexId == | |||
<syntaxhighlight lang="JavaScript"> | |||
/** | |||
* Find the object/target vertex for a specific edgeId | |||
* @param {string} graphServiceName | |||
* @param {string} vertexId | |||
* @param {string} versionedDataTag | |||
* | |||
* @returns {Object} vertex or null if not found | |||
*/ | |||
</syntaxhighlight> | |||
# .. needs to filter edge by currently active versioned data.. | |||
== graphSharedLib.getCurrentVersionedData == | |||
<syntaxhighlight lang="JavaScript"> | |||
/** | |||
* Returns vertex that matched the vertex id | |||
* @param {string} graphServiceName | |||
* @param {string} vertexTag | |||
* @param {string} vertexUniqueId | |||
* @param {string} versionedDataTag | |||
* | |||
* @returns {string} vertexId | |||
*/ | |||
</syntaxhighlight> | |||
# const ''subjectVertexId'' = [[NPM module - izara-shared#graphSharedLib.createVertexId]] | |||
## vertexTag: ''vertexTag'' | |||
## vertexUniqueId: ''vertexUniqueId'' | |||
#const ''versionedDataVertexLabel = [[#graphSharedLib.createVersionedDataVertexLabel]] | |||
## subjectVertexLabel: ''vertexTag'' | |||
## versionedDataTag: ''versionedDataTag'' |
Revision as of 07:59, 6 March 2021
Overview
Shared libraries used across multiple izara projects
Repository
https://bitbucket.org/stb_working/izara-shared/src/master/
Helper functions for interacting with DynamoDB resources.
/**
* Creates a string set element for use with documentClient
* @param {string[]} stringSet
*
* @returns {string} String formatted as a string set for Dynamo
*/
Helper functions for Config tables.
/**
* @param {string} configTag
* @param {string} configKey
*
* @returns {Object} returns the configValue for a single config record, or null if none found
*/
Helper functions for interacting with Neptune graph databases from any service.
constants
- {string} userGraphTag ("user")
- {string} createdByEdgeLabel ("createdBy")
- {string} hasEdgeLabelPrefix ("has_")
- {string} settingsVersionedDataTag ("Settings")
/**
* Creates vertexId from vertexTag and unique id
* @param {string} vertexTag - is the type of object
* @param {string} vertexUniqueId
*
* @returns {string} vertexId
*/
- Concatenate vertexTag + "_" + vertexUniqueId
/**
* Creates standardized edgeId
* @param {string} subjectVertexId
* @param {string} edgeLabel
* @param {string} [objectVertexId=""]
*
* @returns {string} edgeId
*/
- let edgeid = subjectVertexId + '_' + edgeLabel
- if(objectVertexId)
- edgeid = edgeid + '_' + objectVertexId
- return edgeid
/**
* Creates standardized edgeId
* @param {string} subjectVertexTag
* @param {string} subjectVertexUniqueId
* @param {string} edgeLabel
* @param {string} [objectVertexTag=""]
* @param {string} [objectVertexUniqueId=""]
*
* @returns {string} edgeId
*/
- const subjectVertexId = graphSharedLib.createVertexId
- vertexTag = subjectVertexTag
- uniqueId = subjectVertexUniqueId
- let objectVertexId = ""
- if(objectVertexTag)
- objectVertexId = graphSharedLib.createVertexId
- vertexTag = objectVertexTag
- uniqueId = objectVertexUniqueId
- objectVertexId = graphSharedLib.createVertexId
- return = graphSharedLib.createEdgeIdFromVertexIds
- subjectVertexId: subjectVertexId'
- edgeLabel: edgeLabel
- objectVertexId: objectVertexId
/**
* Creates standardized versionedDataVertexLabel
* @param {string} subjectVertexLabel
* @param {string} versionedDataTag
*
* @returns {string} versionedDataVertexLabel
*/
- let versionedDataVertexLabel = subjectVertexLabel + versionedDataTag
- return versionedDataVertexLabel
/**
* Returns all vertices that match the vertex label for the given graph
* @param {string} graphServiceName
* @param {string} vertexLabel
*
* @returns {string} vertexId
*/
- ..
/**
* Returns vertex that matched the vertex id
* @param {string} graphServiceName
* @param {string} vertexId
*
* @returns {string} vertexId
*/
- ..
/**
* Returns vertex that matched the vertex id
* @param {string} graphServiceName
* @param {string} vertexTag
* @param {string} vertexUniqueId
*
* @returns {string} vertexId
*/
- const vertexId = NPM module - izara-shared#graphSharedLib.createVertexId
- vertexTag: vertexTag
- vertexUniqueId: vertexUniqueId
- const vertex = invoke #graphSharedLib.getVertexByVertexId
- graphServiceName: graphServiceName
- vertexId: vertexId
- return vertex
/**
* Returns all edges, allowing label and property filters
* @param {string} graphServiceName
* @param {string} subjectVertexId
* @param {string} [edgeLabel=""]
* @param {object} [edgeProperties={}]
*
* @returns {string} vertexId
*/
- ..
/**
* Find related vertices and their connecting edges, including properties, allowing label and property filters
* @param {string} graphServiceName
* @param {string} subjectVertexId
* @param {string} [edgeLabel=""] - edge label to filter edges by
* @param {object} [edgeProperties={}] - edge properties to filter by, is an array of key > value pairs
* @param {object} [vertexProperties={}] - object vertex properties to filter by, is an array of key > value pairs
*
* @returns {Object[]} array of vertices and the connecting edges
*/
- ..
/**
* Find the object/target vertex for a specific edgeId
* @param {string} edgeId - edge label to filter edges by
*
* @returns {Object} vertex or null if not found
*/
- ..
/**
* Find the object/target vertex for a specific edgeId
* @param {string} graphServiceName
* @param {string} vertexId
* @param {string} versionedDataTag
*
* @returns {Object} vertex or null if not found
*/
- .. needs to filter edge by currently active versioned data..
/**
* Returns vertex that matched the vertex id
* @param {string} graphServiceName
* @param {string} vertexTag
* @param {string} vertexUniqueId
* @param {string} versionedDataTag
*
* @returns {string} vertexId
*/
- const subjectVertexId = NPM module - izara-shared#graphSharedLib.createVertexId
- vertexTag: vertexTag
- vertexUniqueId: vertexUniqueId
- const versionedDataVertexLabel = #graphSharedLib.createVersionedDataVertexLabel
- subjectVertexLabel: vertexTag
- versionedDataTag: versionedDataTag