first commit
This commit is contained in:
15
server/database/db.config.js
Normal file
15
server/database/db.config.js
Normal file
@ -0,0 +1,15 @@
|
||||
require("dotenv").config();
|
||||
|
||||
module.exports = {
|
||||
HOST: process.env.DB_HOST,
|
||||
USER: process.env.DB_USER,
|
||||
PASSWORD: process.env.DB_PASS,
|
||||
DB: process.env.DB_NAME,
|
||||
dialect: "mysql",
|
||||
pool: {
|
||||
max: 5,
|
||||
min: 0,
|
||||
acquire: 30000,
|
||||
idle: 10000
|
||||
}
|
||||
};
|
||||
45
server/database/index.js
Normal file
45
server/database/index.js
Normal file
@ -0,0 +1,45 @@
|
||||
const dbConfig = require('./db.config.js');
|
||||
const Sequelize = require('sequelize');
|
||||
const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {
|
||||
host: dbConfig.HOST,
|
||||
dialect: dbConfig.dialect,
|
||||
operatorsAliases: false,
|
||||
pool: {
|
||||
max: dbConfig.pool.max,
|
||||
min: dbConfig.pool.min,
|
||||
acquire: dbConfig.pool.acquire,
|
||||
idle: dbConfig.pool.idle
|
||||
}
|
||||
})
|
||||
const db = {}
|
||||
db.Sequelize = Sequelize
|
||||
db.sequelize = sequelize
|
||||
|
||||
// load models
|
||||
db.admin = require('./model/admin.model.js')(sequelize, Sequelize)
|
||||
db.login = require('./model/login_user.model.js')(sequelize, Sequelize)
|
||||
db.obat = require('./model/obat.model.js')(sequelize, Sequelize)
|
||||
db.dokter = require('./model/dokter.model.js')(sequelize, Sequelize)
|
||||
db.pasien = require('./model/pasien.model.js')(sequelize, Sequelize)
|
||||
db.tindakan = require('./model/tindakan.model.js')(sequelize, Sequelize)
|
||||
db.rekam_medis = require('./model/rekam_medis.model.js')(sequelize, Sequelize)
|
||||
|
||||
// create one to one relations between admin and login
|
||||
db.admin.hasOne(db.login, {foreignKey: {name: 'id_admin', allowNull: true}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
db.login.belongsTo(db.admin, {foreignKey: {name: 'id_admin', allowNull: true}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
|
||||
// create one to one relations between doker and login
|
||||
db.dokter.hasOne(db.login, {foreignKey: {name: 'id_dokter', allowNull: true}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
db.login.belongsTo(db.dokter, {foreignKey: {name: 'id_dokter', allowNull: true}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
|
||||
// create one to many relations between pasien and rekam_medis
|
||||
db.pasien.hasMany(db.rekam_medis, {foreignKey: {name: 'id_pasien', allowNull: false}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
db.rekam_medis.belongsTo(db.pasien, {foreignKey: {name: 'id_pasien', allowNull: false}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
|
||||
// create one to many relations between dokter and rekam_medis
|
||||
db.dokter.hasMany(db.rekam_medis, {foreignKey: {name: 'id_dokter', allowNull: false}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
db.rekam_medis.belongsTo(db.dokter, {foreignKey: {name: 'id_dokter', allowNull: false}}, {onDelete: 'CASCADE' , hooks: true , onUpdate: 'CASCADE'})
|
||||
|
||||
|
||||
module.exports = db
|
||||
// CRS-y5Vv-Xa5P-FTxTA
|
||||
26
server/database/model/admin.model.js
Normal file
26
server/database/model/admin.model.js
Normal file
@ -0,0 +1,26 @@
|
||||
module.exports = (sequalize, Sequelize) => {
|
||||
const Admin = sequalize.define("tb_admin", {
|
||||
nik: {
|
||||
type: Sequelize.STRING(16),
|
||||
primaryKey: true,
|
||||
allowNull: false,
|
||||
unique: true,
|
||||
},
|
||||
nama:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
// hehe :{
|
||||
// type: Sequelize.STRING,
|
||||
// },
|
||||
role: {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
}
|
||||
},{
|
||||
freezeTableName: true,
|
||||
tableName: 'tb_admin',
|
||||
});
|
||||
|
||||
return Admin;
|
||||
}
|
||||
34
server/database/model/dokter.model.js
Normal file
34
server/database/model/dokter.model.js
Normal file
@ -0,0 +1,34 @@
|
||||
module.exports = (sequelize, Sequelize) => {
|
||||
const Dokter = sequelize.define("tb_dokter", {
|
||||
nik:{
|
||||
type: Sequelize.STRING(16),
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
unique: true,
|
||||
},
|
||||
nama:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
alamat:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
no_telp:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
spesialis:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
jam_kerja:{
|
||||
type: Sequelize.TEXT('long'),
|
||||
}
|
||||
},{
|
||||
freezeTableName: true,
|
||||
tableName: 'tb_dokter',
|
||||
})
|
||||
|
||||
return Dokter
|
||||
}
|
||||
26
server/database/model/login_user.model.js
Normal file
26
server/database/model/login_user.model.js
Normal file
@ -0,0 +1,26 @@
|
||||
module.exports = (sequelize, Sequelize) => {
|
||||
const Login = sequelize.define("tb_login", {
|
||||
id: {
|
||||
type: Sequelize.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true
|
||||
},
|
||||
username: {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
password: {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
role : {
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
},{
|
||||
freezeTableName: true,
|
||||
tableName: 'tb_login',
|
||||
})
|
||||
|
||||
return Login;
|
||||
}
|
||||
35
server/database/model/obat.model.js
Normal file
35
server/database/model/obat.model.js
Normal file
@ -0,0 +1,35 @@
|
||||
module.exports = (sequelize, Sequelize) => {
|
||||
const Obat = sequelize.define("tb_obat", {
|
||||
id_obat:{
|
||||
type: Sequelize.INTEGER,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
autoIncrement: true
|
||||
},
|
||||
nama_obat:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
jenis:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
jumlah:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
harga:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
history:{
|
||||
type: Sequelize.TEXT("long"),
|
||||
allowNull: false
|
||||
}
|
||||
},{
|
||||
freezeTableName: true,
|
||||
tableName: 'tb_obat',
|
||||
})
|
||||
|
||||
return Obat
|
||||
}
|
||||
54
server/database/model/pasien.model.js
Normal file
54
server/database/model/pasien.model.js
Normal file
@ -0,0 +1,54 @@
|
||||
module.exports = (sequelize, Sequelize) => {
|
||||
const Pasien = sequelize.define("tb_pasien", {
|
||||
nik:{
|
||||
type: Sequelize.STRING(16),
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
unique: true,
|
||||
},
|
||||
nama:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
jenis_kelamin:{
|
||||
type: Sequelize.STRING(10),
|
||||
allowNull: false
|
||||
},
|
||||
tgl_lahir:{
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false
|
||||
},
|
||||
alamat:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
pekerjaan:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
golongan_darah:{
|
||||
type: Sequelize.STRING(3),
|
||||
},
|
||||
pendidikan:{
|
||||
type: Sequelize.STRING,
|
||||
},
|
||||
no_telp:{
|
||||
type: Sequelize.STRING(13),
|
||||
},
|
||||
status_pernikahan:{
|
||||
type: Sequelize.STRING(15),
|
||||
},
|
||||
nama_orang_tua_wali:{
|
||||
type: Sequelize.STRING,
|
||||
},
|
||||
nama_pasangan:{
|
||||
type: Sequelize.STRING,
|
||||
}
|
||||
|
||||
},{
|
||||
freezeTableName: true,
|
||||
tableName: 'tb_pasien',
|
||||
});
|
||||
|
||||
return Pasien;
|
||||
}
|
||||
39
server/database/model/rekam_medis.model.js
Normal file
39
server/database/model/rekam_medis.model.js
Normal file
@ -0,0 +1,39 @@
|
||||
module.exports = (sequelize, Sequelize) => {
|
||||
const RekamMedis = sequelize.define("tb_rekam_medis", {
|
||||
id_rekam_medis:{
|
||||
type: Sequelize.INTEGER,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
autoIncrement: true
|
||||
},
|
||||
tanggal_perikas:{
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false
|
||||
},
|
||||
diagnosa:{
|
||||
type: Sequelize.TEXT("tiny"),
|
||||
allowNull: false
|
||||
},
|
||||
keluhan:{
|
||||
type: Sequelize.TEXT("tiny"),
|
||||
allowNull: false
|
||||
},
|
||||
keterangan:{
|
||||
type: Sequelize.TEXT("tiny"),
|
||||
allowNull: false
|
||||
},
|
||||
tindakan:{
|
||||
type: Sequelize.TEXT("tiny"),
|
||||
allowNull: false
|
||||
},
|
||||
obat : {
|
||||
type: Sequelize.TEXT("tiny"),
|
||||
allowNull: false
|
||||
}
|
||||
},{
|
||||
freezeTableName: true,
|
||||
tableName: 'tb_rekam_medis',
|
||||
});
|
||||
|
||||
return RekamMedis
|
||||
}
|
||||
19
server/database/model/tindakan.model.js
Normal file
19
server/database/model/tindakan.model.js
Normal file
@ -0,0 +1,19 @@
|
||||
module.exports = (sequelize, Sequelize) => {
|
||||
const Tindakan = sequelize.define("tb_tindakan", {
|
||||
id_tindakan:{
|
||||
type: Sequelize.INTEGER,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
autoIncrement: true
|
||||
},
|
||||
nama_tindakan:{
|
||||
type: Sequelize.STRING,
|
||||
allowNull: false
|
||||
}
|
||||
},{
|
||||
freezeTableName: true,
|
||||
tableName: 'tb_tindakan',
|
||||
})
|
||||
|
||||
return Tindakan
|
||||
}
|
||||
78
server/index.js
Normal file
78
server/index.js
Normal file
@ -0,0 +1,78 @@
|
||||
const express = require('express')
|
||||
const next = require('next')
|
||||
require("dotenv").config();
|
||||
|
||||
const formData = require('express-form-data');
|
||||
const cors = require('cors');
|
||||
|
||||
|
||||
const port_http = parseInt(process.env.PORT_HTTP) || 3007
|
||||
const port_https = parseInt(process.env.PORT_HTTPS) || 3008
|
||||
const dev = process.env.NODE_ENV !== 'production'
|
||||
const app = next({ dev })
|
||||
const handle = app.getRequestHandler()
|
||||
|
||||
// database
|
||||
const db = require('./database/index.js');
|
||||
|
||||
|
||||
app.prepare().then(() => {
|
||||
const server = express()
|
||||
const http = require('http')
|
||||
const https = require('https')
|
||||
const fs = require('fs')
|
||||
|
||||
const options = {
|
||||
key: fs.readFileSync('./server/cert.key'),
|
||||
cert: fs.readFileSync('./server/cert.crt')
|
||||
}
|
||||
|
||||
// database
|
||||
db.sequelize.authenticate({ force: false }).then(() => { // if want to alter table, set alter: true after sync , if dont want to create table in start, set sync to authenticate or otherwise
|
||||
console.log('Database connected')
|
||||
// db.dokter.sync({ alter : true }) // alter table specific
|
||||
}).catch (err => {
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
|
||||
// middleware
|
||||
server.use(formData.parse());
|
||||
server.use(express.json());
|
||||
server.use(express.urlencoded({ extended: true }));
|
||||
server.options('*', cors());
|
||||
server.use(cors());
|
||||
|
||||
// import routes
|
||||
const login_router = require('./routes/login_router');
|
||||
const admin_router = require('./routes/admin_router');
|
||||
|
||||
// use routes
|
||||
server.use('/api/login', login_router);
|
||||
server.use('/api/admin', admin_router);
|
||||
|
||||
|
||||
|
||||
server.get('/api', (req, res) => {
|
||||
console.log("ada org request");
|
||||
return res.status(200).send({ status : true, message : 'connected to api'})
|
||||
});
|
||||
|
||||
server.all('*', (req, res) => {
|
||||
return handle(req, res)
|
||||
})
|
||||
|
||||
http.createServer(server).listen(port_http, (err) => {
|
||||
if (err) throw err
|
||||
|
||||
// console.log(`ini dia ${process.env.DB_CONNECTION}`)
|
||||
console.log(`> Ready on http://localhost:${port_http}`)
|
||||
})
|
||||
|
||||
https.createServer (options, server).listen(port_https, (err) => {
|
||||
if (err) throw err
|
||||
|
||||
// console.log(`ini dia ${process.env.DB_CONNECTION}`)
|
||||
console.log(`> Ready on https://localhost:${port_https}`)
|
||||
})
|
||||
})
|
||||
211
server/routes/admin_router.js
Normal file
211
server/routes/admin_router.js
Normal file
@ -0,0 +1,211 @@
|
||||
const express = require('express');
|
||||
const router = express.Router()
|
||||
const db = require('../database/index.js')
|
||||
const tb_admin = db.admin
|
||||
const tb_dokter = db.dokter
|
||||
// const tb_login = db.login
|
||||
const tb_tindakan = db.tindakan
|
||||
const tb_obat = db.obat
|
||||
const Op = db.Sequelize.Op
|
||||
|
||||
const app = require('express')()
|
||||
const basicAuth = require('express-basic-auth')
|
||||
|
||||
const basicAuthMiddleware = basicAuth({
|
||||
users: { 'kicapkaran_admin': 'karan456_admin' },
|
||||
challenge: true,
|
||||
unauthorizedResponse: getUnauthenticatedResponse
|
||||
|
||||
})
|
||||
|
||||
function getUnauthenticatedResponse(req) {
|
||||
const { user } = req.auth?.user ?? {}
|
||||
return user ? `invalid credentials for user '${user}'` : 'no credentials provided';
|
||||
}
|
||||
|
||||
|
||||
// create / get request
|
||||
router.get('/', basicAuthMiddleware, async (req, res) => {
|
||||
res.send({ status: true, message: 'connected to admin' })
|
||||
})
|
||||
|
||||
// create /tindakan post request
|
||||
router.post('/tindakan', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk tambah tindakan")
|
||||
try {
|
||||
const tindakan = req.body.tindakan
|
||||
let cek_tindakan = await tb_tindakan.findOne({
|
||||
where: {
|
||||
nama_tindakan: tindakan
|
||||
}
|
||||
})
|
||||
|
||||
// if()
|
||||
|
||||
if (cek_tindakan) {
|
||||
return res.status(400).send({ status: false, message: `Tindakan ${tindakan} sudah ada` })
|
||||
}
|
||||
|
||||
// create tindakan
|
||||
const new_tindakan = await tb_tindakan.create({
|
||||
nama_tindakan: tindakan
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, message: `Tindakan ${tindakan} berhasil ditambahkan` })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
// create /tindaakan get request
|
||||
router.get('/tindakan', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk tindakan get")
|
||||
try {
|
||||
console.log("ambil all tinakan")
|
||||
let tindakan = await tb_tindakan.findAll()
|
||||
res.status(200).send({ status: true, data: tindakan })
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /tindakan delete request
|
||||
router.delete('/tindakan', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk tindakan delete")
|
||||
try {
|
||||
const id = req.query.id
|
||||
// console.log(id, "ini idnya di delete")
|
||||
let tindakan = await tb_tindakan.findOne({
|
||||
where: {
|
||||
id_tindakan: id
|
||||
}
|
||||
})
|
||||
|
||||
if (!tindakan) {
|
||||
return res.status(400).send({ status: false, message: `Tindakan dengan id ${id} tidak ditemukan` })
|
||||
}
|
||||
|
||||
await tindakan.destroy()
|
||||
|
||||
res.status(200).send({ status: true, message: `Tindakan dengan id ${id} berhasil dihapus` })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /obat post request
|
||||
router.post('/obat', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk obat post")
|
||||
try {
|
||||
const obat = req.body.obat
|
||||
let cek_obat = await tb_obat.findOne({
|
||||
where: {
|
||||
nama_obat: obat
|
||||
}
|
||||
})
|
||||
|
||||
if (cek_obat) {
|
||||
return res.status(400).send({ status: false, message: `Obat ${obat} sudah ada` })
|
||||
}
|
||||
|
||||
// create obat
|
||||
const new_obat = await tb_obat.create({
|
||||
nama_obat: obat,
|
||||
jenis: req.body.jenis,
|
||||
jumlah: req.body.jumlah,
|
||||
harga: req.body.harga,
|
||||
history: JSON.stringify(req.body.history)
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, message: `Obat ${obat} berhasil ditambahkan` })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /obat get request
|
||||
router.get('/obat', basicAuthMiddleware, async (req, res) => {
|
||||
// console.log("sini untuk obat get")
|
||||
try {
|
||||
let id = req.query.id
|
||||
// if id is not null
|
||||
if (id) {
|
||||
let obat = await tb_obat.findOne({
|
||||
where: {
|
||||
id_obat: id
|
||||
}
|
||||
})
|
||||
|
||||
if (!obat) {
|
||||
return res.status(400).send({ status: false, message: `Obat dengan id ${id} tidak ditemukan` })
|
||||
}
|
||||
|
||||
obat = JSON.parse(obat.dataValues.history)
|
||||
|
||||
res.status(200).send({ status: true, data: obat})
|
||||
} else {
|
||||
// console.log("ambil all obat")
|
||||
let obat = await tb_obat.findAll()
|
||||
res.status(200).send({ status: true, data: obat })
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
// create /obat put request
|
||||
router.put('/obat', basicAuthMiddleware, async (req, res) => {
|
||||
console.log("sini untuk obat put")
|
||||
try {
|
||||
const id = req.query.id
|
||||
const detail = req.query.detail
|
||||
let obat = await tb_obat.findOne({
|
||||
where: {
|
||||
id_obat: id
|
||||
}
|
||||
})
|
||||
|
||||
if (!obat) {
|
||||
return res.status(400).send({ status: false, message: `Obat dengan id ${id} tidak ditemukan` })
|
||||
}
|
||||
|
||||
if (!detail || detail != "edit_data") {
|
||||
return res.status(400).send({ status: false, message: `Detail Tidak Diketahui` })
|
||||
}
|
||||
|
||||
// get the history from obat
|
||||
|
||||
let history = JSON.parse(obat.dataValues.history)
|
||||
// add the req.body.history to the history
|
||||
history.push(req.body.history)
|
||||
// console.log(history)
|
||||
|
||||
await obat.update({
|
||||
nama_obat: req.body.obat,
|
||||
jenis: req.body.jenis,
|
||||
jumlah: req.body.jumlah,
|
||||
harga: req.body.harga,
|
||||
history: JSON.stringify(history)
|
||||
})
|
||||
|
||||
res.status(200).send({ status: true, message: `Obat dengan id ${id} berhasil diupdate` })
|
||||
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
res.status(500).send({ status: false, message: "internal server error" })
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
module.exports = router
|
||||
119
server/routes/login_router.js
Normal file
119
server/routes/login_router.js
Normal file
@ -0,0 +1,119 @@
|
||||
// create express router
|
||||
const express = require('express');
|
||||
const router = express.Router()
|
||||
const db = require('../database/index.js')
|
||||
const tb_admin = db.admin
|
||||
const tb_dokter = db.dokter
|
||||
const tb_login = db.login
|
||||
const Op = db.Sequelize.Op
|
||||
|
||||
var ironSession = require("iron-session/express").ironSession;
|
||||
var session = ironSession({
|
||||
cookieName: "myapp_cookiename",
|
||||
// password: process.env.SECRET_COOKIE_PASSWORD,
|
||||
password: 'complex_password_at_least_32_characters_long',
|
||||
cookieOptions: {
|
||||
secure: process.env.NODE_ENV === "production",
|
||||
},
|
||||
});
|
||||
// create get request
|
||||
// router.get('/', async (req, res) => {
|
||||
|
||||
// try {
|
||||
// const admin = {
|
||||
// nik: 214280224,
|
||||
// nama: "aran",
|
||||
// role: 'admin'
|
||||
// }
|
||||
|
||||
// // find if admin with nik exists
|
||||
// const admin_exist = await tb_admin.findByPk(admin.nik)
|
||||
|
||||
// console.log(admin_exist);
|
||||
// // if admin exist
|
||||
// if (admin_exist) {
|
||||
// return res.status(400).send({status: false, message: `Admin dengan nik ${admin.nik} sudah ada`})
|
||||
// }
|
||||
|
||||
// after_create_admin = await tb_admin.create(admin)
|
||||
|
||||
|
||||
// const login = {
|
||||
// username: 'kicap92',
|
||||
// password: '5c188ab394811451656f8c7f33680127',
|
||||
// role: 'admin',
|
||||
// id_admin: 214280224
|
||||
// }
|
||||
// await tb_login.create(login)
|
||||
|
||||
// res.send({ status: true, message: "ini login get router" })
|
||||
// } catch (error) {
|
||||
// res.status(500).send({ status: false, message: error.message })
|
||||
// }
|
||||
|
||||
|
||||
// })
|
||||
|
||||
// create get request
|
||||
router.get('/', session, async (req, res) => {
|
||||
try {
|
||||
const username = req.query.username
|
||||
const password = req.query.password
|
||||
const role = req.query.role
|
||||
|
||||
// console.log(username, password, role);
|
||||
let cek_login = await tb_login.findOne({
|
||||
where: {
|
||||
username: username,
|
||||
password: password,
|
||||
role: role
|
||||
}
|
||||
})
|
||||
|
||||
// console.log(cek_login);
|
||||
if (!cek_login) {
|
||||
return res.status(400).send({ status: false, message: 'Username dan password salah' })
|
||||
}
|
||||
|
||||
let cek_data;
|
||||
|
||||
if (role == 'Admin') {
|
||||
cek_data = await tb_admin.findOne({
|
||||
where: {
|
||||
nik: cek_login.id_admin
|
||||
}
|
||||
})
|
||||
|
||||
} else if (role == 'Dokter') {
|
||||
cek_data = await tb_dokter.findOne({
|
||||
where: {
|
||||
nik: cek_login.id_dokter
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// add role to cek_data
|
||||
// cek_data.role = role;
|
||||
cek_data = cek_data.dataValues;
|
||||
// console.log(req.session.user);
|
||||
|
||||
|
||||
// session data
|
||||
req.session.user = {
|
||||
username: username,
|
||||
password: password,
|
||||
role: role,
|
||||
nik: cek_data.nik,
|
||||
};
|
||||
await req.session.save();
|
||||
|
||||
|
||||
|
||||
res.send({ status: true, message: "ini login post router", data: cek_data })
|
||||
} catch (error) {
|
||||
res.status(500).send({ status: false, message: error.message })
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user