async store({ request, response }) { const { token, password } = request.only(['token', 'password']); const userToken = await Token.findByOrFail('token', token); if (isBefore(parseISO(userToken.created_at), subHours(new Date(), 2))) { return response.status(400).json({ type: 'error-time-token', msg: Antl.formatMessage('response.error-time-token'), }); } const user = await userToken.user().fetch(); user.password = password; await user.save(); return response.status(204).json({ type: 'password-reset', msg: Antl.formatMessage('response.password-reset'), }); }
subMinutes(subHours(new Date(), 2), 10), 'yyyy-MM-dd HH:ii:ss' );
static init(sequelize) { super.init( { date: Sequelize.DATE, canceled_at: Sequelize.DATE, past: { type: Sequelize.VIRTUAL, /* Returning an boolean value, verifying if the appointment didn't happen until the schedule date */ get() { return isBefore(this.date, new Date()); }, }, cancelable: { type: Sequelize.VIRTUAL, get() { return isBefore(new Date(), subHours(this.date, 1)); }, }, }, { sequelize, } ); }
const dateWithSub = subHours(order.date, 1);
async store({ request, response }) { const { token } = request.only(['token']); const userToken = await Token.findByOrFail('token', token); if (isBefore(parseISO(userToken.created_at), subHours(new Date(), 36000))) { return response.status(400).json({ type: 'error-time-token', msg: Antl.formatMessage('response.error-time-token'), }); } const user = await userToken.user().fetch(); user.email_confirmed = true; await user.save(); return response.status(204).json({ type: 'email-confirmed', msg: Antl.formatMessage('response.email-confirmed'), user, }); }