1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-11-26 22:41:17 +02:00

All: Fixed filesystem driver bug when downloading resources. Added support for encrypting all items when encryption enabled.

This commit is contained in:
Laurent Cozic
2017-12-14 21:12:02 +00:00
parent e9bb5bee9d
commit f5d26e0d81
4 changed files with 37 additions and 4 deletions

View File

@@ -424,7 +424,7 @@ class BaseItem extends BaseModel {
SELECT %s FROM %s items
JOIN sync_items s ON s.item_id = items.id
WHERE sync_target = %d
AND s.sync_time < items.updated_time
AND (s.sync_time < items.updated_time OR force_sync = 1)
AND s.sync_disabled = 0
%s
LIMIT %d
@@ -546,6 +546,28 @@ class BaseItem extends BaseModel {
return !!item.encryption_applied ? '🔑 ' + _('Encrypted') : item.title + '';
}
static async markAllNonEncryptedForSync() {
const classNames = this.encryptableItemClassNames();
for (let i = 0; i < classNames.length; i++) {
const className = classNames[i];
const ItemClass = this.getClass(className);
const sql = sprintf(`
SELECT id
FROM %s
WHERE encryption_applied = 0`,
this.db().escapeField(ItemClass.tableName()),
);
const items = await ItemClass.modelSelectAll(sql);
const ids = items.map((item) => {return item.id});
if (!ids.length) continue;
await this.db().exec('UPDATE sync_items SET force_sync = 1 WHERE item_id IN ("' + ids.join('","') + '")');
}
}
static async save(o, options = null) {
if (!options) options = {};