| 
									
										
										
										
											2025-08-06 17:10:18 +03:00
										 |  |  | import { AttributeRow, NoteType } from "./rows.js"; | 
					
						
							| 
									
										
										
										
											2025-08-05 18:05:41 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-15 12:00:11 +03:00
										 |  |  | type Response = { | 
					
						
							|  |  |  |     success: true, | 
					
						
							| 
									
										
										
										
											2025-08-15 14:18:59 +03:00
										 |  |  |     message?: string; | 
					
						
							| 
									
										
										
										
											2025-08-15 12:00:11 +03:00
										 |  |  | } | { | 
					
						
							|  |  |  |     success: false; | 
					
						
							|  |  |  |     message: string; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-03 16:22:54 +03:00
										 |  |  | export interface AppInfo { | 
					
						
							|  |  |  |     appVersion: string; | 
					
						
							|  |  |  |     dbVersion: number; | 
					
						
							|  |  |  |     nodeVersion: string; | 
					
						
							|  |  |  |     syncVersion: number; | 
					
						
							|  |  |  |     buildDate: string; | 
					
						
							|  |  |  |     buildRevision: string; | 
					
						
							|  |  |  |     dataDirectory: string; | 
					
						
							|  |  |  |     clipperProtocolVersion: string; | 
					
						
							|  |  |  |     /** for timezone inference */ | 
					
						
							|  |  |  |     utcDateTime: string; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-05 18:05:41 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface DeleteNotesPreview { | 
					
						
							|  |  |  |     noteIdsToBeDeleted: string[]; | 
					
						
							|  |  |  |     brokenRelations: AttributeRow[]; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-06 17:10:18 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface RevisionItem { | 
					
						
							|  |  |  |     noteId: string; | 
					
						
							|  |  |  |     revisionId?: string; | 
					
						
							|  |  |  |     dateLastEdited?: string; | 
					
						
							|  |  |  |     contentLength?: number; | 
					
						
							|  |  |  |     type: NoteType; | 
					
						
							|  |  |  |     title: string; | 
					
						
							|  |  |  |     isProtected?: boolean; | 
					
						
							|  |  |  |     mime: string; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-06 18:10:02 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface RevisionPojo { | 
					
						
							|  |  |  |     revisionId?: string; | 
					
						
							|  |  |  |     noteId: string; | 
					
						
							|  |  |  |     type: NoteType; | 
					
						
							|  |  |  |     mime: string; | 
					
						
							|  |  |  |     isProtected?: boolean; | 
					
						
							|  |  |  |     title: string; | 
					
						
							|  |  |  |     blobId?: string; | 
					
						
							|  |  |  |     dateLastEdited?: string; | 
					
						
							|  |  |  |     dateCreated?: string; | 
					
						
							|  |  |  |     utcDateLastEdited?: string; | 
					
						
							|  |  |  |     utcDateCreated?: string; | 
					
						
							|  |  |  |     utcDateModified?: string; | 
					
						
							|  |  |  |     content?: string | Buffer<ArrayBufferLike>; | 
					
						
							|  |  |  |     contentLength?: number; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-06 22:22:11 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-07 22:31:51 +03:00
										 |  |  | export interface RecentChangeRow { | 
					
						
							| 
									
										
										
										
											2025-08-06 22:22:11 +03:00
										 |  |  |     noteId: string; | 
					
						
							| 
									
										
										
										
											2025-08-07 22:31:51 +03:00
										 |  |  |     current_isDeleted: boolean; | 
					
						
							|  |  |  |     current_deleteId: string; | 
					
						
							|  |  |  |     current_title: string; | 
					
						
							|  |  |  |     current_isProtected: boolean; | 
					
						
							|  |  |  |     title: string; | 
					
						
							|  |  |  |     utcDate: string; | 
					
						
							| 
									
										
										
										
											2025-08-06 22:22:11 +03:00
										 |  |  |     date: string; | 
					
						
							| 
									
										
										
										
											2025-08-07 22:31:51 +03:00
										 |  |  |     canBeUndeleted?: boolean; | 
					
						
							| 
									
										
										
										
											2025-08-06 22:22:11 +03:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-07 20:08:51 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface BulkActionAffectedNotes { | 
					
						
							|  |  |  |     affectedNoteCount: number; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-14 22:40:54 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface DatabaseCheckIntegrityResponse { | 
					
						
							|  |  |  |     results: { | 
					
						
							|  |  |  |         integrity_check: string; | 
					
						
							|  |  |  |     }[]; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-14 23:10:25 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface DatabaseAnonymizeResponse { | 
					
						
							|  |  |  |     success: boolean; | 
					
						
							|  |  |  |     anonymizedFilePath: string; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface AnonymizedDbResponse { | 
					
						
							|  |  |  |     filePath: string; | 
					
						
							|  |  |  |     fileName: string; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-15 11:30:48 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-08-15 12:00:11 +03:00
										 |  |  | export type SyncTestResponse = Response; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface EtapiToken { | 
					
						
							|  |  |  |     name: string; | 
					
						
							|  |  |  |     utcDateCreated: string; | 
					
						
							|  |  |  |     etapiTokenId?: string; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface PostTokensResponse { | 
					
						
							|  |  |  |     authToken: string; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-15 12:52:59 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface BackupDatabaseNowResponse { | 
					
						
							|  |  |  |     backupFile: string; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-15 13:11:44 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface DatabaseBackup { | 
					
						
							|  |  |  |     fileName: string; | 
					
						
							|  |  |  |     filePath: string; | 
					
						
							|  |  |  |     mtime: Date; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-15 14:18:59 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export type ChangePasswordResponse = Response; | 
					
						
							| 
									
										
										
										
											2025-08-19 10:37:14 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface TOTPStatus { | 
					
						
							|  |  |  |     set: boolean; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface TOTPGenerate { | 
					
						
							|  |  |  |     success: boolean; | 
					
						
							|  |  |  |     message: string; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface TOTPRecoveryKeysResponse { | 
					
						
							|  |  |  |     success: boolean; | 
					
						
							|  |  |  |     recoveryCodes?: string[]; | 
					
						
							|  |  |  |     keysExist?: boolean; | 
					
						
							|  |  |  |     usedRecoveryCodes?: string[]; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-19 10:50:58 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface OAuthStatus { | 
					
						
							|  |  |  |     enabled: boolean; | 
					
						
							|  |  |  |     name?: string; | 
					
						
							|  |  |  |     email?: string; | 
					
						
							|  |  |  |     missingVars?: string[]; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-08-19 13:46:13 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | // Interface for the Ollama model response
 | 
					
						
							|  |  |  | export interface OllamaModelResponse { | 
					
						
							|  |  |  |     success: boolean; | 
					
						
							|  |  |  |     models: Array<{ | 
					
						
							|  |  |  |         name: string; | 
					
						
							|  |  |  |         model: string; | 
					
						
							|  |  |  |         details?: { | 
					
						
							|  |  |  |             family?: string; | 
					
						
							|  |  |  |             parameter_size?: string; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }>; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface OpenAiOrAnthropicModelResponse { | 
					
						
							|  |  |  |     success: boolean; | 
					
						
							|  |  |  |     chatModels: Array<{ | 
					
						
							|  |  |  |         id: string; | 
					
						
							|  |  |  |         name: string; | 
					
						
							|  |  |  |         type: string; | 
					
						
							|  |  |  |     }>; | 
					
						
							|  |  |  | } |