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:
parent
72d48c3bfa
commit
ab791fc258
|
@ -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) {
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue