Added login functionality for tech BOD-95

This commit is contained in:
Patrick Fic
2020-06-29 15:24:04 -07:00
parent 2edfadce3a
commit 0e9cc9620b
27 changed files with 552 additions and 115 deletions

View File

@@ -143,6 +143,13 @@ query QUERY_UPCOMING_APPOINTMENTS($now: timestamptz!, $jobId: uuid!) {
larhrs
scheduled_completion
}
}
} `;
`;
exports.QUERY_EMPLOYEE_PIN = `query QUERY_EMPLOYEE_PIN($shopId: uuid!, $employeeId: String!) {
employees(where: {_and: {shopid: {_eq: $shopId}, employee_number: {_eq: $employeeId}}}) {
last_name
first_name
employee_number
pin
}
}`;

49
server/tech/tech.js Normal file
View File

@@ -0,0 +1,49 @@
const client = require("../graphql-client/graphql-client").client;
const queries = require("../graphql-client/queries");
const path = require("path");
require("dotenv").config({
path: path.resolve(
process.cwd(),
`.env.${process.env.NODE_ENV || "development"}`
),
});
exports.techLogin = async (req, res) => {
const { shopid, employeeid, pin } = req.body;
console.log(
"exports.techLogin -> shopid, employeeid, password",
shopid,
employeeid,
pin
);
try {
const result = await client.request(queries.QUERY_EMPLOYEE_PIN, {
shopId: shopid,
employeeId: employeeid,
});
console.log("exports.techLogin -> result", result);
let valid = false;
let error;
let technician;
if (result.employees && result.employees[0]) {
const dbRecord = result.employees[0];
console.log("exports.techLogin -> dbRecord", dbRecord);
if (dbRecord.pin === pin) {
valid = true;
delete dbRecord.pin;
technician = dbRecord;
} else {
error = "The employee ID and PIN combination are not correct.";
}
} else {
error = "The employee ID does not exist.";
}
res.json({ valid, technician, error });
} catch (error) {
console.log("error", error);
res.status(400).send(error);
}
};