Introduction of town council

This commit is contained in:
2024-08-01 03:39:11 +08:00
parent 4a8b6a0b4c
commit 68a2062365
9 changed files with 3891 additions and 4578 deletions

View File

@@ -0,0 +1,21 @@
{
"townCouncils": [
"Aljunied\u2014Hougang",
"Ang Mo Kio",
"Bishan\u2014Toa Payoh",
"Chua Chu Kang",
"East Coast",
"Holland\u2014Bukit Panjang",
"Jalan Besar",
"Jurong\u2014Clementi",
"Marine Parade",
"Marsiling\u2014Yew Tee",
"Nee Soon",
"Pasir Ris\u2014Punggol",
"Sembawang",
"Sengkang",
"Tampines",
"Tanjong Pagar",
"West Coast"
]
}

View File

@@ -40,6 +40,10 @@ module.exports = (sequelize) => {
type: DataTypes.BLOB("long"),
allowNull: true,
},
townCouncil: {
type: DataTypes.STRING(30),
allowNull: false,
},
accountType: {
type: DataTypes.TINYINT(2),
allowNull: false,

2021
server/pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,7 @@ const { sign } = require("jsonwebtoken");
const multer = require("multer");
const sharp = require("sharp");
const { sendPasswordResetEmail } = require("../connections/mailersend");
const fs = require("fs");
const {
generatePasswordResetToken,
} = require("../security/generatePasswordResetToken");
@@ -446,4 +447,25 @@ async function resetPassword(token, newPassword) {
await user.save();
}
function readTownCouncilsFile() {
try {
const data = fs.readFileSync("assets/town_councils.json", "utf8");
return data;
// const parsedData = JSON.parse(data);
// return parsedData;
} catch (err) {
console.error("Error reading JSON file:", err);
return null;
}
}
router.get("/town-councils-metadata", async (req, res) => {
try {
let result = readTownCouncilsFile();
res.json(result);
} catch {
res.status(401);
}
});
module.exports = router;