mediaItem.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const DatabaseModel = require("./DatabaseModel.js").DatabaseModel;
  2. function MediaFileModel() {
  3. DatabaseModel.call(this);
  4. this.path = "";
  5. this.md5sum = "";
  6. this.fixedSum = "";
  7. this.date = null;
  8. }
  9. MediaFileModel.prototype = Object.create(DatabaseModel.prototype);
  10. MediaFileModel.prototype.getTableName = function() {
  11. return "mediaFile";
  12. }
  13. MediaFileModel.prototype.createOrUpdateBase = async function(dbHelper) {
  14. await dbHelper.runSql(`CREATE TABLE IF NOT EXISTS 'mediaFile' (
  15. path STRING NOT NULL,
  16. md5sum varchar(32) NOT NULL,
  17. fixedSum varchar(32) NOT NULL,
  18. date DateTime NOT NULL,
  19. PRIMARY KEY (path, md5sum))`);
  20. }
  21. MediaFileModel.prototype.describe = function() {
  22. return {
  23. "path": this.path,
  24. "md5sum": this.md5sum,
  25. "fixedSum": this.fixedSum,
  26. "date": this.date?.getTime()
  27. };
  28. }
  29. MediaFileModel.prototype.versionColumn = function() { return ""; }
  30. MediaFileModel.prototype.fromDb = function(dbObj) {
  31. this.path = dbObj["path"];
  32. this.md5sum = dbObj["md5sum"];
  33. this.fixedSum = dbObj["fixedSum"];
  34. this.date = new Date(dbObj["date"]);
  35. }
  36. module.exports.MediaFileModel = MediaFileModel;