From bad8f4ccb4d5a521004ee7351535ed432c6ac6b3 Mon Sep 17 00:00:00 2001 From: Takeshi Kimata <117462761+kimatata@users.noreply.github.com> Date: Sun, 4 Feb 2024 21:32:16 +0900 Subject: [PATCH] db access by sequalize --- backend/index.js | 9 ++++++++- backend/models/projects.js | 6 ++++-- backend/routes/index.js | 2 +- backend/routes/projects/index.js | 23 +++++++++++++++++------ 4 files changed, 30 insertions(+), 10 deletions(-) diff --git a/backend/index.js b/backend/index.js index d7cf9dc..cb22fc7 100644 --- a/backend/index.js +++ b/backend/index.js @@ -1,12 +1,19 @@ const express = require('express'); +const { Sequelize } = require('sequelize'); const app = express(); +// init sequalize +const sequelize = new Sequelize({ + dialect: 'sqlite', + storage: 'database.sqlite', +}); + // "/" const indexRoute = require('./routes/index'); app.use('/', indexRoute); // "/projects" -const projectsRoute = require('./routes/projects'); +const projectsRoute = require('./routes/projects')(sequelize); app.use('/projects', projectsRoute); const PORT = process.env.PORT || 3001; diff --git a/backend/models/projects.js b/backend/models/projects.js index 2adbd57..78259ce 100644 --- a/backend/models/projects.js +++ b/backend/models/projects.js @@ -1,4 +1,4 @@ -module.exports = (sequelize, DataTypes) => { +function defineProject(sequelize, DataTypes) { const Project = sequelize.define("Project", { name: { type: DataTypes.STRING, @@ -11,4 +11,6 @@ module.exports = (sequelize, DataTypes) => { }); return Project; -}; +} + +module.exports = defineProject; diff --git a/backend/routes/index.js b/backend/routes/index.js index a31b378..5ca1411 100644 --- a/backend/routes/index.js +++ b/backend/routes/index.js @@ -3,7 +3,7 @@ const router = express.Router(); // "/" GET router.get('/', (req, res) => { - res.send('This is the main page!'); + res.send('Test Case Management API Server'); }); module.exports = router; diff --git a/backend/routes/projects/index.js b/backend/routes/projects/index.js index cdb7ca2..094806c 100644 --- a/backend/routes/projects/index.js +++ b/backend/routes/projects/index.js @@ -1,9 +1,20 @@ -const express = require('express'); +const express = require("express"); const router = express.Router(); +const defineProject = require('../../models/projects'); +const { DataTypes } = require('sequelize'); -// "/projects" GET -router.get('/', (req, res) => { - res.send('This is the projects page!'); -}); +module.exports = function(sequelize) { + router.get("/", async (req, res) => { + const Project = defineProject(sequelize, DataTypes) -module.exports = router; + try { + const projects = await Project.findAll(); + res.json(projects); + } catch (error) { + console.error(error); + res.status(500).send("Internal Server Error"); + } + }); + + return router; +}; \ No newline at end of file