fix: handled operator db call errors

This commit is contained in:
Rushil Umaretiya 2023-03-06 09:34:24 -05:00
parent a38b84a84c
commit 4bf903eede

View File

@ -7,36 +7,45 @@ dotenv.config();
const app = Router(); const app = Router();
app.post("/", async (req, res) => { app.post("/", async (req, res) => {
try {
const operator = await db.operator.create({ const operator = await db.operator.create({
data: { data: {
name: req.body.name, name: req.body.name,
phoneNumber: req.body.phoneNumber, phoneNumber: req.body.phoneNumber,
email: req.body.email email: req.body.email,
},
});
} catch (e) {
console.log(e);
res.status(500).send("Operator creation failed.");
} }
})
return res.status(200).json({ return res.status(200).json({
operator operator,
}) });
}); });
app.post("/update", async (req, res) => { app.post("/update", async (req, res) => {
const {authorized, webSession} = await authorize(req, res) const { authorized, webSession } = await authorize(req, res);
if(!authorized) return res.status(401).send(null) if (!authorized) return res.status(401).send(null);
try {
const operator = await db.operator.update({ const operator = await db.operator.update({
where: { where: {
id: webSession.operatorId id: webSession.operatorId,
}, },
data: { data: {
phoneNumber: req.body.phone phoneNumber: req.body.phone,
},
});
} catch (e) {
console.log(e);
return res.status(500).send("Operator update failed.");
} }
})
return res.status(200).json({ return res.status(200).json({
operator operator,
}) });
}) });
app.post("/login", async (req, res) => { app.post("/login", async (req, res) => {
const email = req.body.session.user.email; const email = req.body.session.user.email;
@ -46,49 +55,53 @@ app.post("/login", async (req, res) => {
let operator = await db.operator.findUnique({ let operator = await db.operator.findUnique({
where: { where: {
email: email, email: email,
} },
}) });
if(!operator){ if (!operator) {
try {
operator = await db.operator.create({ operator = await db.operator.create({
data: { data: {
name: name, name: name,
email: email email: email,
},
});
} catch (e) {
console.log(e);
return res.status(500).send("Operator creation failed.");
} }
})
} }
let webSession = await db.webSession.findUnique({ let webSession = await db.webSession.findUnique({
where: { where: {
operatorId: operator.id operatorId: operator.id,
} },
}); });
if(!webSession){ if (!webSession) {
webSession = await db.webSession.create({ webSession = await db.webSession.create({
data: { data: {
operatorId: operator.id, operatorId: operator.id,
token: token token: token,
} },
}) });
} }
return res.status(200).json({ return res.status(200).json({
operator, operator,
webSession webSession,
}) });
}); });
app.get('/', async (req, res) => { app.get("/", async (req, res) => {
const email = req.query.email const email = req.query.email;
const operator = await db.operator.findUnique({ const operator = await db.operator.findUnique({
where: { where: {
email: email email: email,
} },
}) });
return res.status(200).json({operator}) return res.status(200).json({ operator });
}) });
export default app;
export default app