mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-22 22:49:45 +01:00
feat: add migrated flag & update dateEdited on migration
This commit is contained in:
@@ -37,10 +37,14 @@ class Collector {
|
|||||||
_collect(array) {
|
_collect(array) {
|
||||||
return Promise.all(
|
return Promise.all(
|
||||||
tfun
|
tfun
|
||||||
.filter((item) => item.dateEdited > this._lastSyncedTimestamp)
|
.filter(
|
||||||
|
(item) => item.dateEdited > this._lastSyncedTimestamp || item.migrated
|
||||||
|
)
|
||||||
.map(async (item) => {
|
.map(async (item) => {
|
||||||
// in case of resolved delta, we do not want to send this key to the server
|
// in case of resolved delta
|
||||||
if (item.resolved) delete item.resolved;
|
item.resolved = false;
|
||||||
|
// turn the migrated flag off so we don't keep syncing this item repeated
|
||||||
|
item.migrated = false;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: item.id,
|
id: item.id,
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ import getId from "../utils/id";
|
|||||||
export default class Content extends Collection {
|
export default class Content extends Collection {
|
||||||
async add(content) {
|
async add(content) {
|
||||||
if (!content) return;
|
if (!content) return;
|
||||||
if (content.deleted) return await this._collection.addItem(content);
|
if (content.deleted || content.migrated)
|
||||||
|
return await this._collection.addItem(content);
|
||||||
|
|
||||||
if (content.id && (await this._collection.exists(content.id))) {
|
if (content.id && (await this._collection.exists(content.id))) {
|
||||||
content = {
|
content = {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ if (!tfun) {
|
|||||||
export default class Notes extends Collection {
|
export default class Notes extends Collection {
|
||||||
async add(noteArg) {
|
async add(noteArg) {
|
||||||
if (!noteArg) return;
|
if (!noteArg) return;
|
||||||
if (noteArg.remote) {
|
if (noteArg.remote || noteArg.migrated) {
|
||||||
return await this._collection.addItem(noteArg);
|
return await this._collection.addItem(noteArg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export default class Trash extends Collection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async add(item) {
|
async add(item) {
|
||||||
if (item.dateDeleted || item.deleted) {
|
if (item.dateDeleted || item.deleted || item.migrated) {
|
||||||
return await this._collection.addItem(item);
|
return await this._collection.addItem(item);
|
||||||
}
|
}
|
||||||
await this._collection.addItem({
|
await this._collection.addItem({
|
||||||
|
|||||||
@@ -6,17 +6,20 @@ export const migrations = {
|
|||||||
delete item.content;
|
delete item.content;
|
||||||
item.contentId = contentId;
|
item.contentId = contentId;
|
||||||
}
|
}
|
||||||
if (item.notebook.id) {
|
if (item.notebook) {
|
||||||
const notebook = item.notebook;
|
const notebook = item.notebook;
|
||||||
|
delete item.notebook;
|
||||||
item.notebooks = [notebook];
|
item.notebooks = [notebook];
|
||||||
}
|
}
|
||||||
delete item.notebook;
|
item.dateEdited = Date.now();
|
||||||
item.remote = true;
|
item.migrated = true;
|
||||||
return item;
|
return item;
|
||||||
},
|
},
|
||||||
delta: function (item) {
|
delta: function (item) {
|
||||||
item.data = item.data.ops;
|
item.data = item.data.ops;
|
||||||
item.type = "delta";
|
item.type = "delta";
|
||||||
|
item.dateEdited = Date.now();
|
||||||
|
item.migrated = true;
|
||||||
return item;
|
return item;
|
||||||
},
|
},
|
||||||
trash: function (item) {
|
trash: function (item) {
|
||||||
@@ -26,6 +29,8 @@ export const migrations = {
|
|||||||
item.contentId = item.content.delta;
|
item.contentId = item.content.delta;
|
||||||
delete item.content;
|
delete item.content;
|
||||||
}
|
}
|
||||||
|
item.dateEdited = Date.now();
|
||||||
|
item.migrated = true;
|
||||||
return item;
|
return item;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -34,8 +39,9 @@ export const migrations = {
|
|||||||
// notebook -> notebooks
|
// notebook -> notebooks
|
||||||
const notebook = item.notebook;
|
const notebook = item.notebook;
|
||||||
delete item.notebook;
|
delete item.notebook;
|
||||||
item.remote = true;
|
|
||||||
if (notebook) item.notebooks = [notebook];
|
if (notebook) item.notebooks = [notebook];
|
||||||
|
item.dateEdited = Date.now();
|
||||||
|
item.migrated = true;
|
||||||
return item;
|
return item;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user