Skip to content

Commit

Permalink
Script/route for automating slot data creation for 3 days
Browse files Browse the repository at this point in the history
  • Loading branch information
Yug-Oswal committed Sep 18, 2023
1 parent ea0a8c6 commit cc54c37
Show file tree
Hide file tree
Showing 8 changed files with 146 additions and 111 deletions.
18 changes: 18 additions & 0 deletions runscript.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

docker build -t lasertag-backend .
# Start your containers with docker-compose
docker-compose up -d

# Wait for all containers to be healthy (customize as needed)
docker-compose ps | grep ' Up ' | wc -l | while read -r count; do
if [ "$count" -lt $(docker-compose ps | grep ' Up ' | wc -l) ]; then
sleep 1
else
break
fi
done

# Run your post-startup commands here
echo "All containers are up and running. Running post-startup commands..."

101 changes: 0 additions & 101 deletions src/controllers/createdatacontroller.js

This file was deleted.

54 changes: 54 additions & 0 deletions src/controllers/createslotdatacontroller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import Slot from "../models/slotModel.js";
import catchAsync from "../helpers/catchAsync.js";
import moment from "moment-timezone";

const year = 2023;
const month = 9;
const monthDays = [22, 23, 24];
const hours = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];
const mins = [0, 10, 15, 25, 30, 40, 45, 55];
const curTimezone = 'Asia/Kolkata';
const targetTimezone = 'UTC';

const CreateSlotDataController = catchAsync(
async () => {
for (let dy of monthDays) {
let carrySlotTime = new moment.tz([year, month, dy, 8, 30, 0], curTimezone).tz(targetTimezone).toDate();
for (let hr of hours) {
for (let mn = 0; mn < mins.length; mn += 2) {
let startTime = new moment.tz([year, month, dy, hr, mins[mn], 0], curTimezone).tz(targetTimezone).toDate();
let endTime = new moment.tz([year, month, dy, hr, mins[mn + 1], 0], curTimezone).tz(targetTimezone).toDate();
let day = 1;
let isCarry = false;
if (dy == 22) {
day = 1;
}
else if (dy == 23) {
day = 2;
}
else {
day = 3;
}
if (hr == 8) {
if (startTime.getTime() <= carrySlotTime.getTime()) {
isCarry = true;
}
}

let newSlot = {
startTime: startTime,
endTime: endTime,
day: day,
isCarry: isCarry
};

Slot.create([newSlot])
.catch((err) => {
console.log(`Slot unable to be created: ${err}`);
});
}
}
}
});

export default CreateSlotDataController;
54 changes: 54 additions & 0 deletions src/controllers/createuserdatacontroller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import Slot from "../models/slotModel.js";
import User from "../models/userModel.js";
import catchAsync from "../helpers/catchAsync.js";
import Logger from "../initializers/logger.js";
import moment from "moment-timezone";

const CreateUserDataController = catchAsync(
async (req, res) => {
User.deleteMany({});
Slot.deleteMany({});
User.create([
{
regno: "22BCE2700",
phoneno: "7483555328",
email: "[email protected]",
scope: "ADMIN"
},
{
regno: "22BKT0060",
email: "[email protected]",
scope: "ADMIN"
},
{
email: "[email protected]"
},
{
email: "[email protected]"
},
{
email: "[email protected]"
},
{
email: "[email protected]"
},
{
email: "[email protected]"
},
{
email: "[email protected]"
}
])
.then((createdUser) => {
console.log("User Created: " + createdUser);
})
.catch((err) => {
console.log("Unable to create User: " + err);
});

Logger.info("Dummy data created.");
return res.status(200).json({message: "Dummy data succesfully created."});
}
);

export default CreateUserDataController;
6 changes: 4 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ import cancelslot from "./routes/cancelslot.js";
import adminslotinfo from "./routes/adminslotinfo.js";
import admincancelslot from "./routes/admincancelslot.js";
import adminassignslot from "./routes/adminassignslot.js";
import createdata from "./routes/createdata.js";
import createuserdata from "./routes/createuserdata.js";
import createslotdata from "./routes/createslotdata.js";
import cors from "cors";
import adminscan from "./routes/adminscan.js";

Expand All @@ -35,8 +36,9 @@ app.use("/cancel-slot", cancelslot);
app.use("/admin-slot-info", adminslotinfo);
app.use("/admin-cancel-slot", admincancelslot);
app.use("/admin-assign-slot", adminassignslot);
app.use("/create-data", createdata);
app.use("/create-user-data", createuserdata);
app.use("/admin-scan", adminscan);
app.use("/create-slot-data", createslotdata);

app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
Expand Down
8 changes: 0 additions & 8 deletions src/routes/createdata.js

This file was deleted.

8 changes: 8 additions & 0 deletions src/routes/createslotdata.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import express from "express";
import CreateSlotDataController from "../controllers/slotdata.js";

const createslotdata = express.Router();

createslotdata.post("/", CreateSlotDataController);

export default createslotdata;
8 changes: 8 additions & 0 deletions src/routes/createuserdata.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import express from "express";
import CreateUserDataController from "../controllers/createuserdatacontroller.js";

const createuserdata = express.Router();

createuserdata.post("/", CreateUserDataController);

export default createuserdata;

0 comments on commit cc54c37

Please sign in to comment.