From 7d4b5eb33a5ae9981ce17d37970245b574b6444a Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 14 Dec 2024 15:01:56 +0000 Subject: [PATCH] Replace document_id with relative id on the FE --- plugin/src/database/database.ts | 7 --- plugin/src/database/document-metadata.ts | 2 - plugin/src/services/sync_service.ts | 65 +++++------------------- 3 files changed, 14 insertions(+), 60 deletions(-) diff --git a/plugin/src/database/database.ts b/plugin/src/database/database.ts index 05f1e16..2fa58a1 100644 --- a/plugin/src/database/database.ts +++ b/plugin/src/database/database.ts @@ -3,7 +3,6 @@ import { DEFAULT_SETTINGS, SyncSettings } from "./sync-settings"; import { RelativePath, DocumentMetadata, - DocumentId, DocumentVersionId, } from "./document-metadata"; @@ -88,17 +87,14 @@ export class Database { public async setDocument({ relativePath, - documentId, parentVersionId, hash, }: { relativePath: RelativePath; - documentId: DocumentId; parentVersionId: DocumentVersionId; hash: string; }): Promise { this._documents.set(relativePath, { - documentId, parentVersionId, hash, }); @@ -108,19 +104,16 @@ export class Database { public async moveDocument({ oldRelativePath, relativePath, - documentId, parentVersionId, hash, }: { oldRelativePath: RelativePath; relativePath: RelativePath; - documentId: DocumentId; parentVersionId: DocumentVersionId; hash: string; }): Promise { this._documents.delete(oldRelativePath); this._documents.set(relativePath, { - documentId, parentVersionId, hash, }); diff --git a/plugin/src/database/document-metadata.ts b/plugin/src/database/document-metadata.ts index b015d83..b74a7f9 100644 --- a/plugin/src/database/document-metadata.ts +++ b/plugin/src/database/document-metadata.ts @@ -1,9 +1,7 @@ -export type DocumentId = string; export type DocumentVersionId = number; export type RelativePath = string; export interface DocumentMetadata { - documentId: DocumentId; parentVersionId: DocumentVersionId; hash: string; } diff --git a/plugin/src/services/sync_service.ts b/plugin/src/services/sync_service.ts index 2a39485..b53d0f6 100644 --- a/plugin/src/services/sync_service.ts +++ b/plugin/src/services/sync_service.ts @@ -6,8 +6,8 @@ import { Logger } from "src/logger"; import { Database } from "src/database/database"; import { SyncSettings } from "src/database/sync-settings"; import { - DocumentId, DocumentVersionId, + RelativePath, } from "src/database/document-metadata.js"; export class SyncServer { @@ -46,61 +46,24 @@ export class SyncServer { return response.data; } - public async create({ + public async put({ relativePath, - contentBytes, - createdDate, - }: { - contentBytes: Uint8Array; - relativePath: string; - createdDate: Date; - }): Promise { - let response = await this.client.POST("/vaults/{vault_id}/documents", { - params: { - path: { vault_id: SyncServer.VAULT_ID }, - header: { - authorization: - "Bearer " + this.database.getSettings().token, - }, - }, - body: { - contentBase64: lib.bytes_to_base64(contentBytes), - createdDate: createdDate.toISOString(), - relativePath, - }, - }); - - if (!response.data) { - throw new Error(`Failed to create document: ${response.error}`); - } - - Logger.getInstance().info( - "Created document " + JSON.stringify(response.data) - ); - - return response.data; - } - - public async update({ - documentId, parentVersionId, - relativePath, contentBytes, createdDate, }: { - documentId: DocumentId; - parentVersionId: DocumentVersionId; - relativePath: string; + relativePath: RelativePath; + parentVersionId: DocumentVersionId | undefined; contentBytes: Uint8Array; createdDate: Date; }): Promise { let response = await this.client.PUT( - "/vaults/{vault_id}/documents/{document_id}", + "/vaults/{vault_id}/documents/{relative_path}", { params: { path: { vault_id: SyncServer.VAULT_ID, - document_id: documentId, + relative_path: encodeURIComponent(relativePath), }, header: { authorization: @@ -128,19 +91,19 @@ export class SyncServer { } public async delete({ - documentId, + relativePath, createdDate, }: { - documentId: DocumentId; + relativePath: RelativePath; createdDate: Date; }): Promise { const response = await this.client.DELETE( - "/vaults/{vault_id}/documents/{document_id}", + "/vaults/{vault_id}/documents/{relative_path}", { params: { path: { vault_id: SyncServer.VAULT_ID, - document_id: documentId, + relative_path: encodeURIComponent(relativePath), }, header: { authorization: @@ -166,17 +129,17 @@ export class SyncServer { } public async get({ - documentId, + relativePath, }: { - documentId: DocumentId; + relativePath: RelativePath; }): Promise { const response = await this.client.GET( - "/vaults/{vault_id}/documents/{document_id}", + "/vaults/{vault_id}/documents/{relative_path}", { params: { path: { vault_id: SyncServer.VAULT_ID, - document_id: documentId, + relative_path: encodeURIComponent(relativePath), }, header: { authorization: