Loopback.js - скрыть свойство пароля не работает

У меня есть модель «MyUser», наследуемая от модели «User» loopback. Теперь я не хочу, чтобы эта модель выставляла свойство password, поэтому я пошел и прочитал документы:

http://docs.strongloop.com/display/public/LB/Model+definition+JSON+file#ModeldefinitionJSONfile-Excludepropertiesfrombasemodel

и

http://docs.strongloop.com/display/public/LB/Model+definition+JSON+file#ModeldefinitionJSONfile-Hiddenproperties

Однако это, похоже, не работает по какой-то причине. Я оставляю здесь код:

{
  "name": "MyUser",
  "plural": "myusers",
  "base": "User",
  "idInjection": true,
  "options": {
    "validateUpsert": true
  },
  "properties": {
    "password": null,
    "firstName": {
      "type": "string"
    },
    "lastName": {
      "type": "string"
    }
  },
  "validations": [],
  "relations": {
    "cars": {
      "type": "hasMany",
      "model": "Car"
    }
  },
  "acls": [
    {
      "accessType": "*",
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "ALLOW"
    }
  ],
  "methods": []
}

Заранее спасибо.


person danielrvt    schedule 03.08.2015    source источник


Ответы (1)


Из вашего примера видно, что вы исключаете свойство пароля, а не просто скрываете его. Свойство Hidden будет выглядеть примерно так, как в приведенном вами примере:

  "properties": {
    ...
    "password": {
      "type": "string",
      "required": true
    },
...
   "hidden": ["password"],
...
person JSimonsen    schedule 05.08.2015
comment
Если вы посмотрите на фактическую базовую конфигурацию модели пользователя, то они тоже это сделают, если ваша модель расширяет пользователя, она должна работать из коробки без необходимости переопределять свойство пароля. - person Mawcel; 24.10.2019