Progressing

This commit is contained in:
Benoy Bose 2024-11-27 11:12:25 +05:30
parent da73d0cf42
commit 16ceff2f15
7 changed files with 1711 additions and 4 deletions

2
.gitignore vendored
View File

@ -1 +1,3 @@
node_modules/
*.sqlite

3
.vscode/launch.json vendored
View File

@ -11,7 +11,8 @@
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/server.js"
"program": "${workspaceFolder}/server.js",
"cwd": "${workspaceFolder}",
}
]
}

8
db.js Normal file
View File

@ -0,0 +1,8 @@
import { Sequelize } from "sequelize";
const sequelize = new Sequelize({
dialect: "sqlite",
storage: "./db.sqlite"
});
export default sequelize;

1674
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,10 @@
"license": "ISC",
"description": "",
"dependencies": {
"fastify": "^5.1.0"
"fastify": "^5.1.0",
"fastify-plugin": "^5.0.1",
"sequelize": "^6.37.5",
"sqlite3": "^5.1.7"
},
"type": "module"
}

18
plugins/sequelize.js Normal file
View File

@ -0,0 +1,18 @@
import fp from "fastify-plugin";
import sequelize from "../db.js";
async function sequelizePlugin(fastify, opts) {
try {
await sequelize.authenticate();
console.log('Database connection established successfully.');
fastify.decorate('sequelize', sequelize);
fastify.addHook('onClose', async (fastifyInstance) => {
await fastifyInstance.sequelize.close();
});
} catch (err) {
fastify.log.error(err)
process.exit(1)
}
}
export default fp(sequelizePlugin);

View File

@ -1,8 +1,11 @@
import Fastify from "fastify";
import sequelizePlugin from "./plugins/sequelize.js";
const server = Fastify({ logger: true });
server.register(sequelizePlugin);
server.get("/", async (request, reply) => {
const [results, metadata] = await server.sequelize.query('SELECT 1 + 1 AS result');
return { hello: "world" };
});
@ -11,4 +14,4 @@ try {
} catch (err) {
server.log.error(err)
process.exit(1)
}
}