chore: Unify backend express project into ESM (#281)
This commit is contained in:
@@ -23,4 +23,4 @@ function defineAttachment(sequelize, DataTypes) {
|
||||
return Attachment;
|
||||
}
|
||||
|
||||
module.exports = defineAttachment;
|
||||
export default defineAttachment;
|
||||
|
||||
@@ -24,4 +24,4 @@ function defineCaseAttachment(sequelize, DataTypes) {
|
||||
return CaseAttachment;
|
||||
}
|
||||
|
||||
module.exports = defineCaseAttachment;
|
||||
export default defineCaseAttachment;
|
||||
|
||||
@@ -28,4 +28,4 @@ function defineCaseStep(sequelize, DataTypes) {
|
||||
return CaseStep;
|
||||
}
|
||||
|
||||
module.exports = defineCaseStep;
|
||||
export default defineCaseStep;
|
||||
|
||||
@@ -60,4 +60,4 @@ function defineCase(sequelize, DataTypes) {
|
||||
return Case;
|
||||
}
|
||||
|
||||
module.exports = defineCase;
|
||||
export default defineCase;
|
||||
|
||||
@@ -37,4 +37,4 @@ function defineFolder(sequelize, DataTypes) {
|
||||
return Folder;
|
||||
}
|
||||
|
||||
module.exports = defineFolder;
|
||||
export default defineFolder;
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const process = require('process');
|
||||
const Sequelize = require('sequelize');
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import process from 'process';
|
||||
import Sequelize from 'sequelize';
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
const basename = path.basename(__filename);
|
||||
const env = process.env.NODE_ENV || 'development';
|
||||
const config = require(__dirname + '/../config/config.json')[env];
|
||||
import configDefault from '../config/config';
|
||||
const config = configDefault[process.env.NODE_ENV || 'development'];
|
||||
const db = {};
|
||||
|
||||
let sequelize;
|
||||
@@ -16,14 +17,15 @@ if (config.use_env_variable) {
|
||||
sequelize = new Sequelize(config.database, config.username, config.password, config);
|
||||
}
|
||||
|
||||
fs.readdirSync(__dirname)
|
||||
.filter((file) => {
|
||||
return file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js' && file.indexOf('.test.js') === -1;
|
||||
})
|
||||
.forEach((file) => {
|
||||
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
|
||||
db[model.name] = model;
|
||||
});
|
||||
const modelFiles = fs.readdirSync(__dirname).filter((file) => {
|
||||
return file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js' && file.indexOf('.test.js') === -1;
|
||||
});
|
||||
|
||||
for (const file of modelFiles) {
|
||||
const module = await import(path.join(__dirname, file));
|
||||
const model = module.default(sequelize, Sequelize.DataTypes);
|
||||
db[model.name] = model;
|
||||
}
|
||||
|
||||
Object.keys(db).forEach((modelName) => {
|
||||
if (db[modelName].associate) {
|
||||
@@ -34,4 +36,4 @@ Object.keys(db).forEach((modelName) => {
|
||||
db.sequelize = sequelize;
|
||||
db.Sequelize = Sequelize;
|
||||
|
||||
module.exports = db;
|
||||
export default db;
|
||||
|
||||
@@ -28,4 +28,4 @@ function defineMember(sequelize, DataTypes) {
|
||||
return Member;
|
||||
}
|
||||
|
||||
module.exports = defineMember;
|
||||
export default defineMember;
|
||||
|
||||
@@ -32,4 +32,4 @@ function defineProject(sequelize, DataTypes) {
|
||||
return Project;
|
||||
}
|
||||
|
||||
module.exports = defineProject;
|
||||
export default defineProject;
|
||||
|
||||
@@ -28,4 +28,4 @@ function defineRunCase(sequelize, DataTypes) {
|
||||
return RunCase;
|
||||
}
|
||||
|
||||
module.exports = defineRunCase;
|
||||
export default defineRunCase;
|
||||
|
||||
@@ -34,4 +34,4 @@ function defineRun(sequelize, DataTypes) {
|
||||
return Run;
|
||||
}
|
||||
|
||||
module.exports = defineRun;
|
||||
export default defineRun;
|
||||
|
||||
@@ -19,4 +19,4 @@ function defineStep(sequelize, DataTypes) {
|
||||
return Step;
|
||||
}
|
||||
|
||||
module.exports = defineStep;
|
||||
export default defineStep;
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
/**
|
||||
*
|
||||
* @param {import('sequelize').Sequelize} sequelize
|
||||
* @param {*} DataTypes
|
||||
* @returns
|
||||
*/
|
||||
function defineUser(sequelize, DataTypes) {
|
||||
const User = sequelize.define(
|
||||
'User',
|
||||
@@ -39,4 +33,4 @@ function defineUser(sequelize, DataTypes) {
|
||||
return User;
|
||||
}
|
||||
|
||||
module.exports = defineUser;
|
||||
export default defineUser;
|
||||
|
||||
Reference in New Issue
Block a user