fix: preserve datasource name

Modify the code creating juggler DataSource objects to correctly
forward the datasource name provided by the user.
This commit is contained in:
Kevin Scroggins 2017-12-15 17:32:22 -05:00 committed by Miroslav Bajtoš
parent 72d48c3bfa
commit ab791fc258
No known key found for this signature in database
GPG Key ID: 6F2304BA9361C7E3
2 changed files with 7 additions and 7 deletions

View File

@ -505,21 +505,21 @@ function dataSourcesFromConfig(name, config, connectorRegistry, registry) {
'can not create data source without config object');
if (typeof config.connector === 'string') {
name = config.connector;
if (connectorRegistry[name]) {
config.connector = connectorRegistry[name];
const connectorName = config.connector;
if (connectorRegistry[connectorName]) {
config.connector = connectorRegistry[connectorName];
} else {
connectorPath = path.join(__dirname, 'connectors', name + '.js');
connectorPath = path.join(__dirname, 'connectors', connectorName + '.js');
if (fs.existsSync(connectorPath)) {
config.connector = require(connectorPath);
}
}
if (config.connector && typeof config.connector === 'object' && !config.connector.name)
config.connector.name = name;
config.connector.name = connectorName;
}
return registry.createDataSource(config);
return registry.createDataSource(name, config);
}
function configureModel(ModelCtor, config, app) {

View File

@ -787,7 +787,7 @@ describe('app', function() {
it('looks up the connector in `app.connectors`', function() {
app.connector('custom', loopback.Memory);
app.dataSource('custom', {connector: 'custom'});
expect(app.dataSources.custom.name).to.equal(loopback.Memory.name);
expect(app.dataSources.custom.name).to.equal('custom');
});
it('adds data source name to error messages', function() {