В настоящее время я пытаюсь подключить свое внешнее приложение Ionic к моему внутреннему приложению Node.js. Связь между приложениями была проверена ранее и уже развернута в Azure (которая также работает там). Однако я пытаюсь исправить ошибку во внешнем интерфейсе, но не могу войти в систему, когда запрашиваю свои учетные данные для входа в локальную базу данных через бэкэнд.
Сначала я попытался запустить свой бэкэнд (localhost: 3000 / app / login) с помощью Postman с запросом post, содержащим адрес электронной почты и пароль в теле запроса.
{ email: "email address here", password: "password" }
Код бэкэнда читает объект и пытается создать запрос для определения местоположения пользователя в базе данных. Тем не менее, мой запрос где-то не удается, и я получаю сообщение об ошибке:
TypeError: Cannot read property 'getParameters' of undefined
at SelectQueryBuilder.QueryBuilder.createFromAlias (C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\query-builder\QueryBuilder.ts:546:52)
at SelectQueryBuilder.from (C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\query-builder\SelectQueryBuilder.ts:180:32)
at Object.<anonymous> (C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\controller\User.ts:24:14)
at step (C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\controller\User.ts:32:23)
at Object.next (C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\controller\User.ts:13:53)
at C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\controller\User.ts:7:71
at new Promise (<anonymous>)
at __awaiter (C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\controller\User.ts:3:12)
at Object.GetUser [as action] (C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\controller\User.ts:46:12)
at C:\Users\1579639\Desktop\Airline Mobile App\atubsu-airlinecogni-server\src\app.ts:27:19
(node:6920) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
Вот моя асинхронная функция для запросов пользователя.
export async function GetUser(request: Request, response: Response) {
try {
console.log(request.body.email);
const login_query = await getManager().createQueryBuilder()
.select([
"user.id",
"user.email",
"user.verified_number",
"user.passenger_",
"passenger.first_name",
"passenger.last_name",
"passenger.dob"
])
.from(Users, "user")
.leftJoin(Passengers, "passenger", "user.passenger_ = passenger.id")
.where("user.email = '" + request.body.email + "'")
.andWhere("user.password = '" + request.body.password + "'")
.getOne();
response.send(login_query);
} catch (error) {
response.send({ data: 'unsuccessful' });
}
}
Этот пользовательский запрос для входа в систему работает в Azure, но когда я тестирую локально, я получаю сообщение об ошибке выше. Я пытался найти похожие ошибки, но свойство 'getParameters'
никогда не упоминалось. Это также не то, что мы имеем в нашем коде, поэтому я думаю, что это какая-то скрытая ошибка.
Если кто-нибудь знает решение этой проблемы, я был бы очень признателен!
РЕДАКТИРОВАТЬ: опубликована полная ошибка