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": {
|
"development": {
|
||||||
"username": "C##pena",
|
"username": "system",
|
||||||
"password": "cobalagi",
|
"password": "welcome1",
|
||||||
"database": "XE",
|
"database": "pdbsoadev",
|
||||||
"host": "127.0.0.1",
|
"host": "10.216.100.100",
|
||||||
"dialect": "oracle",
|
"dialect": "oracle",
|
||||||
"logging": false
|
"logging": false,
|
||||||
|
"dialectOptions": {
|
||||||
|
"oracle": {
|
||||||
|
"schema": "SOA_ADM_DASHBOARD"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"test": {
|
"test": {
|
||||||
"username": "root",
|
"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,
|
const port = process.env.PORT || 3000;
|
||||||
express = require("express"),
|
const express = require("express");
|
||||||
app = express(),
|
const app = express();
|
||||||
db = require("./models"),
|
const db = require("./models");
|
||||||
cors = require("cors"),
|
const cors = require("cors");
|
||||||
bodyParser = require("body-parser");
|
const bodyParser = require("body-parser");
|
||||||
|
|
||||||
|
// Middleware untuk CORS dan body-parser
|
||||||
app.use(cors());
|
app.use(cors());
|
||||||
app.use(bodyParser.json());
|
app.use(bodyParser.json());
|
||||||
app.use(bodyParser.urlencoded({ extended: false }));
|
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, () => {
|
app.listen(port, () => {
|
||||||
console.log(`Server is running on port ${port}`);
|
console.log(`Server is running on port ${port}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
db.sequelize
|
db.sequelize
|
||||||
.sync({ force: false })
|
// .sync({ sync: true })
|
||||||
|
.authenticate()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
console.log("Connection has been established successfully.");
|
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