diff --git a/apps/client/src/widgets/dialogs/revisions.tsx b/apps/client/src/widgets/dialogs/revisions.tsx index a78410a73..cc7438cf2 100644 --- a/apps/client/src/widgets/dialogs/revisions.tsx +++ b/apps/client/src/widgets/dialogs/revisions.tsx @@ -1,4 +1,4 @@ -import { NoteType } from "@triliumnext/commons"; +import type { FullRevision, RevisionItem } from "@triliumnext/commons"; import appContext, { EventData } from "../../components/app_context"; import FNote from "../../entities/fnote"; import dialog, { closeActiveDialog, openDialog } from "../../services/dialog"; @@ -21,22 +21,6 @@ interface RevisionsDialogProps { note?: FNote; } -interface RevisionItem { - noteId: string; - revisionId: string; - dateLastEdited: string; - contentLength: number; - type: NoteType; - title: string; - isProtected: boolean; - mime: string; -} - -interface FullRevision { - content: string; - mime: string; -} - function RevisionsDialogComponent({ note }: RevisionsDialogProps) { const [ revisions, setRevisions ] = useState([]); const [ currentRevision, setCurrentRevision ] = useState(); diff --git a/apps/server/src/routes/api/notes.ts b/apps/server/src/routes/api/notes.ts index b53bb1a2a..fd938dc18 100644 --- a/apps/server/src/routes/api/notes.ts +++ b/apps/server/src/routes/api/notes.ts @@ -12,7 +12,7 @@ import ValidationError from "../../errors/validation_error.js"; import blobService from "../../services/blob.js"; import type { Request } from "express"; import type BBranch from "../../becca/entities/bbranch.js"; -import type { AttributeRow } from "@triliumnext/commons"; +import type { AttributeRow, DeleteNotesPreview } from "@triliumnext/commons"; /** * @swagger @@ -339,7 +339,7 @@ function getDeleteNotesPreview(req: Request) { return { noteIdsToBeDeleted: Array.from(noteIdsToBeDeleted), brokenRelations - }; + } satisfies DeleteNotesPreview; } function forceSaveRevision(req: Request) { diff --git a/apps/server/src/routes/api/revisions.ts b/apps/server/src/routes/api/revisions.ts index 18fbb7c39..f1edb3f13 100644 --- a/apps/server/src/routes/api/revisions.ts +++ b/apps/server/src/routes/api/revisions.ts @@ -12,6 +12,7 @@ import type { Request, Response } from "express"; import type BRevision from "../../becca/entities/brevision.js"; import type BNote from "../../becca/entities/bnote.js"; import type { NotePojo } from "../../becca/becca-interface.js"; +import { RevisionItem, RevisionRow } from "@triliumnext/commons"; interface NotePath { noteId: string; @@ -41,7 +42,7 @@ function getRevisions(req: Request) { WHERE revisions.noteId = ? ORDER BY revisions.utcDateCreated DESC`, [req.params.noteId] - ); + ) satisfies RevisionItem[]; } function getRevision(req: Request) { @@ -59,7 +60,7 @@ function getRevision(req: Request) { } } - return revision; + return revision satisfies RevisionRow; } function getRevisionFilename(revision: BRevision) { diff --git a/packages/commons/src/lib/rows.ts b/packages/commons/src/lib/rows.ts index d45b1eb16..8bf64b275 100644 --- a/packages/commons/src/lib/rows.ts +++ b/packages/commons/src/lib/rows.ts @@ -28,10 +28,10 @@ export interface RevisionRow { title: string; blobId?: string; dateLastEdited?: string; - dateCreated: string; + dateCreated?: string; utcDateLastEdited?: string; utcDateCreated: string; - utcDateModified: string; + utcDateModified?: string; contentLength?: number; } diff --git a/packages/commons/src/lib/server_api.ts b/packages/commons/src/lib/server_api.ts index a382456e1..81f45574a 100644 --- a/packages/commons/src/lib/server_api.ts +++ b/packages/commons/src/lib/server_api.ts @@ -1,4 +1,4 @@ -import { AttributeRow } from "./rows.js"; +import { AttributeRow, NoteType } from "./rows.js"; export interface AppInfo { appVersion: string; @@ -17,3 +17,14 @@ export interface DeleteNotesPreview { noteIdsToBeDeleted: string[]; brokenRelations: AttributeRow[]; } + +export interface RevisionItem { + noteId: string; + revisionId?: string; + dateLastEdited?: string; + contentLength?: number; + type: NoteType; + title: string; + isProtected?: boolean; + mime: string; +}