ADD api test
This commit is contained in:
parent
722cd440e8
commit
b7f9f07963
32
config/config-temp.txt
Normal file
32
config/config-temp.txt
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"development": {
|
||||
"username": "C##pena",
|
||||
"password": "cobalagi",
|
||||
"database": "XE",
|
||||
"host": "127.0.0.1",
|
||||
"dialect": "oracle",
|
||||
"logging": false
|
||||
},
|
||||
// "development": {
|
||||
// "username": "system",
|
||||
// "password": "welcome1",
|
||||
// "database": "pdbsoadev",
|
||||
// "host": "10.216.100.100",
|
||||
// "dialect": "oracle",
|
||||
// "logging": false
|
||||
// },
|
||||
"test": {
|
||||
"username": "root",
|
||||
"password": null,
|
||||
"database": "database_test",
|
||||
"host": "127.0.0.1",
|
||||
"dialect": "mysql"
|
||||
},
|
||||
"production": {
|
||||
"username": "root",
|
||||
"password": null,
|
||||
"database": "database_production",
|
||||
"host": "127.0.0.1",
|
||||
"dialect": "mysql"
|
||||
}
|
||||
}
|
||||
@ -1,11 +1,16 @@
|
||||
{
|
||||
"development": {
|
||||
"username": "C##pena",
|
||||
"password": "cobalagi",
|
||||
"database": "XE",
|
||||
"host": "127.0.0.1",
|
||||
"username": "system",
|
||||
"password": "welcome1",
|
||||
"database": "pdbsoadev",
|
||||
"host": "10.216.100.100",
|
||||
"dialect": "oracle",
|
||||
"logging": false
|
||||
"logging": false,
|
||||
"dialectOptions": {
|
||||
"oracle": {
|
||||
"schema": "SOA_ADM_DASHBOARD"
|
||||
}
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
"username": "root",
|
||||
|
||||
58
controller/spcoImportInfoController.js
Normal file
58
controller/spcoImportInfoController.js
Normal file
@ -0,0 +1,58 @@
|
||||
const spcoImportInfoService = require("../services/spcoImportInfoService");
|
||||
const { sequelize } = require("../models");
|
||||
|
||||
// exports.getAllImportInfo = async (req, res) => {
|
||||
// try {
|
||||
// const importInfo = await spcoImportInfoService.getAllImportInfo();
|
||||
// res.status(200).json(importInfo);
|
||||
// } catch (error) {
|
||||
// res
|
||||
// .status(500)
|
||||
// .json({ message: "Error fetching data", error: error.message });
|
||||
// }
|
||||
// };
|
||||
|
||||
exports.getAllImportInfo = async (req, res) => {
|
||||
try {
|
||||
// Ambil parameter limit dan page dari request query, atau gunakan nilai default
|
||||
const limit = parseInt(req.query.limit) || 10; // Default 10 item per page
|
||||
const page = parseInt(req.query.page) || 1; // Default halaman 1
|
||||
|
||||
const offset = (page - 1) * limit; // Hitung offset untuk pagination
|
||||
|
||||
// Panggil service dan tambahkan pagination
|
||||
const importInfo = await spcoImportInfoService.getAllImportInfo(
|
||||
limit,
|
||||
offset
|
||||
);
|
||||
|
||||
res.status(200).json({
|
||||
data: importInfo.rows, // Data yang diambil
|
||||
currentPage: page, // Halaman saat ini
|
||||
totalItems: importInfo.count, // Total data
|
||||
totalPages: Math.ceil(importInfo.count / limit), // Total halaman
|
||||
});
|
||||
} catch (error) {
|
||||
res
|
||||
.status(500)
|
||||
.json({ message: "Error fetching data", error: error.message });
|
||||
}
|
||||
};
|
||||
|
||||
exports.testRawSQL = async (req, res) => {
|
||||
try {
|
||||
// Menjalankan SQL mentah untuk melihat data dari tabel
|
||||
const results = await sequelize.query(
|
||||
"SELECT * FROM SOA_ADM_DASHBOARD.SPCO_IMPORT_INFO",
|
||||
{
|
||||
type: sequelize.QueryTypes.SELECT, // Menentukan tipe query SELECT
|
||||
}
|
||||
);
|
||||
|
||||
res.status(200).json(results); // Mengirimkan hasil query ke client
|
||||
} catch (err) {
|
||||
res
|
||||
.status(500)
|
||||
.json({ message: "Error executing raw SQL", error: err.message });
|
||||
}
|
||||
};
|
||||
@ -1,9 +0,0 @@
|
||||
const { create } = require("../services/users/create");
|
||||
|
||||
async function _create(user) {
|
||||
return await create(user);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
_create,
|
||||
};
|
||||
21
index.js
21
index.js
@ -1,22 +1,27 @@
|
||||
const port = process.env.PORT || 3000,
|
||||
express = require("express"),
|
||||
app = express(),
|
||||
db = require("./models"),
|
||||
cors = require("cors"),
|
||||
bodyParser = require("body-parser");
|
||||
const port = process.env.PORT || 3000;
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
const db = require("./models");
|
||||
const cors = require("cors");
|
||||
const bodyParser = require("body-parser");
|
||||
|
||||
// Middleware untuk CORS dan body-parser
|
||||
app.use(cors());
|
||||
app.use(bodyParser.json());
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
|
||||
app.use("/auth", require("./routes/auth"));
|
||||
const spcoImportInfoRoutes = require("./routes/spcoImportInfoRoutes");
|
||||
|
||||
app.use("/db", require("./routes/db"));
|
||||
app.use("/api", spcoImportInfoRoutes); //
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`Server is running on port ${port}`);
|
||||
});
|
||||
|
||||
db.sequelize
|
||||
.sync({ force: false })
|
||||
// .sync({ sync: true })
|
||||
.authenticate()
|
||||
.then(() => {
|
||||
console.log("Connection has been established successfully.");
|
||||
})
|
||||
|
||||
255
models/spcoImportInfoModel.js
Normal file
255
models/spcoImportInfoModel.js
Normal file
@ -0,0 +1,255 @@
|
||||
const Sequelize = require("sequelize-oracle");
|
||||
const { all } = require("sequelize-oracle/lib/promise");
|
||||
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
return sequelize.define(
|
||||
"SPCO_IMPORT_INFO",
|
||||
{
|
||||
SESSION_ID: {
|
||||
type: "NUMBER",
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
},
|
||||
CREATED_BY: {
|
||||
type: "NUMBER",
|
||||
allowNull: false,
|
||||
},
|
||||
CREATION_DATE: {
|
||||
type: Sequelize.DATEONLY,
|
||||
allowNull: false,
|
||||
},
|
||||
SEQ_NO: {
|
||||
type: "NUMBER",
|
||||
allowNull: false,
|
||||
},
|
||||
FILE_NAME: {
|
||||
type: Sequelize.STRING(500),
|
||||
},
|
||||
ACCESS_ID: {
|
||||
type: "NUMBER",
|
||||
},
|
||||
FILE_ID: {
|
||||
type: "NUMBER",
|
||||
},
|
||||
STATUS_CODE: {
|
||||
type: Sequelize.STRING(1),
|
||||
defaultValue: "N",
|
||||
},
|
||||
MODULE_CODE: {
|
||||
type: Sequelize.STRING(100),
|
||||
},
|
||||
PROCESS_CODE: {
|
||||
type: Sequelize.STRING(100),
|
||||
},
|
||||
ATTRIBUTE1: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE2: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE3: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE4: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE5: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE6: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE7: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE8: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE9: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE10: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE11: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE12: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE13: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE14: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE15: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE16: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE17: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE18: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE19: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE20: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE21: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE22: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE23: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE24: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE25: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE26: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE27: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE28: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE29: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE30: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE31: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE32: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE33: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE34: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE35: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE36: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE37: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE38: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE39: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE40: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE41: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE42: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE43: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE44: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE45: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE46: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE47: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE48: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE49: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE50: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE51: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE52: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE53: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE54: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE55: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE56: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE57: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE58: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE59: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE60: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE61: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE62: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE63: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE64: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE65: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE66: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE67: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE68: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE69: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE70: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE71: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE72: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE73: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE74: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE75: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE76: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE77: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE78: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE79: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE80: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE81: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE82: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE83: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE84: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE85: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE86: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE87: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE88: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE89: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE90: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE91: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE92: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE93: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE94: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE95: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE96: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE97: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE98: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE99: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE100: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE101: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE102: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE103: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE104: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE105: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE106: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE107: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE108: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE109: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE110: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE111: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE112: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE113: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE114: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE115: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE116: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE117: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE118: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE119: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE120: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE121: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE122: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE123: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE124: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE125: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE126: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE127: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE128: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE129: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE130: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE131: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE132: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE133: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE134: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE135: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE136: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE137: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE138: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE139: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE140: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE141: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE142: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE143: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE144: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE145: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE146: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE147: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE148: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE149: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE150: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE151: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE152: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE153: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE154: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE155: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE156: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE157: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE158: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE159: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE160: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE161: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE162: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE163: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE164: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE165: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE166: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE167: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE168: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE169: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE170: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE171: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE172: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE173: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE174: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE175: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE176: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE177: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE178: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE179: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE180: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE181: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE182: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE183: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE184: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE185: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE186: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE187: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE188: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE189: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE190: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE191: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE192: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE193: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE194: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE195: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE196: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE197: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE198: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE199: { type: Sequelize.STRING(500) },
|
||||
ATTRIBUTE200: { type: Sequelize.STRING(500) },
|
||||
},
|
||||
{
|
||||
tableName: "SPCO_IMPORT_INFO",
|
||||
underscored: true,
|
||||
paranoid: true,
|
||||
frezeTableName: true,
|
||||
timestamps: false,
|
||||
schema: "SOA_ADM_DASHBOARD",
|
||||
primaryKey: false,
|
||||
}
|
||||
);
|
||||
};
|
||||
@ -1,28 +0,0 @@
|
||||
const Sequelize = require("sequelize-oracle");
|
||||
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
return sequelize.define(
|
||||
"user",
|
||||
{
|
||||
id: {
|
||||
type: Sequelize.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true,
|
||||
},
|
||||
username: {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false,
|
||||
},
|
||||
password: {
|
||||
type: Sequelize.STRING,
|
||||
required: true,
|
||||
allowNull: false,
|
||||
len: [8, 20],
|
||||
},
|
||||
},
|
||||
{
|
||||
underscored: true,
|
||||
paranoid: true,
|
||||
}
|
||||
);
|
||||
};
|
||||
@ -1,14 +0,0 @@
|
||||
const express = require("express"),
|
||||
router = express.Router(),
|
||||
{ _create } = require("../controller/users");
|
||||
|
||||
router.post("/signup", async (req, res) => {
|
||||
try {
|
||||
const user = await _create(req.body);
|
||||
res.status(201).send(user);
|
||||
} catch (error) {
|
||||
res.status(400).send(error.message);
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
13
routes/db.js
Normal file
13
routes/db.js
Normal file
@ -0,0 +1,13 @@
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
|
||||
//check connection database
|
||||
router.get("/", async (req, res) => {
|
||||
try {
|
||||
res.status(200).send("Connection has been established successfully.");
|
||||
} catch (error) {
|
||||
res.status(400).send(error.message);
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
16
routes/spcoImportInfoRoutes.js
Normal file
16
routes/spcoImportInfoRoutes.js
Normal file
@ -0,0 +1,16 @@
|
||||
const express = require("express");
|
||||
const router = express.Router();
|
||||
const spcoImportInfoController = require("../controller/spcoImportInfoController");
|
||||
|
||||
// Route for getting all SPCO_IMPORT_INFO data return hello world
|
||||
// router.get("/spco-import-info", async (req, res) => {
|
||||
// try {
|
||||
// res.status(200).send("Hello World");
|
||||
// } catch (error) {
|
||||
// res.status(400).send(error.message);
|
||||
// }
|
||||
// });
|
||||
router.get("/spco-import-info", spcoImportInfoController.getAllImportInfo);
|
||||
router.get("/spco-import-test", spcoImportInfoController.testRawSQL);
|
||||
|
||||
module.exports = router;
|
||||
18
services/spcoImportInfoService.js
Normal file
18
services/spcoImportInfoService.js
Normal file
@ -0,0 +1,18 @@
|
||||
const { SPCO_IMPORT_INFO } = require("../models");
|
||||
|
||||
// Service to get all records
|
||||
const getAllImportInfo = async (limit, offset) => {
|
||||
try {
|
||||
// return await SPCO_IMPORT_INFO.findAll();
|
||||
return await SPCO_IMPORT_INFO.findAndCountAll({
|
||||
limit: limit,
|
||||
offset: offset,
|
||||
});
|
||||
} catch (error) {
|
||||
throw new Error("Error fetching data: " + error.message);
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
getAllImportInfo,
|
||||
};
|
||||
@ -1,17 +0,0 @@
|
||||
const db = require("../../models");
|
||||
const bcrypt = require("bcrypt");
|
||||
|
||||
async function create(user) {
|
||||
if (!user.username || !user.password) {
|
||||
throw new Error("Username and password are required");
|
||||
}
|
||||
|
||||
return await db.user.create({
|
||||
...user,
|
||||
password: bcrypt.hashSync(user.password, 10),
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
create,
|
||||
};
|
||||
Loading…
Reference in New Issue
Block a user