withotp installation app

master
Naidu 1 year ago
parent 998285f8fc
commit 572fea5130

@ -5,6 +5,7 @@ const { User,Counter, generateBookingId,resetCounter,generateCustomerId,ProfileP
const tankersController = require("./controllers/tankersController.js"); const tankersController = require("./controllers/tankersController.js");
const createConnectionController = require("./controllers/createConnectionController"); const createConnectionController = require("./controllers/createConnectionController");
const storeController = require("./controllers/storeController.js") const storeController = require("./controllers/storeController.js")
const boom = require("boom");
const cors = require("cors"); const cors = require("cors");
const swagger = require("./config/swagger"); const swagger = require("./config/swagger");
@ -291,24 +292,37 @@ fastify.post("/api/installotplogin", {
}, },
}, },
async handler(req, reply) { async handler(req, reply) {
const { phone, phoneVerificationCode } = req.body; try {
const phone = req.body.phone;
const phoneVerificationCode = req.body.phoneVerificationCode;
// Assuming loginUserInstall function exists and works properly const installationExists = await Install.findOne({
try{ phone: phone,
phoneVerificationCode: phoneVerificationCode,
});
const loginObject = await userController.loginUserWithOTP(req); if (installationExists) {
const filter = {
phone: phone,
phoneVerificationCode: phoneVerificationCode,
};
const update = { phoneVerified: true };
await Install.findOneAndUpdate(filter, update);
const loginObject = await userController.loginUserWithOTP(req);
if (loginObject.same) { if (loginObject.same) {
const phoneVerified = loginObject.user.phoneVerified; if (loginObject.user) {
const oneTimePasswordSetFlag = loginObject.user.oneTimePasswordSetFlag; const { user } = loginObject;
const phoneVerified = user.phoneVerified;
const oneTimePasswordSetFlag = user.oneTimePasswordSetFlag;
if (!phoneVerified) { if (!phoneVerified) {
reply.send({ reply.send({
simplydata: { simplydata: {
error: false, error: false,
phoneVerified: false, phoneVerified: false,
phone: loginObject.user.phone, phone: user.phone,
oneTimePasswordSetFlag: oneTimePasswordSetFlag, oneTimePasswordSetFlag: oneTimePasswordSetFlag,
message: "Please Verify your phone number", message: "Please Verify your phone number",
}, },
@ -318,7 +332,7 @@ fastify.post("/api/installotplogin", {
simplydata: { simplydata: {
error: false, error: false,
phoneVerified: phoneVerified, phoneVerified: phoneVerified,
phone: loginObject.user.phone, phone: user.phone,
oneTimePasswordSetFlag: true, oneTimePasswordSetFlag: true,
message: "Password must be reset", message: "Password must be reset",
}, },
@ -326,35 +340,35 @@ fastify.post("/api/installotplogin", {
} else { } else {
const token = fastify.jwt.sign( const token = fastify.jwt.sign(
{ {
name: loginObject.user.name, name: user.name,
}, },
'your_jwt_secret', // Replace with your actual JWT secret { expiresIn: "30d" }
{ expiresIn: '30d' }
); );
const profilePicture = await ProfilePictureInstall.findOne({ customerId: loginObject.user._id }); const profilePicture = await ProfilePictureInstall.findOne({
customerId: user._id,
});
const responsePayload = { const responsePayload = {
simplydata: { simplydata: {
error: false, error: false,
apiversion: fastify.config.APIVERSION, apiversion: fastify.config.APIVERSION,
access_token: token, access_token: token,
email: loginObject.user.emails, email: user.emails,
phone: loginObject.user.phone, phone: user.phone,
name: loginObject.user.name, name: user.name,
address1: loginObject.user.profile.address1, address1: user.profile.address1,
address2: loginObject.user.profile.address2, address2: user.profile.address2,
phoneVerified: loginObject.user.phoneVerified, phoneVerified: user.phoneVerified,
oneTimePasswordSetFlag: loginObject.user.oneTimePasswordSetFlag, oneTimePasswordSetFlag: user.oneTimePasswordSetFlag,
type: loginObject.user.profile.role, type: user.profile.role,
fcmId: loginObject.user.fcmId, fcmId: user.fcmId,
team: loginObject.user.team, team: user.team,
city:loginObject.user.city, city: user.city,
manager:loginObject.user.manager, manager: user.manager,
firstName:loginObject.user.firstName, firstName: user.firstName,
lastName:loginObject.user.lastName, lastName: user.lastName,
alternativeNumber:loginObject.user.alternativeNumber, alternativeNumber: user.alternativeNumber,
// typeasobj: JSON.parse(loginObject.user.profile.role),
}, },
}; };
@ -364,6 +378,15 @@ fastify.post("/api/installotplogin", {
reply.send(responsePayload); reply.send(responsePayload);
} }
} else {
reply.send({
simplydata: {
error: true,
code: 400,
message: "Invalid Details",
},
});
}
} else { } else {
reply.send({ reply.send({
simplydata: { simplydata: {
@ -373,8 +396,17 @@ fastify.post("/api/installotplogin", {
}, },
}); });
} }
}catch(e){ } else {
console.log('errrorrrr',e) reply.send({
armintatankdata: {
error: true,
code: 10005,
message: "10005 - Verification code entered cannot be validated.",
},
});
}
} catch (err) {
throw boom.boomify(err);
} }
}, },
}); });
@ -465,7 +497,7 @@ fastify.register(require("./routes/forTestingRoute"));
const {Storage} = require('@google-cloud/storage'); const {Storage} = require('@google-cloud/storage');
const { Supplier, profilePictureSupplier } = require("./models/supplier"); const { Supplier, profilePictureSupplier } = require("./models/supplier");
const multer = require('fastify-multer'); const multer = require('fastify-multer');
const { ProfilePictureInstall } = require("./models/store.js"); const { ProfilePictureInstall, Install } = require("./models/store.js");
fastify.register(require('fastify-formbody')); fastify.register(require('fastify-formbody'));
// fastify.register(multer.contentParser); // fastify.register(multer.contentParser);
// const multipart = require('fastify-multipart'); // const multipart = require('fastify-multipart');

Loading…
Cancel
Save