From 1d81c94d479eeab568d3063529f815c2136dc2f7 Mon Sep 17 00:00:00 2001 From: Eric Doughty-Papassideris Date: Sun, 15 Sep 2024 01:19:05 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20ooconnector:=20using=20user=20to?= =?UTF-8?q?ken=20for=20post=20to=20backend=20(#525)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../onlyoffice-connector/src/config/index.ts | 11 +++++++---- .../src/controllers/browser-editor.controller.ts | 2 +- .../onlyoffice-connector/src/services/api.service.ts | 3 ++- .../src/services/drive.service.ts | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/tdrive/connectors/onlyoffice-connector/src/config/index.ts b/tdrive/connectors/onlyoffice-connector/src/config/index.ts index 43d33300..a312ed13 100644 --- a/tdrive/connectors/onlyoffice-connector/src/config/index.ts +++ b/tdrive/connectors/onlyoffice-connector/src/config/index.ts @@ -4,6 +4,7 @@ config({ path: `.env.${process.env.NODE_ENV || 'development'}.local` }); export const { NODE_ENV, SERVER_PORT, + SERVER_BIND, SECRET_KEY, CREDENTIALS_ENDPOINT, ONLY_OFFICE_SERVER, @@ -13,8 +14,10 @@ export const { SERVER_ORIGIN, } = process.env; -export const twakeDriveTokenRefrehPeriodMS = 10 * 60 * 1000; -export const onlyOfficeForgottenFilesCheckPeriodMS = 10 * 60 * 1000; -export const onlyOfficeConnectivityCheckPeriodMS = 10 * 60 * 1000; +const secs = 1000, + mins = 60 * secs; -export const SERVER_TDRIVE_API_PREFIX = '/tdriveApi/1'; +export const twakeDriveTokenRefrehPeriodMS = 10 * mins; +export const onlyOfficeForgottenFilesCheckPeriodMS = 10 * mins; +export const onlyOfficeConnectivityCheckPeriodMS = 10 * mins; +export const onlyOfficeCallbackTimeoutMS = 10 * secs; diff --git a/tdrive/connectors/onlyoffice-connector/src/controllers/browser-editor.controller.ts b/tdrive/connectors/onlyoffice-connector/src/controllers/browser-editor.controller.ts index c2779403..e1bcf19f 100644 --- a/tdrive/connectors/onlyoffice-connector/src/controllers/browser-editor.controller.ts +++ b/tdrive/connectors/onlyoffice-connector/src/controllers/browser-editor.controller.ts @@ -76,7 +76,7 @@ class BrowserEditorController { let editingSessionKey = null; if (!preview) { - editingSessionKey = await driveService.beginEditingSession(company_id, drive_file_id); + editingSessionKey = await driveService.beginEditingSession(company_id, drive_file_id, token); //TODO catch error and display to the user when we can't stopped editing //TODO Log error with format to be able to set up grafana alert fir such king of errors diff --git a/tdrive/connectors/onlyoffice-connector/src/services/api.service.ts b/tdrive/connectors/onlyoffice-connector/src/services/api.service.ts index a509cf5c..db046012 100644 --- a/tdrive/connectors/onlyoffice-connector/src/services/api.service.ts +++ b/tdrive/connectors/onlyoffice-connector/src/services/api.service.ts @@ -91,7 +91,7 @@ class ApiService implements IApiService { }; public post = async (params: IApiServiceRequestParams): Promise => { - const { url, payload, headers } = params; + const { url, token, payload, headers } = params; const axiosWithToken = await this.requireAxios(); @@ -99,6 +99,7 @@ class ApiService implements IApiService { return await axiosWithToken.post(url, payload, { headers: { ...headers, + ...(token ? { Authorization: `Bearer ${token}` } : {}), }, }); } catch (error) { diff --git a/tdrive/connectors/onlyoffice-connector/src/services/drive.service.ts b/tdrive/connectors/onlyoffice-connector/src/services/drive.service.ts index 24046353..bf93d75a 100644 --- a/tdrive/connectors/onlyoffice-connector/src/services/drive.service.ts +++ b/tdrive/connectors/onlyoffice-connector/src/services/drive.service.ts @@ -49,12 +49,12 @@ class DriveService implements IDriveService { } }; - public async beginEditingSession(company_id: string, drive_file_id: string) { + public async beginEditingSession(company_id: string, drive_file_id: string, user_token?: string) { try { const resource = await apiService.post<{}, { editingSessionKey: string }>({ url: `/internal/services/documents/v1/companies/${company_id}/item/${drive_file_id}/editing_session`, payload: { - editorApplicationId: 'mock_application_id', + editorApplicationId: 'tdrive_onlyoffice', }, }); if (resource?.editingSessionKey) {