firmware.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.FirmwareFileModel = void 0;
  4. const database_1 = require("../config/database");
  5. class FirmwareFileModel {
  6. static async create(firmwareData) {
  7. const query = `
  8. INSERT INTO firmware_files (version, filename, filepath, filesize, md5sum, description, status, created_by)
  9. VALUES (?, ?, ?, ?, ?, ?, ?, ?)
  10. `;
  11. const values = [
  12. firmwareData.version,
  13. firmwareData.filename,
  14. firmwareData.filepath,
  15. firmwareData.filesize,
  16. firmwareData.md5sum,
  17. firmwareData.description || null,
  18. firmwareData.status || 'active',
  19. firmwareData.created_by || null
  20. ];
  21. const result = await (0, database_1.executeQuery)(query, values);
  22. const insertId = result.insertId;
  23. return this.getById(insertId);
  24. }
  25. static async getById(id) {
  26. const query = 'SELECT * FROM firmware_files WHERE id = ?';
  27. const firmwareFiles = await (0, database_1.executeQuery)(query, [id]);
  28. return firmwareFiles.length > 0 ? firmwareFiles[0] : null;
  29. }
  30. static async getAll() {
  31. const query = 'SELECT * FROM firmware_files ORDER BY version DESC';
  32. return await (0, database_1.executeQuery)(query);
  33. }
  34. static async getByStatus(status) {
  35. const query = 'SELECT * FROM firmware_files WHERE status = ? ORDER BY version DESC';
  36. return await (0, database_1.executeQuery)(query, [status]);
  37. }
  38. static async updateStatus(id, status) {
  39. const query = 'UPDATE firmware_files SET status = ? WHERE id = ?';
  40. const result = await (0, database_1.executeQuery)(query, [status, id]);
  41. return result.affectedRows > 0;
  42. }
  43. static async delete(id) {
  44. const query = 'DELETE FROM firmware_files WHERE id = ?';
  45. const result = await (0, database_1.executeQuery)(query, [id]);
  46. return result.affectedRows > 0;
  47. }
  48. static async createTable() {
  49. const query = `
  50. CREATE TABLE IF NOT EXISTS firmware_files (
  51. id INT AUTO_INCREMENT PRIMARY KEY,
  52. version VARCHAR(50) NOT NULL UNIQUE,
  53. filename VARCHAR(255) NOT NULL,
  54. filepath VARCHAR(255) NOT NULL,
  55. filesize BIGINT NOT NULL,
  56. md5sum VARCHAR(32) NOT NULL,
  57. description TEXT,
  58. status ENUM('active', 'inactive') DEFAULT 'active',
  59. created_by VARCHAR(50),
  60. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  61. updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  62. INDEX idx_version (version),
  63. INDEX idx_status (status)
  64. )
  65. `;
  66. await (0, database_1.executeQuery)(query);
  67. }
  68. }
  69. exports.FirmwareFileModel = FirmwareFileModel;
  70. //# sourceMappingURL=firmware.js.map