All files / models uploadModel.js

0% Statements 0/16
0% Branches 0/2
0% Functions 0/2
0% Lines 0/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                                                                                         
const { getDb } = require('../dbPool');
 
// 1. 문서 업로드
const create = async (doc, callback) => {
  try {
    const db = await getDb();
    const sql = `
      INSERT INTO uploaded_documents
        (title, tags, description, original_name, stored_name, file_path, file_type, file_size, submitted_by)
      VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
    `;
    const values = [
      doc.title,
      doc.tags,
      doc.description,
      doc.original_name,
      doc.stored_name,
      doc.file_path,
      doc.file_type,
      doc.file_size,
      doc.submitted_by
    ];
    const [result] = await db.query(sql, values);
    callback(null, result.insertId);
  } catch (err) {
    callback(new Error(err.message || String(err)));
  }
};
 
// 2. 전체 문서 목록 조회
const getAll = async (callback) => {
  try {
    const db = await getDb();
    const [rows] = await db.query(`SELECT * FROM uploaded_documents ORDER BY created_at DESC`);
    callback(null, rows);
  } catch (err) {
    callback(err);
  }
};
 
// ✅ 내보내기
module.exports = {
  create,
  getAll
};