diff --git a/code/client/src/domain/editor/fugue/Fugue.ts b/code/client/src/domain/editor/fugue/Fugue.ts index 70c3cb5..9c0190a 100644 --- a/code/client/src/domain/editor/fugue/Fugue.ts +++ b/code/client/src/domain/editor/fugue/Fugue.ts @@ -28,7 +28,7 @@ export class Fugue { } applyOperations(operations: Operation[], override: boolean = false) { - if (override) this.tree.clear(); // clear the tree if operations will override the current state + if (override) this.tree.clear(); for (const operation of operations) { switch (operation.type) { case 'insert': diff --git a/code/client/src/pwa/manifest-config.ts b/code/client/src/pwa/manifest-config.ts index 9de7296..6fa5047 100644 --- a/code/client/src/pwa/manifest-config.ts +++ b/code/client/src/pwa/manifest-config.ts @@ -33,4 +33,4 @@ export const manifestConfig: Partial = { purpose: 'maskable', }, ], -}; \ No newline at end of file +}; diff --git a/code/client/src/pwa/pwa-assets.config.ts b/code/client/src/pwa/pwa-assets.config.ts index d291c05..0801d15 100644 --- a/code/client/src/pwa/pwa-assets.config.ts +++ b/code/client/src/pwa/pwa-assets.config.ts @@ -1,9 +1,9 @@ import { defineConfig, minimal2023Preset as preset } from '@vite-pwa/assets-generator/config'; export default defineConfig({ - headLinkOptions: { - preset: '2023', - }, - preset, - images: ['public/notespace.png'], -}); \ No newline at end of file + headLinkOptions: { + preset: '2023', + }, + preset, + images: ['public/notespace.png'], +}); diff --git a/code/client/src/pwa/pwa-config.ts b/code/client/src/pwa/pwa-config.ts index def6cb2..4f8a4e0 100644 --- a/code/client/src/pwa/pwa-config.ts +++ b/code/client/src/pwa/pwa-config.ts @@ -1,11 +1,11 @@ import { VitePWAOptions } from 'vite-plugin-pwa'; -import {manifestConfig} from "./manifest-config"; +import { manifestConfig } from './manifest-config'; const pwaConfig: Partial = { registerType: 'autoUpdate', manifest: manifestConfig, devOptions: { enabled: true, - } + }, }; export default pwaConfig; diff --git a/code/client/src/ui/pages/document/components/editor/hooks/useEditorSync.ts b/code/client/src/ui/pages/document/components/editor/hooks/useEditorSync.ts index 51d5183..defe86b 100644 --- a/code/client/src/ui/pages/document/components/editor/hooks/useEditorSync.ts +++ b/code/client/src/ui/pages/document/components/editor/hooks/useEditorSync.ts @@ -1,27 +1,16 @@ import { Dispatch, SetStateAction, useCallback, useEffect } from 'react'; -import { Descendant, Editor } from 'slate'; +import { Editor } from 'slate'; import { toSlate } from '@domain/editor/slate/utils/slate'; import { Fugue } from '@domain/editor/fugue/Fugue'; function useEditorSync(fugue: Fugue, setEditor: Dispatch>) { - // editor syncing - const updateEditor = useCallback( - (newValue: Descendant[]) => { - setEditor(prevState => { - prevState.children = newValue; - return prevState; - }); - }, - [setEditor] - ); - - const syncEditor = useCallback( - (slate?: Descendant[]) => { - const newSlate = slate || toSlate(fugue); - updateEditor(newSlate); - }, - [fugue, updateEditor] - ); + const syncEditor = useCallback(() => { + const newSlate = toSlate(fugue); + setEditor(prevState => { + prevState.children = newSlate; + return prevState; + }); + }, [fugue, setEditor]); // syncs the editor with fugue on mount useEffect(() => { diff --git a/code/server/sql/create_tables.sql b/code/server/sql/create_tables.sql index 78d296e..6672062 100644 --- a/code/server/sql/create_tables.sql +++ b/code/server/sql/create_tables.sql @@ -43,7 +43,7 @@ CREATE TABLE IF NOT EXISTS workspace_member ( -- Triggers --- Resource is deleted -> Remove self from parent's children array + -- Resource is deleted -> Remove self from parent's children array create or replace function on_child_removed() returns trigger as $$ begin --- Check if parent resource exists @@ -57,7 +57,7 @@ CREATE TABLE IF NOT EXISTS workspace_member ( end; $$ language plpgsql; --- Resource is updated -> Update new and old parent's children array + -- Resource is updated -> Update new and old parent's children array create or replace function on_child_updated() returns trigger as $$ begin if new.parent = old.parent then @@ -79,7 +79,7 @@ CREATE TABLE IF NOT EXISTS workspace_member ( end; $$ language plpgsql; --- NEW RESOURCE IS CREATED -> UPDATE SELF'S PARENT ID AND APPEND SELF TO PARENT'S CHILDREN ARRAY + -- New resource is created -> Update self's parent id and append self to parent's children array create or replace function on_new_resource_created() returns trigger as $$ begin --- parent_id is null @@ -110,7 +110,7 @@ CREATE TABLE IF NOT EXISTS workspace_member ( end; $$ language plpgsql; --- Add root resource to resource table when a workspace is created + -- Add root resource to resource table when a workspace is created create or replace function add_root_resource() returns trigger as $$ begin insert into resource (id, workspace, name, type) diff --git a/code/server/src/controllers/http/handlers/resourcesHandlers.ts b/code/server/src/controllers/http/handlers/resourcesHandlers.ts index 55256a9..4f13b27 100644 --- a/code/server/src/controllers/http/handlers/resourcesHandlers.ts +++ b/code/server/src/controllers/http/handlers/resourcesHandlers.ts @@ -3,7 +3,7 @@ import { ResourceInputModel, Resource } from '@notespace/shared/src/workspace/ty import { httpResponse } from '@controllers/http/utils/httpResponse'; import { NextFunction, Request, Response } from 'express'; import { ResourcesService } from '@services/ResourcesService'; -import { InvalidParameterError } from '@domain/errors/errors'; +import { InvalidParameterError } from '@src/errors'; import { Server } from 'socket.io'; import { enforceAuth } from '@controllers/http/middlewares/authMiddlewares'; diff --git a/code/server/src/controllers/http/handlers/usersHandlers.ts b/code/server/src/controllers/http/handlers/usersHandlers.ts index e615863..b19f019 100644 --- a/code/server/src/controllers/http/handlers/usersHandlers.ts +++ b/code/server/src/controllers/http/handlers/usersHandlers.ts @@ -4,7 +4,7 @@ import { UsersService } from '@services/UsersService'; import { httpResponse } from '@controllers/http/utils/httpResponse'; import { enforceAuth } from '@controllers/http/middlewares/authMiddlewares'; import admin from 'firebase-admin'; -import { UnauthorizedError } from '@domain/errors/errors'; +import { UnauthorizedError } from '@src/errors'; function usersHandlers(service: UsersService) { const sessionLogin = async (req: Request, res: Response) => { diff --git a/code/server/src/controllers/http/handlers/workspacesHandlers.ts b/code/server/src/controllers/http/handlers/workspacesHandlers.ts index ad68b70..f27350f 100644 --- a/code/server/src/controllers/http/handlers/workspacesHandlers.ts +++ b/code/server/src/controllers/http/handlers/workspacesHandlers.ts @@ -5,7 +5,7 @@ import { NextFunction, Request, Response } from 'express'; import { WorkspaceInputModel, WorkspaceMeta } from '@notespace/shared/src/workspace/types/workspace'; import { Services } from '@services/Services'; import { Server } from 'socket.io'; -import { ForbiddenError, InvalidParameterError } from '@domain/errors/errors'; +import { ForbiddenError, InvalidParameterError } from '@src/errors'; import { enforceAuth } from '@controllers/http/middlewares/authMiddlewares'; import { getSearchParams, SearchParams } from '@src/utils/searchParams'; import commitsHandlers from '@controllers/http/handlers/commitsHandlers'; diff --git a/code/server/src/controllers/ws/events/document/onJoinDocument.ts b/code/server/src/controllers/ws/events/document/onJoinDocument.ts index 3084e1c..5418a19 100644 --- a/code/server/src/controllers/ws/events/document/onJoinDocument.ts +++ b/code/server/src/controllers/ws/events/document/onJoinDocument.ts @@ -1,6 +1,6 @@ import { Socket } from 'socket.io'; import rooms from '@controllers/ws/rooms/rooms'; -import { InvalidParameterError } from '@domain/errors/errors'; +import { InvalidParameterError } from '@src/errors'; import { getUserFromSocket } from '@controllers/ws/utils'; import { getCursorColor } from '@controllers/ws/events/document/onCursorChange'; import { Collaborator } from '@notespace/shared/src/users/types'; diff --git a/code/server/src/controllers/ws/events/document/onOperation.ts b/code/server/src/controllers/ws/events/document/onOperation.ts index a233d15..adad340 100644 --- a/code/server/src/controllers/ws/events/document/onOperation.ts +++ b/code/server/src/controllers/ws/events/document/onOperation.ts @@ -1,7 +1,7 @@ import { Socket } from 'socket.io'; import { Operation } from '@notespace/shared/src/document/types/operations'; -import { ForbiddenError, InvalidParameterError } from '@domain/errors/errors'; +import { ForbiddenError, InvalidParameterError } from '@src/errors'; import { DocumentsService } from '@services/DocumentsService'; import rooms from '@controllers/ws/rooms/rooms'; diff --git a/code/server/src/controllers/ws/events/workspace/onJoinWorkspace.ts b/code/server/src/controllers/ws/events/workspace/onJoinWorkspace.ts index e71710b..dc4befe 100644 --- a/code/server/src/controllers/ws/events/workspace/onJoinWorkspace.ts +++ b/code/server/src/controllers/ws/events/workspace/onJoinWorkspace.ts @@ -1,5 +1,5 @@ import rooms from '@controllers/ws/rooms/rooms'; -import { InvalidParameterError } from '@domain/errors/errors'; +import { InvalidParameterError } from '@src/errors'; import { WorkspacesService } from '@services/WorkspacesService'; import { Socket } from 'socket.io'; import { getUserFromSocket } from '@controllers/ws/utils'; diff --git a/code/server/src/controllers/ws/rooms/rooms.ts b/code/server/src/controllers/ws/rooms/rooms.ts index b5d46b4..fe07428 100644 --- a/code/server/src/controllers/ws/rooms/rooms.ts +++ b/code/server/src/controllers/ws/rooms/rooms.ts @@ -1,7 +1,7 @@ import { Socket } from 'socket.io'; import Room from '@controllers/ws/rooms/Room'; import { getRoom, joinRoom, leaveRoom } from '@controllers/ws/rooms/operations'; -import { ForbiddenError } from '@domain/errors/errors'; +import { ForbiddenError } from '@src/errors'; import { UserData } from '@notespace/shared/src/users/types'; /** diff --git a/code/server/src/databases/firestore/FirestoreCommitsDB.ts b/code/server/src/databases/firestore/FirestoreCommitsDB.ts index 5bd8b0d..05ea41f 100644 --- a/code/server/src/databases/firestore/FirestoreCommitsDB.ts +++ b/code/server/src/databases/firestore/FirestoreCommitsDB.ts @@ -1,7 +1,7 @@ import db from '@src/firebaseConfig'; import { CommitsRepository } from '@databases/types'; import { Commit, CommitMeta } from '@notespace/shared/src/document/types/commits'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; export class FirestoreCommitsDB implements CommitsRepository { async saveCommit(id: string, commit: Commit): Promise { diff --git a/code/server/src/databases/firestore/FirestoreDocumentsDB.ts b/code/server/src/databases/firestore/FirestoreDocumentsDB.ts index c863433..1b1d8cb 100644 --- a/code/server/src/databases/firestore/FirestoreDocumentsDB.ts +++ b/code/server/src/databases/firestore/FirestoreDocumentsDB.ts @@ -1,5 +1,5 @@ import { DocumentContent } from '@notespace/shared/src/workspace/types/document'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; import { Operation } from '@notespace/shared/src/document/types/operations'; import { firestore } from 'firebase-admin'; import FieldValue = firestore.FieldValue; diff --git a/code/server/src/databases/memory/MemoryCommitsDB.ts b/code/server/src/databases/memory/MemoryCommitsDB.ts index 9a54c9e..5cb83f3 100644 --- a/code/server/src/databases/memory/MemoryCommitsDB.ts +++ b/code/server/src/databases/memory/MemoryCommitsDB.ts @@ -1,4 +1,4 @@ -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; import { CommitsRepository } from '@databases/types'; import { Commit, CommitMeta } from '@notespace/shared/src/document/types/commits'; diff --git a/code/server/src/databases/memory/MemoryDocumentsDB.ts b/code/server/src/databases/memory/MemoryDocumentsDB.ts index 1768912..bd867fb 100644 --- a/code/server/src/databases/memory/MemoryDocumentsDB.ts +++ b/code/server/src/databases/memory/MemoryDocumentsDB.ts @@ -1,4 +1,4 @@ -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; import { Operation } from '@notespace/shared/src/document/types/operations'; import { DocumentsRepository } from '@databases/types'; import { DocumentContent } from '@notespace/shared/src/workspace/types/document'; diff --git a/code/server/src/databases/memory/MemoryResourcesDB.ts b/code/server/src/databases/memory/MemoryResourcesDB.ts index 5fbf0ed..0e274dd 100644 --- a/code/server/src/databases/memory/MemoryResourcesDB.ts +++ b/code/server/src/databases/memory/MemoryResourcesDB.ts @@ -1,7 +1,7 @@ import { ResourcesRepository } from '@databases/types'; import { ResourceType, Resource, DocumentResource } from '@notespace/shared/src/workspace/types/resource'; import { Memory } from '@databases/memory/Memory'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; import { v4 as uuid } from 'uuid'; export class MemoryResourcesDB implements ResourcesRepository { diff --git a/code/server/src/databases/memory/MemoryUsersDB.ts b/code/server/src/databases/memory/MemoryUsersDB.ts index 2016eb6..c26c66f 100644 --- a/code/server/src/databases/memory/MemoryUsersDB.ts +++ b/code/server/src/databases/memory/MemoryUsersDB.ts @@ -1,7 +1,7 @@ import { UsersRepository } from '@databases/types'; import { User } from '@notespace/shared/src/users/types'; import { Memory } from '@databases/memory/Memory'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; export class MemoryUsersDB implements UsersRepository { async createUser(id: string, name: string, email: string): Promise { diff --git a/code/server/src/databases/memory/MemoryWorkspacesDB.ts b/code/server/src/databases/memory/MemoryWorkspacesDB.ts index c433dab..6c16da5 100644 --- a/code/server/src/databases/memory/MemoryWorkspacesDB.ts +++ b/code/server/src/databases/memory/MemoryWorkspacesDB.ts @@ -4,7 +4,7 @@ import { Memory } from '@databases/memory/Memory'; import { v4 as uuid } from 'uuid'; import { Resource, ResourceType } from '@notespace/shared/src/workspace/types/resource'; import { omit } from 'lodash'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; import { SearchParams } from '@src/utils/searchParams'; export class MemoryWorkspacesDB implements WorkspacesRepository { diff --git a/code/server/src/databases/postgres/PostgresResourcesDB.ts b/code/server/src/databases/postgres/PostgresResourcesDB.ts index 5de87c9..d46b7e0 100644 --- a/code/server/src/databases/postgres/PostgresResourcesDB.ts +++ b/code/server/src/databases/postgres/PostgresResourcesDB.ts @@ -1,6 +1,6 @@ import { ResourceType, Resource, DocumentResource } from '@notespace/shared/src/workspace/types/resource'; import { ResourcesRepository } from '@databases/types'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; import { isEmpty } from 'lodash'; import sql from '@databases/postgres/config'; diff --git a/code/server/src/databases/postgres/PostgresUsersDB.ts b/code/server/src/databases/postgres/PostgresUsersDB.ts index 1fbd5f9..be1fb05 100644 --- a/code/server/src/databases/postgres/PostgresUsersDB.ts +++ b/code/server/src/databases/postgres/PostgresUsersDB.ts @@ -2,7 +2,7 @@ import { UsersRepository } from '@databases/types'; import { User } from '@notespace/shared/src/users/types'; import sql from '@databases/postgres/config'; import { isEmpty } from 'lodash'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; export class PostgresUsersDB implements UsersRepository { async createUser(id: string, name: string, email: string): Promise { diff --git a/code/server/src/databases/postgres/PostgresWorkspacesDB.ts b/code/server/src/databases/postgres/PostgresWorkspacesDB.ts index 3c05bcb..5f7e118 100644 --- a/code/server/src/databases/postgres/PostgresWorkspacesDB.ts +++ b/code/server/src/databases/postgres/PostgresWorkspacesDB.ts @@ -1,5 +1,5 @@ import { Workspace, WorkspaceMeta } from '@notespace/shared/src/workspace/types/workspace'; -import { NotFoundError } from '@domain/errors/errors'; +import { NotFoundError } from '@src/errors'; import { WorkspacesRepository } from '@databases/types'; import { isEmpty } from 'lodash'; import sql from '@databases/postgres/config'; diff --git a/code/server/src/domain/errors/errors.ts b/code/server/src/errors.ts similarity index 100% rename from code/server/src/domain/errors/errors.ts rename to code/server/src/errors.ts diff --git a/code/server/src/services/utils.ts b/code/server/src/services/utils.ts index d2801b1..137aa6f 100644 --- a/code/server/src/services/utils.ts +++ b/code/server/src/services/utils.ts @@ -1,4 +1,4 @@ -import { InvalidParameterError } from '@domain/errors/errors'; +import { InvalidParameterError } from '@src/errors'; import { randomBytes } from 'crypto'; const MIN_NAME_LENGTH = 2; diff --git a/code/server/src/utils/searchParams.ts b/code/server/src/utils/searchParams.ts index ddccdd6..ff57699 100644 --- a/code/server/src/utils/searchParams.ts +++ b/code/server/src/utils/searchParams.ts @@ -1,4 +1,4 @@ -import { InvalidParameterError } from '@domain/errors/errors'; +import { InvalidParameterError } from '@src/errors'; const DEFAULT_QUERY = ''; const DEFAULT_SKIP = 0;