chore: Unify backend express project into ESM (#281)

This commit is contained in:
kimatata
2025-09-15 22:46:46 +09:00
committed by GitHub
parent 72fd3af24f
commit 761869736e
83 changed files with 2129 additions and 2328 deletions

View File

@@ -1,11 +1,13 @@
const express = require('express');
import express from 'express';
const router = express.Router();
const { DataTypes } = require('sequelize');
const defineCase = require('../../models/cases');
import { DataTypes } from 'sequelize';
import defineCase from '../../models/cases.js';
import authMiddleware from '../../middleware/auth.js';
import editableMiddleware from '../../middleware/verifyEditable.js';
module.exports = function (sequelize) {
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromProjectId } = require('../../middleware/verifyEditable')(sequelize);
export default function (sequelize) {
const { verifySignedIn } = authMiddleware(sequelize);
const { verifyProjectDeveloperFromProjectId } = editableMiddleware(sequelize);
const Case = defineCase(sequelize, DataTypes);
router.post('/bulkdelete', verifySignedIn, verifyProjectDeveloperFromProjectId, async (req, res) => {
@@ -24,4 +26,4 @@ module.exports = function (sequelize) {
});
return router;
};
}

View File

@@ -1,13 +1,15 @@
const express = require('express');
import express from 'express';
const router = express.Router();
const { DataTypes } = require('sequelize');
const Papa = require('papaparse');
const defineCase = require('../../models/cases');
import { DataTypes } from 'sequelize';
import Papa from 'papaparse';
import defineCase from '../../models/cases.js';
import authMiddleware from '../../middleware/auth.js';
import visibilityMiddleware from '../../middleware/verifyVisible.js';
module.exports = function (sequelize) {
export default function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectVisibleFromFolderId } = require('../../middleware/verifyVisible')(sequelize);
const { verifySignedIn } = authMiddleware(sequelize);
const { verifyProjectVisibleFromFolderId } = visibilityMiddleware(sequelize);
router.get('/download', verifySignedIn, verifyProjectVisibleFromFolderId, async (req, res) => {
const { folderId, type } = req.query;
@@ -51,4 +53,4 @@ module.exports = function (sequelize) {
});
return router;
};
}

View File

@@ -1,11 +1,13 @@
const express = require('express');
import express from 'express';
const router = express.Router();
const { DataTypes } = require('sequelize');
const defineCase = require('../../models/cases');
import { DataTypes } from 'sequelize';
import defineCase from '../../models/cases.js';
import authMiddleware from '../../middleware/auth.js';
import editableMiddleware from '../../middleware/verifyEditable.js';
module.exports = function (sequelize) {
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromCaseId } = require('../../middleware/verifyEditable')(sequelize);
export default function (sequelize) {
const { verifySignedIn } = authMiddleware(sequelize);
const { verifyProjectDeveloperFromCaseId } = editableMiddleware(sequelize);
const Case = defineCase(sequelize, DataTypes);
router.put('/:caseId', verifySignedIn, verifyProjectDeveloperFromCaseId, async (req, res) => {
@@ -30,4 +32,4 @@ module.exports = function (sequelize) {
});
return router;
};
}

View File

@@ -1,14 +1,14 @@
import express from 'express';
const router = express.Router();
import { DataTypes, Op } from 'sequelize';
import defineCase from '../../models/cases';
import defineCase from '../../models/cases.js';
import authMiddleware from '../../middleware/auth.js';
import visibilityMiddleware from '../../middleware/verifyVisible';
import visibilityMiddleware from '../../middleware/verifyVisible.js';
export default function (sequelize) {
const { verifySignedIn } = authMiddleware(sequelize);
const Case = defineCase(sequelize, DataTypes);
const { verifyProjectVisibleFromFolderId } = visibilityMiddleware(sequelize);
const Case = defineCase(sequelize, DataTypes);
router.get('/', verifySignedIn, verifyProjectVisibleFromFolderId, async (req, res) => {
const { folderId, priority, type, q } = req.query;

View File

@@ -5,7 +5,7 @@ import { Sequelize, Op } from 'sequelize';
import casesIndexRoute from './index';
// mock of authentication middleware
vi.mock('../../middleware/auth', () => ({
vi.mock('../../middleware/auth.js', () => ({
default: () => ({
verifySignedIn: vi.fn((req, res, next) => {
req.userId = 1;
@@ -13,7 +13,7 @@ vi.mock('../../middleware/auth', () => ({
}),
}),
}));
vi.mock('../../middleware/verifyVisible', () => ({
vi.mock('../../middleware/verifyVisible.js', () => ({
default: () => ({
verifyProjectVisibleFromFolderId: vi.fn((req, res, next) => {
next();
@@ -25,7 +25,7 @@ vi.mock('../../middleware/verifyVisible', () => ({
const mockCase = {
findAll: vi.fn(),
};
vi.mock('../../models/cases', () => ({
vi.mock('../../models/cases.js', () => ({
default: () => mockCase,
}));

View File

@@ -1,12 +1,14 @@
const express = require('express');
import express from 'express';
const router = express.Router();
const { DataTypes } = require('sequelize');
const defineProject = require('../../models/projects');
const defineFolder = require('../../models/folders');
const defineCase = require('../../models/cases');
const defineRunCase = require('../../models/runCases');
import { DataTypes } from 'sequelize';
import defineProject from '../../models/projects.js';
import defineFolder from '../../models/folders.js';
import defineCase from '../../models/cases.js';
import defineRunCase from '../../models/runCases.js';
import authMiddleware from '../../middleware/auth.js';
import visibilityMiddleware from '../../middleware/verifyVisible.js';
module.exports = function (sequelize) {
export default function (sequelize) {
const Project = defineProject(sequelize, DataTypes);
const Folder = defineFolder(sequelize, DataTypes);
const Case = defineCase(sequelize, DataTypes);
@@ -17,8 +19,8 @@ module.exports = function (sequelize) {
Case.belongsTo(Folder, { foreignKey: 'folderId' });
Case.hasMany(RunCase, { foreignKey: 'caseId' });
RunCase.belongsTo(Case, { foreignKey: 'caseId' });
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectVisibleFromProjectId } = require('../../middleware/verifyVisible')(sequelize);
const { verifySignedIn } = authMiddleware(sequelize);
const { verifyProjectVisibleFromProjectId } = visibilityMiddleware(sequelize);
router.get('/byproject', verifySignedIn, verifyProjectVisibleFromProjectId, async (req, res) => {
const { projectId } = req.query;
@@ -51,4 +53,4 @@ module.exports = function (sequelize) {
});
return router;
};
}

View File

@@ -1,7 +1,9 @@
const express = require('express');
import express from 'express';
const router = express.Router();
const { DataTypes } = require('sequelize');
const defineCase = require('../../models/cases');
import { DataTypes } from 'sequelize';
import defineCase from '../../models/cases.js';
import authMiddleware from '../../middleware/auth.js';
import editableMiddleware from '../../middleware/verifyEditable.js';
const requiredFields = ['title', 'state', 'priority', 'type', 'automationStatus', 'template'];
@@ -13,9 +15,9 @@ function isEmpty(value) {
}
}
module.exports = function (sequelize) {
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectDeveloperFromFolderId } = require('../../middleware/verifyEditable')(sequelize);
export default function (sequelize) {
const { verifySignedIn } = authMiddleware(sequelize);
const { verifyProjectDeveloperFromFolderId } = editableMiddleware(sequelize);
const Case = defineCase(sequelize, DataTypes);
router.post('/', verifySignedIn, verifyProjectDeveloperFromFolderId, async (req, res) => {
@@ -56,4 +58,4 @@ module.exports = function (sequelize) {
});
return router;
};
}

View File

@@ -1,11 +1,13 @@
const express = require('express');
import express from 'express';
const router = express.Router();
const { DataTypes } = require('sequelize');
const defineCase = require('../../models/cases');
const defineStep = require('../../models/steps');
const defineAttachment = require('../../models/attachments');
import { DataTypes } from 'sequelize';
import defineCase from '../../models/cases.js';
import defineStep from '../../models/steps.js';
import defineAttachment from '../../models/attachments.js';
import authMiddleware from '../../middleware/auth.js';
import visibilityMiddleware from '../../middleware/verifyVisible.js';
module.exports = function (sequelize) {
export default function (sequelize) {
const Case = defineCase(sequelize, DataTypes);
const Step = defineStep(sequelize, DataTypes);
const Attachment = defineAttachment(sequelize, DataTypes);
@@ -13,8 +15,8 @@ module.exports = function (sequelize) {
Step.belongsToMany(Case, { through: 'caseSteps' });
Case.belongsToMany(Attachment, { through: 'caseAttachments' });
Attachment.belongsToMany(Case, { through: 'caseAttachments' });
const { verifySignedIn } = require('../../middleware/auth')(sequelize);
const { verifyProjectVisibleFromCaseId } = require('../../middleware/verifyVisible')(sequelize);
const { verifySignedIn } = authMiddleware(sequelize);
const { verifyProjectVisibleFromCaseId } = visibilityMiddleware(sequelize);
router.get('/:caseId', verifySignedIn, verifyProjectVisibleFromCaseId, async (req, res) => {
const caseId = req.params.caseId;
@@ -43,4 +45,4 @@ module.exports = function (sequelize) {
});
return router;
};
}