Rename 'firebase' to 'database'

This commit is contained in:
Tims777 2024-09-23 16:19:56 +02:00
parent 466c9bc796
commit 36a819491a
5 changed files with 47 additions and 47 deletions

View File

@ -70,7 +70,7 @@ import { restore, restoreAppState } from "../packages/excalidraw/data/restore";
import { updateStaleImageStatuses } from "./data/FileManager"; import { updateStaleImageStatuses } from "./data/FileManager";
import { newElementWith } from "../packages/excalidraw/element/mutateElement"; import { newElementWith } from "../packages/excalidraw/element/mutateElement";
import { isInitializedImageElement } from "../packages/excalidraw/element/typeChecks"; import { isInitializedImageElement } from "../packages/excalidraw/element/typeChecks";
import { loadFilesFromFirebase } from "./data/firebase"; import { loadFilesFromDatabase } from "./data/database";
import { import {
LibraryIndexedDBAdapter, LibraryIndexedDBAdapter,
LibraryLocalStorageMigrationAdapter, LibraryLocalStorageMigrationAdapter,
@ -394,7 +394,7 @@ const ExcalidrawWrapper = () => {
if (collabAPI?.isCollaborating()) { if (collabAPI?.isCollaborating()) {
if (data.scene.elements) { if (data.scene.elements) {
collabAPI collabAPI
.fetchImageFilesFromFirebase({ .fetchImageFiles({
elements: data.scene.elements, elements: data.scene.elements,
forceFetchFiles: true, forceFetchFiles: true,
}) })
@ -417,7 +417,7 @@ const ExcalidrawWrapper = () => {
}, [] as FileId[]) || []; }, [] as FileId[]) || [];
if (data.isExternalScene) { if (data.isExternalScene) {
loadFilesFromFirebase( loadFilesFromDatabase(
`${FIREBASE_STORAGE_PREFIXES.shareLinkFiles}/${data.id}`, `${FIREBASE_STORAGE_PREFIXES.shareLinkFiles}/${data.id}`,
data.key, data.key,
fileIds, fileIds,

View File

@ -46,12 +46,12 @@ import {
getSyncableElements, getSyncableElements,
} from "../data"; } from "../data";
import { import {
isSavedToFirebase, isSavedToDatabase,
loadFilesFromFirebase, loadFilesFromDatabase,
loadFromFirebase, loadFromDatabase,
saveFilesToFirebase, saveFilesToDatabase,
saveToFirebase, saveToDatabase,
} from "../data/firebase"; } from "../data/database";
import { import {
importUsernameFromLocalStorage, importUsernameFromLocalStorage,
saveUsernameToLocalStorage, saveUsernameToLocalStorage,
@ -111,7 +111,7 @@ export interface CollabAPI {
startCollaboration: CollabInstance["startCollaboration"]; startCollaboration: CollabInstance["startCollaboration"];
stopCollaboration: CollabInstance["stopCollaboration"]; stopCollaboration: CollabInstance["stopCollaboration"];
syncElements: CollabInstance["syncElements"]; syncElements: CollabInstance["syncElements"];
fetchImageFilesFromFirebase: CollabInstance["fetchImageFilesFromFirebase"]; fetchImageFiles: CollabInstance["fetchImageFiles"];
setUsername: CollabInstance["setUsername"]; setUsername: CollabInstance["setUsername"];
getUsername: CollabInstance["getUsername"]; getUsername: CollabInstance["getUsername"];
getActiveRoomLink: CollabInstance["getActiveRoomLink"]; getActiveRoomLink: CollabInstance["getActiveRoomLink"];
@ -149,7 +149,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
throw new AbortError(); throw new AbortError();
} }
return loadFilesFromFirebase(`files/rooms/${roomId}`, roomKey, fileIds); return loadFilesFromDatabase(`files/rooms/${roomId}`, roomKey, fileIds);
}, },
saveFiles: async ({ addedFiles }) => { saveFiles: async ({ addedFiles }) => {
const { roomId, roomKey } = this.portal; const { roomId, roomKey } = this.portal;
@ -157,7 +157,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
throw new AbortError(); throw new AbortError();
} }
return saveFilesToFirebase({ return saveFilesToDatabase({
prefix: `${FIREBASE_STORAGE_PREFIXES.collabFiles}/${roomId}`, prefix: `${FIREBASE_STORAGE_PREFIXES.collabFiles}/${roomId}`,
files: await encodeFilesForUpload({ files: await encodeFilesForUpload({
files: addedFiles, files: addedFiles,
@ -201,7 +201,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
onPointerUpdate: this.onPointerUpdate, onPointerUpdate: this.onPointerUpdate,
startCollaboration: this.startCollaboration, startCollaboration: this.startCollaboration,
syncElements: this.syncElements, syncElements: this.syncElements,
fetchImageFilesFromFirebase: this.fetchImageFilesFromFirebase, fetchImageFiles: this.fetchImageFiles,
stopCollaboration: this.stopCollaboration, stopCollaboration: this.stopCollaboration,
setUsername: this.setUsername, setUsername: this.setUsername,
getUsername: this.getUsername, getUsername: this.getUsername,
@ -265,21 +265,21 @@ class Collab extends PureComponent<CollabProps, CollabState> {
if ( if (
this.isCollaborating() && this.isCollaborating() &&
(this.fileManager.shouldPreventUnload(syncableElements) || (this.fileManager.shouldPreventUnload(syncableElements) ||
!isSavedToFirebase(this.portal, syncableElements)) !isSavedToDatabase(this.portal, syncableElements))
) { ) {
// this won't run in time if user decides to leave the site, but // this won't run in time if user decides to leave the site, but
// the purpose is to run in immediately after user decides to stay // the purpose is to run in immediately after user decides to stay
this.saveCollabRoomToFirebase(syncableElements); this.saveCollabRoom(syncableElements);
preventUnload(event); preventUnload(event);
} }
}); });
saveCollabRoomToFirebase = async ( saveCollabRoom = async (
syncableElements: readonly SyncableExcalidrawElement[], syncableElements: readonly SyncableExcalidrawElement[],
) => { ) => {
try { try {
const storedElements = await saveToFirebase( const storedElements = await saveToDatabase(
this.portal, this.portal,
syncableElements, syncableElements,
this.excalidrawAPI.getAppState(), this.excalidrawAPI.getAppState(),
@ -318,11 +318,11 @@ class Collab extends PureComponent<CollabProps, CollabState> {
stopCollaboration = (keepRemoteState = true) => { stopCollaboration = (keepRemoteState = true) => {
this.queueBroadcastAllElements.cancel(); this.queueBroadcastAllElements.cancel();
this.queueSaveToFirebase.cancel(); this.queueSaveToDatabase.cancel();
this.loadImageFiles.cancel(); this.loadImageFiles.cancel();
this.resetErrorIndicator(true); this.resetErrorIndicator(true);
this.saveCollabRoomToFirebase( this.saveCollabRoom(
getSyncableElements( getSyncableElements(
this.excalidrawAPI.getSceneElementsIncludingDeleted(), this.excalidrawAPI.getSceneElementsIncludingDeleted(),
), ),
@ -379,7 +379,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
} }
}; };
private fetchImageFilesFromFirebase = async (opts: { private fetchImageFiles = async (opts: {
elements: readonly ExcalidrawElement[]; elements: readonly ExcalidrawElement[];
/** /**
* Indicates whether to fetch files that are errored or pending and older * Indicates whether to fetch files that are errored or pending and older
@ -513,7 +513,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
storeAction: StoreAction.UPDATE, storeAction: StoreAction.UPDATE,
}); });
this.saveCollabRoomToFirebase(getSyncableElements(elements)); this.saveCollabRoom(getSyncableElements(elements));
} }
// fallback in case you're not alone in the room but still don't receive // fallback in case you're not alone in the room but still don't receive
@ -547,7 +547,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
const reconciledElements = const reconciledElements =
this._reconcileElements(remoteElements); this._reconcileElements(remoteElements);
this.handleRemoteSceneUpdate(reconciledElements); this.handleRemoteSceneUpdate(reconciledElements);
// noop if already resolved via init from firebase // noop if already resolved via init from database
scenePromise.resolve({ scenePromise.resolve({
elements: reconciledElements, elements: reconciledElements,
scrollToContent: true, scrollToContent: true,
@ -678,7 +678,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
this.excalidrawAPI.resetScene(); this.excalidrawAPI.resetScene();
try { try {
const elements = await loadFromFirebase( const elements = await loadFromDatabase(
roomLinkData.roomId, roomLinkData.roomId,
roomLinkData.roomKey, roomLinkData.roomKey,
this.portal.socket, this.portal.socket,
@ -730,7 +730,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
private loadImageFiles = throttle(async () => { private loadImageFiles = throttle(async () => {
const { loadedFiles, erroredFiles } = const { loadedFiles, erroredFiles } =
await this.fetchImageFilesFromFirebase({ await this.fetchImageFiles({
elements: this.excalidrawAPI.getSceneElementsIncludingDeleted(), elements: this.excalidrawAPI.getSceneElementsIncludingDeleted(),
}); });
@ -896,7 +896,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
syncElements = (elements: readonly OrderedExcalidrawElement[]) => { syncElements = (elements: readonly OrderedExcalidrawElement[]) => {
this.broadcastElements(elements); this.broadcastElements(elements);
this.queueSaveToFirebase(); this.queueSaveToDatabase();
}; };
queueBroadcastAllElements = throttle(() => { queueBroadcastAllElements = throttle(() => {
@ -913,10 +913,10 @@ class Collab extends PureComponent<CollabProps, CollabState> {
this.setLastBroadcastedOrReceivedSceneVersion(newVersion); this.setLastBroadcastedOrReceivedSceneVersion(newVersion);
}, SYNC_FULL_SCENE_INTERVAL_MS); }, SYNC_FULL_SCENE_INTERVAL_MS);
queueSaveToFirebase = throttle( queueSaveToDatabase = throttle(
() => { () => {
if (this.portal.socketInitialized) { if (this.portal.socketInitialized) {
this.saveCollabRoomToFirebase( this.saveCollabRoom(
getSyncableElements( getSyncableElements(
this.excalidrawAPI.getSceneElementsIncludingDeleted(), this.excalidrawAPI.getSceneElementsIncludingDeleted(),
), ),

View File

@ -96,7 +96,7 @@ const loadFirestore = async () => {
return firebase; return firebase;
}; };
export const loadFirebaseStorage = async () => { const loadFirebaseStorage = async () => {
const firebase = await _getFirebase(); const firebase = await _getFirebase();
if (!firebaseStoragePromise) { if (!firebaseStoragePromise) {
firebaseStoragePromise = import( firebaseStoragePromise = import(
@ -154,7 +154,7 @@ class FirebaseSceneVersionCache {
}; };
} }
export const isSavedToFirebase = ( export const isSavedToDatabase = (
portal: Portal, portal: Portal,
elements: readonly ExcalidrawElement[], elements: readonly ExcalidrawElement[],
): boolean => { ): boolean => {
@ -168,7 +168,7 @@ export const isSavedToFirebase = (
return true; return true;
}; };
export const saveFilesToFirebase = async ({ export const saveFilesToDatabase = async ({
prefix, prefix,
files, files,
}: { }: {
@ -220,7 +220,7 @@ const createFirebaseSceneDocument = async (
} as FirebaseStoredScene; } as FirebaseStoredScene;
}; };
export const saveToFirebase = async ( export const saveToDatabase = async (
portal: Portal, portal: Portal,
elements: readonly SyncableExcalidrawElement[], elements: readonly SyncableExcalidrawElement[],
appState: AppState, appState: AppState,
@ -231,7 +231,7 @@ export const saveToFirebase = async (
!roomId || !roomId ||
!roomKey || !roomKey ||
!socket || !socket ||
isSavedToFirebase(portal, elements) isSavedToDatabase(portal, elements)
) { ) {
return null; return null;
} }
@ -289,7 +289,7 @@ export const saveToFirebase = async (
return storedElements; return storedElements;
}; };
export const loadFromFirebase = async ( export const loadFromDatabase = async (
roomId: string, roomId: string,
roomKey: string, roomKey: string,
socket: Socket | null, socket: Socket | null,
@ -314,7 +314,7 @@ export const loadFromFirebase = async (
return elements; return elements;
}; };
export const loadFilesFromFirebase = async ( export const loadFilesFromDatabase = async (
prefix: string, prefix: string,
decryptionKey: string, decryptionKey: string,
filesIds: readonly FileId[], filesIds: readonly FileId[],

View File

@ -35,7 +35,7 @@ import {
ROOM_ID_BYTES, ROOM_ID_BYTES,
} from "../app_constants"; } from "../app_constants";
import { encodeFilesForUpload } from "./FileManager"; import { encodeFilesForUpload } from "./FileManager";
import { saveFilesToFirebase } from "./firebase"; import { saveFilesToDatabase } from "./database";
export type SyncableExcalidrawElement = OrderedExcalidrawElement & export type SyncableExcalidrawElement = OrderedExcalidrawElement &
MakeBrand<"SyncableExcalidrawElement">; MakeBrand<"SyncableExcalidrawElement">;
@ -316,7 +316,7 @@ export const exportToBackend = async (
url.hash = `json=${json.id},${encryptionKey}`; url.hash = `json=${json.id},${encryptionKey}`;
const urlString = url.toString(); const urlString = url.toString();
await saveFilesToFirebase({ await saveFilesToDatabase({
prefix: `/files/shareLinks/${json.id}`, prefix: `/files/shareLinks/${json.id}`,
files: filesToUpload, files: filesToUpload,
}); });

View File

@ -26,25 +26,25 @@ Object.defineProperty(window, "crypto", {
}, },
}); });
vi.mock("../../excalidraw-app/data/firebase.ts", () => { vi.mock("../../excalidraw-app/data/database.ts", () => {
const loadFromFirebase = async () => null; const loadFromDatabase = async () => null;
const saveToFirebase = () => {}; const saveToDatabase = () => {};
const isSavedToFirebase = () => true; const isSavedToDatabase = () => true;
const loadFilesFromFirebase = async () => ({ const loadFilesFromDatabase = async () => ({
loadedFiles: [], loadedFiles: [],
erroredFiles: [], erroredFiles: [],
}); });
const saveFilesToFirebase = async () => ({ const saveFilesToDatabase = async () => ({
savedFiles: new Map(), savedFiles: new Map(),
erroredFiles: new Map(), erroredFiles: new Map(),
}); });
return { return {
loadFromFirebase, loadFromDatabase,
saveToFirebase, saveToDatabase,
isSavedToFirebase, isSavedToDatabase,
loadFilesFromFirebase, loadFilesFromDatabase,
saveFilesToFirebase, saveFilesToDatabase,
}; };
}); });