Introduce prettier

This commit is contained in:
Takeshi Kimata
2024-05-19 21:04:45 +09:00
parent cbb5993276
commit 75eeebefda
89 changed files with 872 additions and 944 deletions

View File

@@ -1,14 +1,14 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const path = require("path");
const fs = require("fs");
const defineAttachment = require("../../models/attachments");
const { DataTypes } = require("sequelize");
const path = require('path');
const fs = require('fs');
const defineAttachment = require('../../models/attachments');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Attachment = defineAttachment(sequelize, DataTypes);
router.delete("/:attachmentId", async (req, res) => {
router.delete('/:attachmentId', async (req, res) => {
const attachmentId = req.params.attachmentId;
const t = await sequelize.transaction();
@@ -16,19 +16,19 @@ module.exports = function (sequelize) {
const attachment = await Attachment.findByPk(attachmentId);
if (!attachment) {
await t.rollback();
return res.status(404).send("Attachment not found");
return res.status(404).send('Attachment not found');
}
// delete file from folder
const uploadDir = path.join(__dirname, "../../public/uploads");
const uploadDir = path.join(__dirname, '../../public/uploads');
const url = attachment.path;
const fileName = url.substring(url.lastIndexOf("/") + 1);
const fileName = url.substring(url.lastIndexOf('/') + 1);
const filePath = path.join(uploadDir, fileName);
fs.unlink(filePath, (err) => {
if (err) {
console.error('Error deleting file:', err);
t.rollback();
return res.status(404).send("Attachment not found");
return res.status(404).send('Attachment not found');
}
});
@@ -38,7 +38,7 @@ module.exports = function (sequelize) {
} catch (error) {
console.error(error);
await t.rollback();
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,32 +1,32 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const path = require("path");
const fs = require("fs");
const defineAttachment = require("../../models/attachments");
const { DataTypes } = require("sequelize");
const path = require('path');
const fs = require('fs');
const defineAttachment = require('../../models/attachments');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Attachment = defineAttachment(sequelize, DataTypes);
router.get("/download/:attachmentId", async (req, res) => {
router.get('/download/:attachmentId', async (req, res) => {
const attachmentId = req.params.attachmentId;
try {
const attachment = await Attachment.findByPk(attachmentId);
if (!attachment) {
return res.status(404).send("Attachment not found");
return res.status(404).send('Attachment not found');
}
const filename = attachment.path.split("/").pop();
const filename = attachment.path.split('/').pop();
const filePath = path.join(__dirname, `../../public/uploads/${filename}`);
if (!fs.existsSync(filePath)) {
return res.status(404).json({ error: "File not found" });
return res.status(404).json({ error: 'File not found' });
}
res.download(filePath);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,18 +1,18 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const path = require("path");
const fs = require("fs");
const multer = require("multer");
const defineAttachment = require("../../models/attachments");
const defineCaseAttachment = require("../../models/caseAttachments");
const { DataTypes } = require("sequelize");
const path = require('path');
const fs = require('fs');
const multer = require('multer');
const defineAttachment = require('../../models/attachments');
const defineCaseAttachment = require('../../models/caseAttachments');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Attachment = defineAttachment(sequelize, DataTypes);
const CaseAttachment = defineCaseAttachment(sequelize, DataTypes);
// Create uploads folder if it does not exist
const uploadDir = path.join(__dirname, "../../public/uploads");
const uploadDir = path.join(__dirname, '../../public/uploads');
if (!fs.existsSync(uploadDir)) {
fs.mkdirSync(uploadDir, { recursive: true });
}
@@ -46,16 +46,16 @@ module.exports = function (sequelize) {
const upload = multer({ storage });
router.post("/", upload.array("files", 10), async (req, res) => {
router.post('/', upload.array('files', 10), async (req, res) => {
const t = await sequelize.transaction();
try {
const caseId = req.query.parentCaseId;
const files = req.files;
if (files.length === 0) {
return res.status(400).json({ error: "No files uploaded" });
return res.status(400).json({ error: 'No files uploaded' });
}
const host = req.get("host");
const host = req.get('host');
const protocol = req.protocol;
const attachmentsData = files.map((file) => ({
title: file.originalname,
@@ -75,7 +75,7 @@ module.exports = function (sequelize) {
res.json(newAttachments);
} catch (error) {
await t.rollback();
res.status(500).json({ error: "Internal server error" });
res.status(500).json({ error: 'Internal server error' });
}
});

View File

@@ -1,2 +1,2 @@
const roles = [{ uid: "admin" }, { uid: "moderator" }, { uid: "user" }];
const roles = [{ uid: 'admin' }, { uid: 'moderator' }, { uid: 'user' }];
module.exports = roles;

View File

@@ -1,14 +1,14 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineUser = require("../../models/users");
const { DataTypes } = require("sequelize");
const defineUser = require('../../models/users');
const { DataTypes } = require('sequelize');
const bcrypt = require('bcrypt');
const jwt = require('jsonwebtoken');
module.exports = function (sequelize) {
const User = defineUser(sequelize, DataTypes);
router.post("/signin", async (req, res) => {
router.post('/signin', async (req, res) => {
try {
const { email, password } = req.body;
const user = await User.findOne({
@@ -17,20 +17,20 @@ module.exports = function (sequelize) {
},
});
if (!user) {
return res.status(401).json({ error: "Authentication failed" });
return res.status(401).json({ error: 'Authentication failed' });
}
const passwordMatch = await bcrypt.compare(password, user.password);
if (!passwordMatch) {
return res.status(401).json({ error: "Authentication failed" });
return res.status(401).json({ error: 'Authentication failed' });
}
const accessToken = jwt.sign({ userId: user.id }, "your-secret-key", {
expiresIn: "1h",
const accessToken = jwt.sign({ userId: user.id }, 'your-secret-key', {
expiresIn: '1h',
});
res.status(200).json({ access_token: accessToken, user });
} catch (error) {
console.error(error);
res.status(500).send("Sign up failed");
res.status(500).send('Sign up failed');
}
});

View File

@@ -1,15 +1,15 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineUser = require("../../models/users");
const { DataTypes } = require("sequelize");
const roles = require("./roles");
const bcrypt = require("bcrypt");
const jwt = require("jsonwebtoken");
const defineUser = require('../../models/users');
const { DataTypes } = require('sequelize');
const roles = require('./roles');
const bcrypt = require('bcrypt');
const jwt = require('jsonwebtoken');
module.exports = function (sequelize) {
const User = defineUser(sequelize, DataTypes);
router.post("/signup", async (req, res) => {
router.post('/signup', async (req, res) => {
try {
const { email, password, username, avatarPath } = req.body;
const hashedPassword = await bcrypt.hash(password, 10);
@@ -17,8 +17,8 @@ module.exports = function (sequelize) {
const userCount = await User.count();
const initialRole =
userCount > 0
? roles.findIndex((entry) => entry.uid === "user")
: roles.findIndex((entry) => entry.uid === "admin");
? roles.findIndex((entry) => entry.uid === 'user')
: roles.findIndex((entry) => entry.uid === 'admin');
const user = await User.create({
email,
@@ -28,15 +28,15 @@ module.exports = function (sequelize) {
avatarPath: avatarPath,
});
const accessToken = jwt.sign({ userId: user.id }, "your-secret-key", {
expiresIn: "1h",
const accessToken = jwt.sign({ userId: user.id }, 'your-secret-key', {
expiresIn: '1h',
});
user.password = undefined;
res.status(200).json({ access_token: accessToken, user });
} catch (error) {
console.error(error);
res.status(500).send("Sign up failed");
res.status(500).send('Sign up failed');
}
});

View File

@@ -1,15 +1,15 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineCase = require("../../models/cases");
const { DataTypes } = require("sequelize");
const defineCase = require('../../models/cases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
router.post("/bulkdelete", async (req, res) => {
router.post('/bulkdelete', async (req, res) => {
const { caseIds } = req.body;
if (!caseIds || !Array.isArray(caseIds)) {
return res.status(400).send("Invalid caseIds array");
return res.status(400).send('Invalid caseIds array');
}
try {
@@ -17,7 +17,7 @@ module.exports = function (sequelize) {
res.status(204).send();
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,23 +1,23 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineCase = require("../../models/cases");
const { DataTypes } = require("sequelize");
const defineCase = require('../../models/cases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
router.delete("/:caseId", async (req, res) => {
router.delete('/:caseId', async (req, res) => {
const caseId = req.params.caseId;
try {
const testcase = await Case.findByPk(caseId);
if (!testcase) {
return res.status(404).send("Case not found");
return res.status(404).send('Case not found');
}
await testcase.destroy();
res.status(204).send();
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,20 +1,20 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineCase = require("../../models/cases");
const defineStep = require("../../models/steps");
const { DataTypes } = require("sequelize");
const defineCase = require('../../models/cases');
const defineStep = require('../../models/steps');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
const Step = defineStep(sequelize, DataTypes);
router.put("/:caseId", async (req, res) => {
router.put('/:caseId', async (req, res) => {
const caseId = req.params.caseId;
const updateCase = req.body;
try {
const testcase = await Case.findByPk(caseId);
if (!testcase) {
return res.status(404).send("Case not found");
return res.status(404).send('Case not found');
}
// if Case has Steps, update Steps as well
@@ -36,7 +36,7 @@ module.exports = function (sequelize) {
res.json(testcase);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,16 +1,16 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineCase = require("../../models/cases");
const { DataTypes } = require("sequelize");
const defineCase = require('../../models/cases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
router.get("/", async (req, res) => {
router.get('/', async (req, res) => {
const { folderId } = req.query;
if (!folderId) {
return res.status(400).json({ error: "folderId is required" });
return res.status(400).json({ error: 'folderId is required' });
}
try {
@@ -22,7 +22,7 @@ module.exports = function (sequelize) {
res.json(cases);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,17 +1,9 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineCase = require("../../models/cases");
const { DataTypes } = require("sequelize");
const defineCase = require('../../models/cases');
const { DataTypes } = require('sequelize');
const requiredFields = [
"title",
"state",
"priority",
"type",
"automationStatus",
"template",
"folderId",
];
const requiredFields = ['title', 'state', 'priority', 'type', 'automationStatus', 'template', 'folderId'];
function isEmpty(value) {
if (value === null || value === undefined) {
@@ -24,7 +16,7 @@ function isEmpty(value) {
module.exports = function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
router.post("/", async (req, res) => {
router.post('/', async (req, res) => {
try {
if (
requiredFields.some((field) => {
@@ -32,8 +24,7 @@ module.exports = function (sequelize) {
})
) {
return res.status(400).json({
error:
"Title, state, priority, type, automationStatus, template, and folderId are required",
error: 'Title, state, priority, type, automationStatus, template, and folderId are required',
});
}
@@ -65,7 +56,7 @@ module.exports = function (sequelize) {
res.json(newCase);
} catch (error) {
res.status(500).json({ error: "Internal server error" });
res.status(500).json({ error: 'Internal server error' });
}
});

View File

@@ -1,24 +1,24 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineCase = require("../../models/cases");
const defineStep = require("../../models/steps");
const defineAttachment = require("../../models/attachments");
const { DataTypes } = require("sequelize");
const defineCase = require('../../models/cases');
const defineStep = require('../../models/steps');
const defineAttachment = require('../../models/attachments');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
const Step = defineStep(sequelize, DataTypes);
const Attachment = defineAttachment(sequelize, DataTypes);
Case.belongsToMany(Step, { through: "caseSteps" });
Step.belongsToMany(Case, { through: "caseSteps" });
Case.belongsToMany(Attachment, { through: "caseAttachments" });
Attachment.belongsToMany(Case, { through: "caseAttachments" });
Case.belongsToMany(Step, { through: 'caseSteps' });
Step.belongsToMany(Case, { through: 'caseSteps' });
Case.belongsToMany(Attachment, { through: 'caseAttachments' });
Attachment.belongsToMany(Case, { through: 'caseAttachments' });
router.get("/:caseId", async (req, res) => {
router.get('/:caseId', async (req, res) => {
const caseId = req.params.caseId;
if (!caseId) {
return res.status(400).json({ error: "caseId is required" });
return res.status(400).json({ error: 'caseId is required' });
}
try {
@@ -26,7 +26,7 @@ module.exports = function (sequelize) {
include: [
{
model: Step,
through: { attributes: ["stepNo"] },
through: { attributes: ['stepNo'] },
},
{
model: Attachment,
@@ -36,7 +36,7 @@ module.exports = function (sequelize) {
return res.json(testcase);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,23 +1,23 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineFolder = require("../../models/folders");
const { DataTypes } = require("sequelize");
const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Folder = defineFolder(sequelize, DataTypes);
router.delete("/:folderId", async (req, res) => {
router.delete('/:folderId', async (req, res) => {
const folderId = req.params.folderId;
try {
const folder = await Folder.findByPk(folderId);
if (!folder) {
return res.status(404).send("Folder not found");
return res.status(404).send('Folder not found');
}
await folder.destroy();
res.status(204).send();
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,18 +1,18 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineFolder = require("../../models/folders");
const { DataTypes } = require("sequelize");
const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Folder = defineFolder(sequelize, DataTypes);
router.put("/:folderId", async (req, res) => {
router.put('/:folderId', async (req, res) => {
const folderId = req.params.folderId;
const { name, detail, projectId, parentFolderId } = req.body;
try {
const folder = await Folder.findByPk(folderId);
if (!folder) {
return res.status(404).send("Folder not found");
return res.status(404).send('Folder not found');
}
await folder.update({
name,
@@ -23,7 +23,7 @@ module.exports = function (sequelize) {
res.json(folder);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function(sequelize) {
const Folder = defineFolder(sequelize, DataTypes)
module.exports = function (sequelize) {
const Folder = defineFolder(sequelize, DataTypes);
router.get("/", async (req, res) => {
router.get('/', async (req, res) => {
const { projectId } = req.query;
if (!projectId) {
@@ -16,15 +16,15 @@ module.exports = function(sequelize) {
try {
const folders = await Folder.findAll({
where: {
projectId: projectId
}
projectId: projectId,
},
});
res.json(folders);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});
return router;
};
};

View File

@@ -1,18 +1,16 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineFolder = require("../../models/folders");
const { DataTypes } = require("sequelize");
const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Folder = defineFolder(sequelize, DataTypes);
router.post("/", async (req, res) => {
router.post('/', async (req, res) => {
try {
const { name, detail, projectId, parentFolderId } = req.body;
if (!name || !projectId) {
return res
.status(400)
.json({ error: "Name and projectId are required" });
return res.status(400).json({ error: 'Name and projectId are required' });
}
const newFolder = await Folder.create({
@@ -24,7 +22,7 @@ module.exports = function (sequelize) {
res.json(newFolder);
} catch (error) {
res.status(500).json({ error: "Internal server error" });
res.status(500).json({ error: 'Internal server error' });
}
});

View File

@@ -1,11 +1,11 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineProject = require("../../models/projects");
const defineFolder = require("../../models/folders");
const defineCase = require("../../models/cases");
const defineRun = require("../../models/runs");
const defineRunCase = require("../../models/runCases");
const { DataTypes } = require("sequelize");
const defineProject = require('../../models/projects');
const defineFolder = require('../../models/folders');
const defineCase = require('../../models/cases');
const defineRun = require('../../models/runs');
const defineRunCase = require('../../models/runCases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Project = defineProject(sequelize, DataTypes);
@@ -13,16 +13,16 @@ module.exports = function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
const Run = defineRun(sequelize, DataTypes);
const RunCase = defineRunCase(sequelize, DataTypes);
Project.hasMany(Folder, { foreignKey: "projectId" });
Folder.hasMany(Case, { foreignKey: "folderId" });
Project.hasMany(Run, { foreignKey: "projectId" });
Run.hasMany(RunCase, { foreignKey: "runId" });
Project.hasMany(Folder, { foreignKey: 'projectId' });
Folder.hasMany(Case, { foreignKey: 'folderId' });
Project.hasMany(Run, { foreignKey: 'projectId' });
Run.hasMany(RunCase, { foreignKey: 'runId' });
router.get("/:projectId", async (req, res) => {
router.get('/:projectId', async (req, res) => {
const projectId = req.params.projectId;
if (!projectId) {
return res.status(400).json({ error: "projectId is required" });
return res.status(400).json({ error: 'projectId is required' });
}
try {
@@ -36,12 +36,12 @@ module.exports = function (sequelize) {
],
});
if (!project) {
return res.status(404).send("Project not found");
return res.status(404).send('Project not found');
}
res.json(project);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,23 +1,23 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineProject = require("../../models/projects");
const { DataTypes } = require("sequelize");
const defineProject = require('../../models/projects');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Project = defineProject(sequelize, DataTypes);
router.delete("/:projectId", async (req, res) => {
router.delete('/:projectId', async (req, res) => {
const projectId = req.params.projectId;
try {
const project = await Project.findByPk(projectId);
if (!project) {
return res.status(404).send("Project not found");
return res.status(404).send('Project not found');
}
await project.destroy();
res.status(204).send();
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,18 +1,18 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineProject = require("../../models/projects");
const { DataTypes } = require("sequelize");
const defineProject = require('../../models/projects');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Project = defineProject(sequelize, DataTypes);
router.put("/:projectId", async (req, res) => {
router.put('/:projectId', async (req, res) => {
const projectId = req.params.projectId;
const { name, detail } = req.body;
try {
const project = await Project.findByPk(projectId);
if (!project) {
return res.status(404).send("Project not found");
return res.status(404).send('Project not found');
}
await project.update({
name,
@@ -21,7 +21,7 @@ module.exports = function (sequelize) {
res.json(project);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,20 +1,20 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineProject = require('../../models/projects');
const { DataTypes } = require('sequelize');
module.exports = function(sequelize) {
const Project = defineProject(sequelize, DataTypes)
module.exports = function (sequelize) {
const Project = defineProject(sequelize, DataTypes);
router.get("/", async (req, res) => {
router.get('/', async (req, res) => {
try {
const projects = await Project.findAll();
res.json(projects);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});
return router;
};
};

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineProject = require("../../models/projects");
const { DataTypes } = require("sequelize");
const defineProject = require('../../models/projects');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Project = defineProject(sequelize, DataTypes)
const Project = defineProject(sequelize, DataTypes);
router.post("/", async (req, res) => {
router.post('/', async (req, res) => {
try {
const { name, detail } = req.body;
const newProject = await Project.create({
@@ -16,7 +16,7 @@ module.exports = function (sequelize) {
res.json(newProject);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,19 +1,19 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineProject = require("../../models/projects");
const defineFolder = require("../../models/folders");
const { DataTypes } = require("sequelize");
const defineProject = require('../../models/projects');
const defineFolder = require('../../models/folders');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Project = defineProject(sequelize, DataTypes);
const Folder = defineFolder(sequelize, DataTypes);
Project.hasMany(Folder, { foreignKey: "projectId" });
Project.hasMany(Folder, { foreignKey: 'projectId' });
router.get("/:projectId", async (req, res) => {
router.get('/:projectId', async (req, res) => {
const projectId = req.params.projectId;
if (!projectId) {
return res.status(400).json({ error: "projectId is required" });
return res.status(400).json({ error: 'projectId is required' });
}
try {
@@ -25,12 +25,12 @@ module.exports = function (sequelize) {
],
});
if (!project) {
return res.status(404).send("Project not found");
return res.status(404).send('Project not found');
}
res.json(project);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRunCase = require("../../models/runCases");
const { DataTypes, Op } = require("sequelize");
const defineRunCase = require('../../models/runCases');
const { DataTypes, Op } = require('sequelize');
module.exports = function (sequelize) {
const RunCase = defineRunCase(sequelize, DataTypes);
router.post("/bulkdelete", async (req, res) => {
router.post('/bulkdelete', async (req, res) => {
const recordsToDelete = req.body;
try {
@@ -20,7 +20,7 @@ module.exports = function (sequelize) {
});
if (existingRunCases.length === 0) {
return res.status(200).send("No records found to delete");
return res.status(200).send('No records found to delete');
}
await RunCase.destroy({
@@ -32,10 +32,10 @@ module.exports = function (sequelize) {
},
});
res.status(200).send("Records deleted successfully");
res.status(200).send('Records deleted successfully');
} catch (error) {
console.error("Error deleting run cases:", error);
res.status(500).send("Internal Server Error");
console.error('Error deleting run cases:', error);
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRunCase = require("../../models/runCases");
const { DataTypes, Op } = require("sequelize");
const defineRunCase = require('../../models/runCases');
const { DataTypes, Op } = require('sequelize');
module.exports = function (sequelize) {
const RunCase = defineRunCase(sequelize, DataTypes);
router.post("/bulknew", async (req, res) => {
router.post('/bulknew', async (req, res) => {
const recordsToCreate = req.body;
try {
@@ -22,9 +22,7 @@ module.exports = function (sequelize) {
// Filter out records that already exist
const recordsToCreateFiltered = recordsToCreate.filter((record) => {
return !existingRunCases.some(
(existingRecord) =>
existingRecord.runId == record.runId &&
existingRecord.caseId == record.caseId
(existingRecord) => existingRecord.runId == record.runId && existingRecord.caseId == record.caseId
);
});
@@ -39,7 +37,7 @@ module.exports = function (sequelize) {
res.json(newRunCases);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRunCase = require("../../models/runCases");
const { DataTypes } = require("sequelize");
const defineRunCase = require('../../models/runCases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const RunCase = defineRunCase(sequelize, DataTypes);
router.delete("/", async (req, res) => {
router.delete('/', async (req, res) => {
const runId = req.query.runId;
const caseId = req.query.caseId;
@@ -20,14 +20,14 @@ module.exports = function (sequelize) {
});
if (!deletingRunCase) {
return res.status(404).send("RunCase not found");
return res.status(404).send('RunCase not found');
}
await deletingRunCase.destroy();
res.status(204).send();
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRunCase = require("../../models/runCases");
const { DataTypes } = require("sequelize");
const defineRunCase = require('../../models/runCases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const RunCase = defineRunCase(sequelize, DataTypes);
router.put("/", async (req, res) => {
router.put('/', async (req, res) => {
const runId = req.query.runId;
const caseId = req.query.caseId;
const status = req.query.status;
@@ -20,7 +20,7 @@ module.exports = function (sequelize) {
});
if (!runCase) {
return res.status(404).send("Runcase not found");
return res.status(404).send('Runcase not found');
}
await runCase.update({
@@ -31,7 +31,7 @@ module.exports = function (sequelize) {
res.json(runCase);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRunCase = require("../../models/runCases");
const defineRunCase = require('../../models/runCases');
const { DataTypes } = require('sequelize');
module.exports = function(sequelize) {
const RunCase = defineRunCase(sequelize, DataTypes)
module.exports = function (sequelize) {
const RunCase = defineRunCase(sequelize, DataTypes);
router.get("/", async (req, res) => {
router.get('/', async (req, res) => {
const { runId } = req.query;
if (!runId) {
@@ -16,15 +16,15 @@ module.exports = function(sequelize) {
try {
const runCases = await RunCase.findAll({
where: {
runId: runId
}
runId: runId,
},
});
res.json(runCases);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});
return router;
};
};

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRunCase = require("../../models/runCases");
const { DataTypes } = require("sequelize");
const defineRunCase = require('../../models/runCases');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const RunCase = defineRunCase(sequelize, DataTypes);
router.post("/", async (req, res) => {
router.post('/', async (req, res) => {
const runId = req.query.runId;
const caseId = req.query.caseId;
@@ -15,26 +15,24 @@ module.exports = function (sequelize) {
const existingRunCase = await RunCase.findOne({
where: {
runId: runId,
caseId: caseId
}
caseId: caseId,
},
});
if (existingRunCase) {
return res.status(400).send("Record already exists");
return res.status(400).send('Record already exists');
}
const newRunCase = await RunCase.create(
{
runId: runId,
caseId: caseId,
status: 0,
},
);
const newRunCase = await RunCase.create({
runId: runId,
caseId: caseId,
status: 0,
});
res.json(newRunCase);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,23 +1,23 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRun = require("../../models/runs");
const { DataTypes } = require("sequelize");
const defineRun = require('../../models/runs');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Run = defineRun(sequelize, DataTypes);
router.delete("/:runId", async (req, res) => {
router.delete('/:runId', async (req, res) => {
const runId = req.params.runId;
try {
const testrun = await Run.findByPk(runId);
if (!testrun) {
return res.status(404).send("Run not found");
return res.status(404).send('Run not found');
}
await testrun.destroy();
res.status(204).send();
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,18 +1,18 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRun = require("../../models/runs");
const { DataTypes } = require("sequelize");
const defineRun = require('../../models/runs');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Run = defineRun(sequelize, DataTypes);
router.put("/:runId", async (req, res) => {
router.put('/:runId', async (req, res) => {
const runId = req.params.runId;
const updateRun = req.body;
try {
const testrun = await Run.findByPk(runId);
if (!testrun) {
return res.status(404).send("Run not found");
return res.status(404).send('Run not found');
}
delete updateRun.Steps;
@@ -20,7 +20,7 @@ module.exports = function (sequelize) {
res.json(testrun);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,12 +1,12 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRun = require("../../models/runs");
const defineRun = require('../../models/runs');
const { DataTypes } = require('sequelize');
module.exports = function(sequelize) {
const Run = defineRun(sequelize, DataTypes)
module.exports = function (sequelize) {
const Run = defineRun(sequelize, DataTypes);
router.get("/", async (req, res) => {
router.get('/', async (req, res) => {
const { projectId } = req.query;
if (!projectId) {
@@ -16,15 +16,15 @@ module.exports = function(sequelize) {
try {
const runs = await Run.findAll({
where: {
projectId: projectId
}
projectId: projectId,
},
});
res.json(runs);
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});
return router;
};
};

View File

@@ -1,18 +1,16 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRun = require("../../models/runs");
const { DataTypes } = require("sequelize");
const defineRun = require('../../models/runs');
const { DataTypes } = require('sequelize');
module.exports = function (sequelize) {
const Run = defineRun(sequelize, DataTypes);
router.post("/", async (req, res) => {
router.post('/', async (req, res) => {
try {
const { name, configurations, description, state, projectId } = req.body;
if (!name || !projectId) {
return res
.status(400)
.json({ error: "Name and projectId are required" });
return res.status(400).json({ error: 'Name and projectId are required' });
}
const newRun = await Run.create({
@@ -25,7 +23,7 @@ module.exports = function (sequelize) {
res.json(newRun);
} catch (error) {
res.status(500).json({ error: "Internal server error" });
res.status(500).json({ error: 'Internal server error' });
}
});

View File

@@ -1,39 +1,39 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineRun = require("../../models/runs");
const defineRunCase = require("../../models/runCases");
const { DataTypes, literal } = require("sequelize");
const defineRun = require('../../models/runs');
const defineRunCase = require('../../models/runCases');
const { DataTypes, literal } = require('sequelize');
module.exports = function (sequelize) {
const Run = defineRun(sequelize, DataTypes);
const RunCase = defineRunCase(sequelize, DataTypes);
router.get("/:runId", async (req, res) => {
router.get('/:runId', async (req, res) => {
const runId = req.params.runId;
if (!runId) {
return res.status(400).json({ error: "runId is required" });
return res.status(400).json({ error: 'runId is required' });
}
try {
const run = await Run.findByPk(runId);
if (!run) {
return res.status(404).send("Run not found");
return res.status(404).send('Run not found');
}
// Counts test case status belonging to the run
const statusCounts = await RunCase.findAll({
attributes: ["status", [literal("COUNT(*)"), "count"]],
attributes: ['status', [literal('COUNT(*)'), 'count']],
where: {
runId: run.id,
},
group: ["status"],
group: ['status'],
});
res.json({ run, statusCounts });
} catch (error) {
console.error(error);
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,14 +1,14 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineStep = require("../../models/steps");
const defineCaseStep = require("../../models/caseSteps");
const { DataTypes, Op } = require("sequelize");
const defineStep = require('../../models/steps');
const defineCaseStep = require('../../models/caseSteps');
const { DataTypes, Op } = require('sequelize');
module.exports = function (sequelize) {
const Step = defineStep(sequelize, DataTypes);
const CaseStep = defineCaseStep(sequelize, DataTypes);
router.delete("/:stepId", async (req, res) => {
router.delete('/:stepId', async (req, res) => {
const stepId = req.params.stepId;
// TODO The caseId should not be specified from the front end, but should be traced from stepId by association.
const caseId = req.query.parentCaseId;
@@ -19,7 +19,7 @@ module.exports = function (sequelize) {
const step = await Step.findByPk(stepId);
if (!step) {
await t.rollback();
return res.status(404).send("Step not found");
return res.status(404).send('Step not found');
}
// Get caseStep to be deleted.
@@ -32,7 +32,7 @@ module.exports = function (sequelize) {
// Decrease stepNo for all caseSteps with greater than the caseStep to be deleted.
await CaseStep.update(
{ stepNo: sequelize.literal("stepNo - 1") },
{ stepNo: sequelize.literal('stepNo - 1') },
{
where: {
CaseId: caseId,
@@ -51,7 +51,7 @@ module.exports = function (sequelize) {
} catch (error) {
console.error(error);
await t.rollback();
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});

View File

@@ -1,14 +1,14 @@
const express = require("express");
const express = require('express');
const router = express.Router();
const defineStep = require("../../models/steps");
const defineCaseStep = require("../../models/caseSteps");
const { DataTypes, Op } = require("sequelize");
const defineStep = require('../../models/steps');
const defineCaseStep = require('../../models/caseSteps');
const { DataTypes, Op } = require('sequelize');
module.exports = function (sequelize) {
const Step = defineStep(sequelize, DataTypes);
const CaseStep = defineCaseStep(sequelize, DataTypes);
router.post("/", async (req, res) => {
router.post('/', async (req, res) => {
const newStepNo = req.query.newStepNo;
const caseId = req.query.parentCaseId;
@@ -16,13 +16,13 @@ module.exports = function (sequelize) {
try {
// Update existing stepNo for steps with stepNo greater than or equal to newStepNo
const maxStepNo = await CaseStep.max("stepNo", {
const maxStepNo = await CaseStep.max('stepNo', {
where: { caseId: caseId },
transaction: t,
});
if (maxStepNo >= newStepNo) {
await CaseStep.update(
{ stepNo: sequelize.literal("stepNo + 1") },
{ stepNo: sequelize.literal('stepNo + 1') },
{
where: {
caseId: caseId,
@@ -35,8 +35,8 @@ module.exports = function (sequelize) {
const newStep = await Step.create(
{
step: "",
result: "",
step: '',
result: '',
},
{ transaction: t }
);
@@ -55,7 +55,7 @@ module.exports = function (sequelize) {
} catch (error) {
console.error(error);
await t.rollback();
res.status(500).send("Internal Server Error");
res.status(500).send('Internal Server Error');
}
});