2014-11-10 3 views
0

Связанный: StrongLoop: hiding method updateAttributes(), но принятый ответ не решает мою проблему.Не удается скрыть метод updateAttributes

Я воспользовался руководством Get Started, чтобы получить базовую настройку приложения. В этом приложении моя единственная модель называется Pharmacy, и я хотел бы скрыть все мутирующие функции (т. Е. Удалить, обновить, создать ...) из своего REST API.

Я следую инструкциям в документации (http://docs.strongloop.com/display/public/LB/Exposing+models+over+REST#ExposingmodelsoverREST-HidingmethodsandRESTendpoints). Хотя я могу скрыть статические функции просто отлично, метод updateAttributes все еще отображается независимо от того, что я делаю.

Я поместил свою скрытую логику в общем/models/pharmacy.js. Размещение в сервере/pharmacy.js, как указано в документах, ничего не делает, поскольку файл даже не загружен.

Содержание общих/модели/pharmacy.js является:

module.exports = function(Pharmacy) { 
     Pharmacy.sharedClass.find('deleteById', true).shared = false; 
     Pharmacy.sharedClass.find('updateAttributes', false).shared = false; 
     Pharmacy.sharedClass.find('upsert', true).shared = false; 
     Pharmacy.sharedClass.find('create', true).shared = false; 
}; 

Что я делаю неправильно? Заранее спасибо!

ответ

1

Удалось решить эту проблему после очень полезного письма от разработчиков. Файл должен выглядеть так:

module.exports = function(Pharmacy) { 
     Pharmacy.disableRemoteMethod('deleteById', true); 
     Pharmacy.disableRemoteMethod('updateAttributes', false); 
     Pharmacy.disableRemoteMethod('updateAll', true); 
     Pharmacy.disableRemoteMethod('upsert', true); 
     Pharmacy.disableRemoteMethod('create', true); 
}; 
Смежные вопросы