Я пытаюсь зарегистрировать нового пользователя в моей базе данных.Я также использую для этого избыточность.
Я запутался в том, что сообщение об ошибке указывает на проблему.Я столкнулся с ошибкой сервера 500 и следующей строкой?:
'(промежуточное значение) не является конструктором'
Чтобы дать вам более глубокое понимание того, где это может происходитьЯ вставил некоторые важные части моего кода, который инициирует эту последовательность событий, которые приводят к этому.
Вот мое действие:
accountApi.register(
email,
password,
firstName,
lastName,
(errObj, resObj) => {
if (errObj) {
return dispatch({
type: REGISTER_USER_FAILED,
payload: new Error(errObj.detail)
});
}
const { token } = resObj;
storage.save(JWT_TOKEN, token, err => {
if (err) {
return dispatch({
type: REGISTER_USER_FAILED,
payload: err
});
}
return dispatch({
type: REGISTER_USER_SUCCESS,
payload: true
});
});
}
);
Вот маршрут API:
const body = {
email,
password,
firstName,
lastName,
date: today,
};
const ROUTE = "register";
const url = BASE_ROUTE + ROUTE;
client.post({ url, body }, cb);
}
внутри API:
async function register(req, res) {
req.checkBody('email').notEmpty().isEmail();
req.checkBody('password')
.notEmpty()
.isAscii()
.isLength({ min: 8 });
req.checkBody('firstName')
.notEmpty()
.isAscii()
.isLength({ min: 3, max: 15 });
req.checkBody('lastName')
.notEmpty()
.isAscii()
.isLength({ min: 3, max: 15 });
});
const validationErrors = await req.getValidationResult();
if (!validationErrors.isEmpty()) {
return res.status(400).send(responses.validatorResponse(validationErrors));
}
const { email, password, firstName, lastName } = req.body;
const userDoc = await accountManager.register(email, password, firstName,
lastName, false);
return res.status(200).send({ token: jwtHelper.createToken(userDoc) });
}
в Accountmanger:
async function register(email, password, firstName, lastName, isAdmin) {
const associationDoc = await Association.getDocumentByEmail(email);
if (!associationDoc) {
throw new new Error('Unable to register user. User is not associated with
any organization yet.')();
}
const teamDoc = await
Team.getDefaultTeamForOrganization(associationDoc.organizationId);
const hashedPassword = account.hashPassword(password);
const data = {
firstName: firstName.toLowerCase(),
lastName: lastName.toLowerCase(),
email,
isAdmin,
fullName: `${firstName.toLowerCase()} ${lastName.toLowerCase()}`,
teamId: teamDoc._id,
hashedPassword,
registrationStatus: REGISTRATION_STATUSES.NEW_REGISTRATION,
lastSeen: dates.today(),
};
return User.create(data);
}
И внутри пользовательской модели:
async function create(data) {
return new Model(data).save();
}
Я используюпочтальон для отправки вызовов API со всей необходимой информацией, но я продолжаю получать это сообщение об ошибке:
(промежуточное значение) не является конструктором