Make verifyUserRelations() more robust

The fix introduced in previous commit was relying on the default
merge algorighm applied when a child model inherits relation config
from the parent.

This commit changes the check to use a more reliable approach
based on the relation metadata configured by the child model.
This commit is contained in:
mcitdev 2018-07-03 08:59:13 +02:00 committed by Miroslav Bajtoš
parent cd1b31920e
commit f9e9aaa8ce
No known key found for this signature in database
GPG Key ID: 6F2304BA9361C7E3
1 changed files with 11 additions and 11 deletions

View File

@ -497,19 +497,19 @@ app._verifyAuthModelRelations = function() {
function verifyUserRelations(Model) {
const hasManyTokens = Model.relations && Model.relations.accessTokens;
const relationsConfig = Model.settings.relations || {};
const hasPolyMorphicTokens = (relationsConfig.accessTokens || {}).polymorphic;
if (hasManyTokens) {
// display a temp warning message for users using multiple users config
if (hasPolyMorphicTokens) {
if (hasManyTokens.polymorphic) {
console.warn(
'The app configuration follows the multiple user models setup ' +
'as described in http://ibm.biz/setup-loopback-auth',
'The built-in role resolver $owner is not currently compatible ' +
'with this configuration and should not be used in production.');
}
return;
}
if (hasManyTokens) return;
const relationsConfig = Model.settings.relations || {};
const accessTokenName = (relationsConfig.accessTokens || {}).model;
if (accessTokenName) {
console.warn(