From ccf4d0eab709985caf5cfd82ec01056598e37451 Mon Sep 17 00:00:00 2001 From: Jonathan Barrow Date: Sat, 1 Oct 2022 17:37:03 -0400 Subject: [PATCH] Add password reset NNID endpoint --- src/services/nnid/routes/support.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/services/nnid/routes/support.js b/src/services/nnid/routes/support.js index 4b808a7..d63fea3 100644 --- a/src/services/nnid/routes/support.js +++ b/src/services/nnid/routes/support.js @@ -116,4 +116,33 @@ router.get('/resend_confirmation', async (request, response) => { response.status(200).send(''); }); +/** + * [GET] + * Replacement for: https://account.nintendo.net/v1/api/support/forgotten_password/PID + * Description: Sends the user a password reset email + * NOTE: On NN this was a temp password that expired after 24 hours. We do not do that + */ +router.get('/forgotten_password/:pid', async (request, response) => { + const { pid } = request.params; + + const pnid = await database.getUserByPID(pid); + + if (!pnid) { + // TODO - Better errors + return response.status(400).send(xmlbuilder.create({ + errors: { + error: { + cause: 'device_id', + code: '0113', + message: 'Unauthorized device' + } + } + }).end()); + } + + await util.sendForgotPasswordEmail(pnid); + + response.status(200).send(''); +}); + module.exports = router; \ No newline at end of file