|
|
@@ -1,6 +1,7 @@
|
|
|
|
|
|
const path = require('path');
|
|
|
const fs = require('fs');
|
|
|
+const MediaFileModel = require('./mediaItem.js').MediaFileModel;
|
|
|
const { AccessModel, ACCESS_TYPE, ACCESS_TO, ACCESS_GRANT } = require('./access.js');
|
|
|
|
|
|
function Media()
|
|
|
@@ -17,6 +18,7 @@ function MediaStruct(i) {
|
|
|
this.tags = [];
|
|
|
this.fixedTags = [];
|
|
|
this.accessType = -1;
|
|
|
+ this.version = i.version;
|
|
|
}
|
|
|
|
|
|
MediaStruct.prototype.pushMeta = function(key, value) {
|
|
|
@@ -133,7 +135,8 @@ module.exports.fetchMultiple = async function(app, md5sums, accessList) {
|
|
|
let result = ((await app.databaseHelper.runSql(`
|
|
|
select mediaFile.path, mediaFile.md5sum, mediaFile.date, mediaFile.fixedSum,
|
|
|
mediaMeta.key as metaKey, mediaMeta.value as metaValue,
|
|
|
- mediaTag.tag as mediaTag, (mediaTag.fromMeta or mediaTag.fromAutotag) as isFixedTag
|
|
|
+ mediaTag.tag as mediaTag, (mediaTag.fromMeta or mediaTag.fromAutotag) as isFixedTag,
|
|
|
+ mediaFile.version
|
|
|
from mediaFile
|
|
|
left join mediaMeta on mediaMeta.md5sum=mediaFile.fixedSum
|
|
|
left join mediaTag on mediaTag.md5sum=mediaFile.fixedSum
|
|
|
@@ -211,7 +214,8 @@ module.exports.fetchMedias = async function(app, startTs, count, access) {
|
|
|
let result = ((await app.databaseHelper.runSql(`
|
|
|
select mediaFile.path, mediaFile.md5sum, mediaFile.date, mediaFile.fixedSum,
|
|
|
mediaMeta.key as metaKey, mediaMeta.value as metaValue,
|
|
|
- mediaTag.tag as mediaTag, (mediaTag.fromMeta or mediaTag.fromAutotag) as isFixedTag
|
|
|
+ mediaTag.tag as mediaTag, (mediaTag.fromMeta or mediaTag.fromAutotag) as isFixedTag,
|
|
|
+ mediaFile.version
|
|
|
from mediaFile
|
|
|
left join mediaMeta on mediaMeta.md5sum=mediaFile.fixedSum
|
|
|
left join mediaTag on mediaTag.md5sum=mediaFile.fixedSum
|
|
|
@@ -239,6 +243,10 @@ module.exports.fetchMediasWithAccess = async function(app, startTs, count, acces
|
|
|
return result.slice(0, count);
|
|
|
};
|
|
|
|
|
|
+module.exports.updateVersionInDb = function(app, fixedSum) {
|
|
|
+ return app.databaseHelper.rawUpdate(MediaFileModel.prototype, { fixedSum: fixedSum }, { version: Date.now() });
|
|
|
+}
|
|
|
+
|
|
|
module.exports.getMediaRange = async function(app) {
|
|
|
let result = await app.databaseHelper.runSql("select min(date) as _min, max(date) as _max from mediaFile");
|
|
|
return [ result?.[0]?._min || 0, result?.[0]?._max || 0 ];
|