mediaItemTag.js 1.3 KB

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