Я использую Loopback для доступа / обновления / внесения изменений в мою базу данных.Я создал метод deleteSingleHearingTest в своей папке common / models:
Account.deleteSingleHearingTest = function (req, callback) {
console.log('accounts.js: deleteSingleHearingTest: are we being reached????', req)
Account.findById(req.accessToken.userId)
.then(account => {
if (!account) {
throw new Error('Cannot find user');
}
console.log('account.js: deleteSingleHearingTest: req: ', req);
return app.models.HearingTest.updateAll({ accountId: account.id, id: req.body.hearingTestId }, { isDeleted: new Date() });
})
.then(() => {
callback(null);
})
.catch(error => {
callback(error);
});
}
, после чего я создал удаленный метод:
Account.remoteMethod(
'deleteSingleHearingTest', {
http: {
path: '/deleteSingleHearingTest',
verb: 'post'
},
accepts: [
{ arg: 'req', type: 'object', http: { source: 'req' } }
],
returns: { "wtf": "wtf" }
});
Когда я пытаюсь использовать это через fetch внутриметод deleteSingleHearingTest в моей папке действий (redux) Я получаю сообщение об ошибке состояния 401:
export const deleteSingleHearingTest = (hearingTestNumber) => {
return (dispatch, getState) => {
let state = getState();
if (!state.user || !state.user.accessToken || !state.user.accessToken.id || !state.user.accessToken.userId) {
console.debug('writeTestResult', state.user);
// TODO: ERROR
return;
}
dispatch({
type: DELETE_SINGLE_REPORT_REQUEST
});
console.log('here is your access token', state.user.accessToken);
fetch(SERVERCONFIG.BASEURL + '/api/Accounts/deleteSingleHearingTest?access_token=' + state.user.accessToken.id, {
method: 'POST',
headers: SERVERCONFIG.HEADERS,
body: JSON.stringify({ "hearingTestId": hearingTestNumber })
})
.then(response => {
if (response.status === 200) {
console.log('actions/user.js deleteSingleReport were in the pipe 5x5', response.json());
}
console.log('actions/user.js failed to delete item: response: ', response)
})
}
};
Две ошибки, которые я замечаю:
1. Account.deleteSingleHearingTest никогда не достигается.Я знаю это, потому что console.log никогда не появляется в окне, где я запускал узел.
Я получаю сообщение об ошибке состояния 401 на внешнем интерфейсе.
Вот изображение моего графического интерфейса StrongLoop.
Вот изображение моего файла account.json
Вот изображение метода, созданного предыдущим разработчиком, который в настоящее время работает без ошибок состояния.deleteSingleHearingTest практически идентичен.
