diff --git a/helpers/drive.ts b/helpers/drive.ts index 60e32c7..f406464 100644 --- a/helpers/drive.ts +++ b/helpers/drive.ts @@ -14,7 +14,7 @@ export interface FileMetadata { } type StringSearch = string | { contains: string } | { not: string }; -type NumberComparison = number | { gt: number } | { lt: number }; +type DateComparison = { eq: string } | { gt: string } | { lt: string }; interface QueryMatch { name?: StringSearch | StringSearch[]; @@ -23,7 +23,7 @@ interface QueryMatch { starred?: boolean; query?: string; properties?: Record; - modifiedTime?: NumberComparison; + modifiedTime?: DateComparison; } export const folderMimeType = "application/vnd.google-apps.folder"; @@ -48,11 +48,10 @@ const queryHandlers = { ([key, value]) => `properties has { key='${key}' and value='${value}' }` ), - modifiedTime: (modifiedTime: NumberComparison) => { - if (typeof modifiedTime === "number") - return `modifiedTime=${modifiedTime}`; - if ("gt" in modifiedTime) return `modifiedTime > ${modifiedTime.gt}`; - if ("lt" in modifiedTime) return `modifiedTime < ${modifiedTime.lt}`; + modifiedTime: (modifiedTime: DateComparison) => { + if ("eq" in modifiedTime) return `modifiedTime = '${modifiedTime.eq}'`; + if ("gt" in modifiedTime) return `modifiedTime > '${modifiedTime.gt}'`; + if ("lt" in modifiedTime) return `modifiedTime < '${modifiedTime.lt}'`; }, }; diff --git a/main.ts b/main.ts index 57340c8..0bd3fd6 100644 --- a/main.ts +++ b/main.ts @@ -272,7 +272,13 @@ export default class ObsidianGoogleDrive extends Plugin { const recentlyModified = await this.drive.searchFiles({ include: ["id"], - matches: [{ modifiedTime: { gt: this.settings.lastSyncedAt } }], + matches: [ + { + modifiedTime: { + gt: new Date(this.settings.lastSyncedAt).toISOString(), + }, + }, + ], }); if (!recentlyModified) { return new Notice("An error occurred fetching Google Drive files.");