mirror of
https://github.com/zadam/trilium.git
synced 2025-11-18 03:00:41 +01:00
notes are now created with correct local dates
This commit is contained in:
@@ -35,8 +35,8 @@ function BackendScriptApi(currentNote, apiParams) {
|
||||
|
||||
this.utils = {
|
||||
unescapeHtml: utils.unescapeHtml,
|
||||
isoDateTimeStr: dateUtils.dateStr,
|
||||
isoDateStr: date => dateUtils.dateStr(date).substr(0, 10)
|
||||
isoDateTimeStr: dateUtils.utcDateStr,
|
||||
isoDateStr: date => dateUtils.utcDateStr(date).substr(0, 10)
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,7 +24,7 @@ async function periodBackup(optionName, fileName, periodInSeconds) {
|
||||
if (now.getTime() - lastDailyBackupDate.getTime() > periodInSeconds * 1000) {
|
||||
await backupNow(fileName);
|
||||
|
||||
await optionService.setOption(optionName, dateUtils.nowDate());
|
||||
await optionService.setOption(optionName, dateUtils.utcNowDateTime());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ async function getWeekNote(dateStr, options = {}) {
|
||||
|
||||
const dateObj = getStartOfTheWeek(dateUtils.parseLocalDate(dateStr), startOfTheWeek);
|
||||
|
||||
dateStr = dateUtils.dateStr(dateObj);
|
||||
dateStr = dateUtils.utcDateStr(dateObj);
|
||||
|
||||
return getDateNote(dateStr);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
function nowDate() {
|
||||
return dateStr(new Date());
|
||||
const dayjs = require('dayjs');
|
||||
|
||||
function utcNowDateTime() {
|
||||
return utcDateStr(new Date());
|
||||
}
|
||||
|
||||
function nowLocalDate() {
|
||||
function localNowDateTime() {
|
||||
return dayjs().format('YYYY-MM-DD HH:mm:ss.SSSZZ')
|
||||
}
|
||||
|
||||
function localNowDate() {
|
||||
const date = new Date();
|
||||
|
||||
return date.getFullYear() + "-" + pad(date.getMonth() + 1) + "-" + pad(date.getDate());
|
||||
@@ -12,8 +18,8 @@ function pad(num) {
|
||||
return num <= 9 ? `0${num}` : `${num}`;
|
||||
}
|
||||
|
||||
function dateStr(date) {
|
||||
return date.toISOString();
|
||||
function utcDateStr(date) {
|
||||
return date.toISOString().replace('T', ' ');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -47,9 +53,10 @@ function getDateTimeForFile() {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
nowDate,
|
||||
nowLocalDate,
|
||||
dateStr,
|
||||
utcNowDateTime,
|
||||
localNowDateTime,
|
||||
localNowDate,
|
||||
utcDateStr,
|
||||
parseDate,
|
||||
parseDateTime,
|
||||
parseLocalDate,
|
||||
|
||||
@@ -12,7 +12,7 @@ async function addNoteEvent(noteId, comment) {
|
||||
eventId: utils.newEntityId(),
|
||||
noteId : noteId,
|
||||
comment: comment,
|
||||
utcDateCreated: dateUtils.nowDate()
|
||||
utcDateCreated: dateUtils.utcNowDateTime()
|
||||
});
|
||||
|
||||
log.info("Event log for " + noteId + ": " + comment);
|
||||
|
||||
@@ -64,7 +64,8 @@ async function migrate() {
|
||||
throw new Error("Unknown migration type " + mig.type);
|
||||
}
|
||||
|
||||
await optionService.setOption("dbVersion", mig.dbVersion);
|
||||
// not using repository because of changed utcDateModified column in migration 129
|
||||
await sql.execute(`UPDATE options SET value = ? WHERE name = ?`, [mig.dbVersion, "dbVersion"]);
|
||||
});
|
||||
|
||||
log.info("Migration to version " + mig.dbVersion + " has been successful.");
|
||||
|
||||
@@ -299,7 +299,7 @@ async function saveNoteRevision(note) {
|
||||
const now = new Date();
|
||||
const noteRevisionSnapshotTimeInterval = parseInt(await optionService.getOption('noteRevisionSnapshotTimeInterval'));
|
||||
|
||||
const revisionCutoff = dateUtils.dateStr(new Date(now.getTime() - noteRevisionSnapshotTimeInterval * 1000));
|
||||
const revisionCutoff = dateUtils.utcDateStr(new Date(now.getTime() - noteRevisionSnapshotTimeInterval * 1000));
|
||||
|
||||
const existingNoteRevisionId = await sql.getValue(
|
||||
"SELECT noteRevisionId FROM note_revisions WHERE noteId = ? AND utcDateModifiedTo >= ?", [note.noteId, revisionCutoff]);
|
||||
@@ -315,8 +315,10 @@ async function saveNoteRevision(note) {
|
||||
type: note.type,
|
||||
mime: note.mime,
|
||||
isProtected: false, // will be fixed in the protectNoteRevisions() call
|
||||
dateModifiedFrom: note.dateModified,
|
||||
dateModifiedTo: dateUtils.localNowDateTime(),
|
||||
utcDateModifiedFrom: note.utcDateModified,
|
||||
utcDateModifiedTo: dateUtils.nowDate()
|
||||
utcDateModifiedTo: dateUtils.utcNowDateTime()
|
||||
}).save();
|
||||
}
|
||||
}
|
||||
@@ -405,9 +407,9 @@ async function cleanupDeletedNotes() {
|
||||
// it's better to not use repository for this because it will complain about saving protected notes
|
||||
// out of protected session
|
||||
|
||||
await sql.execute("UPDATE note_contents SET content = NULL WHERE content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.dateStr(cutoffDate)]);
|
||||
await sql.execute("UPDATE note_contents SET content = NULL WHERE content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.utcDateStr(cutoffDate)]);
|
||||
|
||||
await sql.execute("UPDATE note_revisions SET content = NULL WHERE note_revisions.content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.dateStr(cutoffDate)]);
|
||||
await sql.execute("UPDATE note_revisions SET content = NULL WHERE note_revisions.content IS NOT NULL AND noteId IN (SELECT noteId FROM notes WHERE isDeleted = 1 AND notes.utcDateModified <= ?)", [dateUtils.utcDateStr(cutoffDate)]);
|
||||
}
|
||||
|
||||
sqlInit.dbReady.then(() => {
|
||||
|
||||
@@ -31,9 +31,9 @@ async function initSyncedOptions(username, password) {
|
||||
async function initNotSyncedOptions(initialized, startNotePath = 'root', syncServerHost = '', syncProxy = '') {
|
||||
await optionService.createOption('startNotePath', startNotePath, false);
|
||||
await optionService.createOption('hoistedNoteId', 'root', false);
|
||||
await optionService.createOption('lastDailyBackupDate', dateUtils.nowDate(), false);
|
||||
await optionService.createOption('lastWeeklyBackupDate', dateUtils.nowDate(), false);
|
||||
await optionService.createOption('lastMonthlyBackupDate', dateUtils.nowDate(), false);
|
||||
await optionService.createOption('lastDailyBackupDate', dateUtils.utcNowDateTime(), false);
|
||||
await optionService.createOption('lastWeeklyBackupDate', dateUtils.utcNowDateTime(), false);
|
||||
await optionService.createOption('lastMonthlyBackupDate', dateUtils.utcNowDateTime(), false);
|
||||
await optionService.createOption('dbVersion', appInfo.dbVersion, false);
|
||||
|
||||
await optionService.createOption('lastSyncedPull', 0, false);
|
||||
|
||||
@@ -8,7 +8,7 @@ const cls = require('./cls');
|
||||
async function saveSourceId(sourceId) {
|
||||
await sql.insert("source_ids", {
|
||||
sourceId: sourceId,
|
||||
utcDateCreated: dateUtils.nowDate()
|
||||
utcDateCreated: dateUtils.utcNowDateTime()
|
||||
});
|
||||
|
||||
await refreshSourceIds();
|
||||
|
||||
@@ -79,7 +79,7 @@ async function login() {
|
||||
}
|
||||
|
||||
async function doLogin() {
|
||||
const timestamp = dateUtils.nowDate();
|
||||
const timestamp = dateUtils.utcNowDateTime();
|
||||
|
||||
const documentSecret = await optionService.getOption('documentSecret');
|
||||
const hash = utils.hmac(documentSecret, timestamp);
|
||||
|
||||
@@ -48,7 +48,7 @@ async function addEntitySync(entityName, entityId, sourceId) {
|
||||
await sql.replace("sync", {
|
||||
entityName: entityName,
|
||||
entityId: entityId,
|
||||
utcSyncDate: dateUtils.nowDate(),
|
||||
utcSyncDate: dateUtils.utcNowDateTime(),
|
||||
sourceId: sourceId || cls.getSourceId() || sourceIdService.getCurrentSourceId()
|
||||
});
|
||||
}
|
||||
@@ -78,7 +78,7 @@ async function fillSyncRows(entityName, entityKey, condition = '') {
|
||||
entityName: entityName,
|
||||
entityId: entityId,
|
||||
sourceId: "SYNC_FILL",
|
||||
utcSyncDate: dateUtils.nowDate()
|
||||
utcSyncDate: dateUtils.utcNowDateTime()
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user