]> BookStack Code Mirror - bookstack/blobdiff - resources/js/services/drawio.ts
respective book and chapter structure added.
[bookstack] / resources / js / services / drawio.ts
index 75b161f75d5c2c57150e5c252cc9fce82c5399ae..4d7d88f1fdd26d4e84a6fc9f449d4c6a36528289 100644 (file)
@@ -1,6 +1,7 @@
 // Docs: https://www.diagrams.net/doc/faq/embed-mode
 import * as store from './store';
 import {ConfirmDialog} from "../components";
+import {HttpError} from "./http";
 
 type DrawioExportEventResponse = {
     action: 'export',
@@ -126,13 +127,13 @@ export async function show(drawioUrl: string, onInitCallback: () => Promise<stri
     lastApprovedOrigin = (new URL(drawioUrl)).origin;
 }
 
-export async function upload(imageData: string, pageUploadedToId: string): Promise<{}|string> {
+export async function upload(imageData: string, pageUploadedToId: string): Promise<{id: number, url: string}> {
     const data = {
         image: imageData,
         uploaded_to: pageUploadedToId,
     };
     const resp = await window.$http.post(window.baseUrl('/images/drawio'), data);
-    return resp.data;
+    return resp.data as {id: number, url: string};
 }
 
 export function close() {
@@ -145,9 +146,10 @@ export function close() {
 export async function load(drawingId: string): Promise<string> {
     try {
         const resp = await window.$http.get(window.baseUrl(`/images/drawio/base64/${drawingId}`));
-        return `data:image/png;base64,${resp.data.content}`;
+        const data = resp.data as {content: string};
+        return `data:image/png;base64,${data.content}`;
     } catch (error) {
-        if (error instanceof window.$http.HttpError) {
+        if (error instanceof HttpError) {
             window.$events.showResponseError(error);
         }
         close();