mediaItem.js 1.0 KB

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