Skip to content

Commit

Permalink
Changes to garage, userVehicles, & updateMaintenanceHistory
Browse files Browse the repository at this point in the history
  • Loading branch information
Delaney H committed Apr 14, 2024
1 parent a6c4ee2 commit 25f5612
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 25 deletions.
1 change: 1 addition & 0 deletions backend-lambda/getUserVehicles/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ export const handler = async (event) => {
}
}
);
console.log(event);
const authorization = event.headers['Authorization'];

return client.connect()
Expand Down
48 changes: 33 additions & 15 deletions backend-lambda/updateMaintenanceHistory/index.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { MongoClient, ServerApiVersion } from "mongodb";
import 'dotenv/config';
import jwt from 'jsonwebtoken';

export const handler = async (event, context) => {

Expand All @@ -12,32 +13,49 @@ export const handler = async (event, context) => {
}
}
);
const config_id = event['config_id'];
const email = event['email'];
const {
old_type, old_date, old_maintenance, old_cost,
new_type, new_date, new_maintenance, new_cost
} = event.body;
const authorization = event.headers['Authorization'];
const config_id = event['queryStringParameters'].config_id;
const data = JSON.parse(event.body);
const values = {
old_type: data.old_type,
old_date: data.old_date,
old_maintenance: data.old_maintenance,
old_cost: data.old_cost,
new_type: data.new_type,
new_date: data.new_date,
new_maintenance: data.new_maintenance,
new_cost: data.new_cost
};

return client.connect()
.then(async () => {
const token = authorization.split(" ")[1];
const verified = jwt.verify(token, process.env.JWTSecret);
if (!verified) {
return {
statusCode: 401,
body: JSON.stringify({message: "Token invalid"})
};
}
const decoded = jwt.decode(token, process.env.JWTSecret);

const database = client.db("vehicleDB");
const garage = database.collection("user_vehicle_info");
const update = await garage.updateOne(
{
email: email,
email: decoded.email,
config_id: parseInt(config_id),
"completed_maintenance.type": old_type,
"completed_maintenance.date": old_date,
"completed_maintenance.maintenance": old_maintenance,
"completed_maintenance.cost": parseInt(old_cost)
"completed_maintenance.type": values.old_type,
"completed_maintenance.date": values.old_date,
"completed_maintenance.maintenance": values.old_maintenance,
"completed_maintenance.cost": parseInt(values.old_cost)
},
{
$set: {
"completed_maintenance.$.type": new_type,
"completed_maintenance.$.date": new_date,
"completed_maintenance.$.maintenance": new_maintenance,
"completed_maintenance.$.cost": parseInt(new_cost)
"completed_maintenance.$.type": values.new_type,
"completed_maintenance.$.date": values.new_date,
"completed_maintenance.$.maintenance": values.new_maintenance,
"completed_maintenance.$.cost": parseInt(values.new_cost)
}
});
if (update.modifiedCount === 1) {
Expand Down
1 change: 1 addition & 0 deletions backend-lambda/updateMaintenanceHistory/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"dependencies": {
"dotenv": "^16.4.5",
"jsonwebtoken": "^9.0.2",
"mongodb": "^6.5.0"
}
}
22 changes: 12 additions & 10 deletions frontend/src/pages/garage/AddVehicle.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,8 @@ function AddVehicle() {
const data = await response.json();
if (data.config_id) {
setConfigId(data.config_id);
console.log("CONFIG " + data.config_id)
console.log("SELECTED VEHICLE " + selectedVehicle)
await addVehicleToUser();
} else {
console.log("No config ID found for the selected vehicle.");
Expand All @@ -152,17 +154,17 @@ function AddVehicle() {
};

const addVehicleToUser = async () => {
const myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer " + localStorage.getItem('token'));
myHeaders.append("Content-Type", "application/json");
const reqOptions = {
method: 'POST',
header: myHeaders,
body: { config_id: configId },
redirect: 'follow'
};
try {
const response = await fetch('/api/add-vehicle', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + localStorage.getItem('token')
},
body: JSON.stringify({
config_id: configId
})
});
const response = await fetch(`/api/add-vehicle?config_id=${configId}`, reqOptions);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
Expand Down

0 comments on commit 25f5612

Please sign in to comment.