// 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();