@leisurelink/lla-storage
v0.0.3
Published
Module used for storing and accessing integration partner mappings
Downloads
4
Keywords
Readme
lla-mapper
Module used for storing and accessing integration partner mappings
Initialization
The mapper is a thin wrapper around mongojs built to perform CRUD operations on a single mongo collection- mappings.
To use the mapper in an application, call the init function first with the connection string for the mongo database you wish to use.
var mapper = require('lla-mapper');
mapper.init('mongodb://server:port/name');
Methods
After you've initialized the mapper, it can be required and used throughout your application. There are 4 supported calls. (One for each crud operation)
$.getMapping(key, callback)
$.insertMapping(mapping, callback)
$.updateMapping(key, mapping, callback)
$.deleteMapping(_id, callback)
Parameters
The keys and mapping used in the above calls are JSON objects with any number of properties. For keys, this simply allows you to search as precisely as you wish. Taking this approach with the mapping themselves allows adaptors to map any number of fields from one side of the integration to 1 or more for the other side, ensuring that complex mappings can be accurately captured. It is the responsibility of the adaptors to ensure that the correct format is followed and parsed for mappings relevant to that adaptor throughout, as mappings will vary from adaptor to adaptor and no standard form will be imposed as a result.
For example:
{
"integrationPartner": {
"hotel": "Fairmont Banff Springs",
"room": "202"
},
"leisureLink": {
"rentalUnitId": 555,
}
}
For the delete mapping call, it is necessary to obtain the unique row level ID (_id) for the mapping entry you wish to delete before making the call to ensure that only the row you wish to delete is removed.