我有一个模型"用户":
module.exports = {
attributes: {
facebook_id: {
type: 'integer',
required: false
},
name: {
type: 'string',
required: false
},
email: {
type: 'string',
required: true,
unique: true
},
pass: {
type: 'string',
required: false
},
writer: {
model: 'writer'
},
toObject: function () {
return {
name: this.name,
id: this.id
};
}
}
};
我试图公开属性' name'并且' id'对所有用户,但我希望管理员看到所有这些,我该怎么做? 目前它只公开名称'并且' id'对每个人或仅对管理员(取决于policies.js)。
答案 0 :(得分:0)
这需要在控制器中完成。在构建休息应用程序时,我喜欢创建“RestModels”,这些对象只处理与http请求之间的映射。这里有一些很好的休息模型:
//admin rest model
module.exports = function(user){
this.writer = user.writer;
..........
}
//regular rest model
module.exports = function(user){
//only expose attributes you want
this.name = user.name;
this.id = user.id;
}
然后根据用户是管理员还是用户选择要返回的休息模型!