vps/models/authModel.js

31 lines
1.0 KiB
JavaScript

// models/authModel.js
const Database = require('../config/db');
const AuthEntity = require('../entities/authEntity');
const { v4: uuidv4 } = require('uuid');
const bcrypt = require('bcrypt');
class AuthModel {
constructor() {
this.db = new Database();
}
async addAuth(id, password, role, status) {
const uid = uuidv4();
const hashedPassword = await bcrypt.hash(password, 10);
const auth = new AuthEntity(uid, id, hashedPassword, role, status);
const query = 'INSERT INTO auth (uid, id, password, role, status) VALUES (?, ?, ?, ?, ?)';
return await this.db.execute(query, [auth.uid, auth.id, auth.password, auth.role, auth.status]);
}
async getAuthById(id, password) {
const hashedPassword = await bcrypt.hash(password, 10);
const query = 'SELECT * FROM auth WHERE id = ? AND password = ? AND statu = ? ';
const auths = await this.db.execute(query, [id,hashedPassword,'use']);
return auths[0];
}
// 다른 인증 관련 메소드 추가 가능
}
module.exports = new AuthModel();