mirror of
https://github.com/colanode/colanode.git
synced 2025-12-29 00:25:03 +01:00
Move id and contants in core package and use lodash-es package
This commit is contained in:
@@ -104,7 +104,6 @@
|
||||
"tailwind-merge": "^2.5.4",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"ts-pattern": "^5.5.0",
|
||||
"ulid": "^2.3.0",
|
||||
"ws": "^8.18.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { hashCode } from '@/lib/utils';
|
||||
import { IdType } from '@/lib/id';
|
||||
import { IdType } from '@colanode/core';
|
||||
|
||||
export const getAvatarSizeClasses = (size?: string) => {
|
||||
if (size === 'small') {
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
export const NodeTypes = {
|
||||
User: 'user',
|
||||
Space: 'space',
|
||||
Page: 'page',
|
||||
Channel: 'channel',
|
||||
Chat: 'chat',
|
||||
Message: 'message',
|
||||
Database: 'database',
|
||||
DatabaseReplica: 'databaseReplica',
|
||||
Record: 'record',
|
||||
Folder: 'folder',
|
||||
File: 'file',
|
||||
};
|
||||
|
||||
export const EditorNodeTypes = {
|
||||
Paragraph: 'paragraph',
|
||||
Heading1: 'heading1',
|
||||
Heading2: 'heading2',
|
||||
Heading3: 'heading3',
|
||||
Blockquote: 'blockquote',
|
||||
BulletList: 'bulletList',
|
||||
CodeBlock: 'codeBlock',
|
||||
ListItem: 'listItem',
|
||||
OrderedList: 'orderedList',
|
||||
TaskList: 'taskList',
|
||||
TaskItem: 'taskItem',
|
||||
HorizontalRule: 'horizontalRule',
|
||||
Page: 'page',
|
||||
File: 'file',
|
||||
Folder: 'folder',
|
||||
FilePlaceholder: 'filePlaceholder',
|
||||
};
|
||||
|
||||
export const SortDirections = {
|
||||
Ascending: 'asc',
|
||||
Descending: 'desc',
|
||||
};
|
||||
|
||||
export const NodeRole = {
|
||||
Admin: 'admin',
|
||||
Editor: 'editor',
|
||||
Collaborator: 'collaborator',
|
||||
Viewer: 'viewer',
|
||||
};
|
||||
@@ -1,5 +1,4 @@
|
||||
import { EditorNodeTypes } from '@/lib/constants';
|
||||
import { generateId, getIdTypeFromNode } from '@/lib/id';
|
||||
import { EditorNodeTypes, generateId, getIdTypeFromNode } from '@colanode/core';
|
||||
import { generateNodeIndex } from '@/lib/nodes';
|
||||
import { compareString } from '@/lib/utils';
|
||||
import { JSONContent } from '@tiptap/core';
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
import { monotonicFactory } from 'ulid';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
|
||||
const ulid = monotonicFactory();
|
||||
|
||||
export enum IdType {
|
||||
Account = 'ac',
|
||||
Workspace = 'wc',
|
||||
User = 'us',
|
||||
Version = 've',
|
||||
Mutation = 'mu',
|
||||
Space = 'sp',
|
||||
Page = 'pg',
|
||||
Channel = 'ch',
|
||||
Chat = 'ct',
|
||||
Node = 'nd',
|
||||
Message = 'ms',
|
||||
Subscriber = 'sb',
|
||||
Paragraph = 'pa',
|
||||
Heading1 = 'h1',
|
||||
Heading2 = 'h2',
|
||||
Heading3 = 'h3',
|
||||
Blockquote = 'bq',
|
||||
CodeBlock = 'cb',
|
||||
ListItem = 'li',
|
||||
OrderedList = 'ol',
|
||||
BulletList = 'bl',
|
||||
TaskList = 'tl',
|
||||
TaskItem = 'ti',
|
||||
HorizontalRule = 'hr',
|
||||
Database = 'db',
|
||||
DatabaseReplica = 'dr',
|
||||
Record = 'rc',
|
||||
Folder = 'fl',
|
||||
View = 'vw',
|
||||
Field = 'fi',
|
||||
SelectOption = 'so',
|
||||
ViewFilter = 'vf',
|
||||
ViewSort = 'vs',
|
||||
Query = 'qu',
|
||||
Emoji = 'em',
|
||||
Avatar = 'av',
|
||||
Icon = 'ic',
|
||||
File = 'fi',
|
||||
FilePlaceholder = 'fp',
|
||||
}
|
||||
|
||||
export const generateId = (type: IdType): string => {
|
||||
return ulid().toLowerCase() + type;
|
||||
};
|
||||
|
||||
export const isIdOfType = (id: string, type: IdType): boolean => {
|
||||
return id.endsWith(type);
|
||||
};
|
||||
|
||||
export const getIdType = (id: string): IdType => {
|
||||
return id.substring(id.length - 2) as IdType;
|
||||
};
|
||||
|
||||
export const getIdTypeFromNode = (nodeType: string): IdType => {
|
||||
switch (nodeType) {
|
||||
case NodeTypes.User:
|
||||
return IdType.User;
|
||||
case NodeTypes.Space:
|
||||
return IdType.Space;
|
||||
case NodeTypes.Page:
|
||||
return IdType.Page;
|
||||
case NodeTypes.Channel:
|
||||
return IdType.Channel;
|
||||
case NodeTypes.Message:
|
||||
return IdType.Message;
|
||||
case NodeTypes.Database:
|
||||
return IdType.Database;
|
||||
case NodeTypes.DatabaseReplica:
|
||||
return IdType.DatabaseReplica;
|
||||
case NodeTypes.Record:
|
||||
return IdType.Record;
|
||||
case NodeTypes.Folder:
|
||||
return IdType.Folder;
|
||||
default:
|
||||
return IdType.Node;
|
||||
}
|
||||
};
|
||||
@@ -1,5 +1,5 @@
|
||||
import { generateKeyBetween } from 'fractional-indexing-jittered';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
|
||||
export const generateNodeIndex = (
|
||||
previous?: string | null,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import SQLite from 'better-sqlite3';
|
||||
import { QueryResult } from 'kysely';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
export const buildSqlite = (filename: string): SQLite.Database => {
|
||||
const database = new SQLite(filename);
|
||||
@@ -17,7 +17,7 @@ export const extractTablesFromSql = (sql: string): string[] => {
|
||||
|
||||
export const resultHasChanged = <R>(
|
||||
oldResult: QueryResult<R>,
|
||||
newResult: QueryResult<R>,
|
||||
newResult: QueryResult<R>
|
||||
): boolean => {
|
||||
if (oldResult.rows.length !== newResult.rows.length) {
|
||||
return true;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { generateNodeIndex } from '@/lib/nodes';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { ChannelCreateMutationInput } from '@/operations/mutations/channel-create';
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { NodeRole, NodeTypes } from '@/lib/constants';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType, NodeTypes, NodeRoles } from '@colanode/core';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { ChatCreateMutationInput } from '@/operations/mutations/chat-create';
|
||||
import { sql } from 'kysely';
|
||||
@@ -44,8 +43,8 @@ export class ChatCreateMutationHandler
|
||||
type: 'chat',
|
||||
parentId: input.workspaceId,
|
||||
collaborators: {
|
||||
[input.userId]: NodeRole.Collaborator,
|
||||
[input.otherUserId]: NodeRole.Collaborator,
|
||||
[input.userId]: NodeRoles.Collaborator,
|
||||
[input.otherUserId]: NodeRoles.Collaborator,
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { generateNodeIndex } from '@/lib/nodes';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { DatabaseCreateMutationInput } from '@/operations/mutations/database-create';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { generateNodeIndex } from '@/lib/nodes';
|
||||
import { compareString } from '@/lib/utils';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { FileCreateMutationInput } from '@/operations/mutations/file-create';
|
||||
import { fileManager } from '@/main/file-manager';
|
||||
import { FileAttributes } from '@colanode/core';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { FolderCreateMutationInput } from '@/operations/mutations/folder-create';
|
||||
import { FolderAttributes } from '@colanode/core';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { MarkNodeAsSeenMutationInput } from '@/operations/mutations/mark-node-as-seen';
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import * as Y from 'yjs';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { EditorNodeTypes, NodeTypes } from '@/lib/constants';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType, EditorNodeTypes, NodeTypes } from '@colanode/core';
|
||||
import { MutationChange, MutationHandler, MutationResult } from '@/main/types';
|
||||
import { MessageCreateMutationInput } from '@/operations/mutations/message-create';
|
||||
import { mapContentsToBlocks } from '@/lib/editor';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { NodeAttributeDeleteMutationInput } from '@/operations/mutations/node-attribute-delete';
|
||||
import { nodeManager } from '@/main/node-manager';
|
||||
import { unset } from 'lodash';
|
||||
import { unset } from 'lodash-es';
|
||||
|
||||
export class NodeAttributeDeleteMutationHandler
|
||||
implements MutationHandler<NodeAttributeDeleteMutationInput>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { NodeAttributeSetMutationInput } from '@/operations/mutations/node-attribute-set';
|
||||
import { nodeManager } from '@/main/node-manager';
|
||||
import { set } from 'lodash';
|
||||
import { set } from 'lodash-es';
|
||||
|
||||
export class NodeAttributeSetMutationHandler
|
||||
implements MutationHandler<NodeAttributeSetMutationInput>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { NodeCollaboratorCreateMutationInput } from '@/operations/mutations/node-collaborator-create';
|
||||
import { nodeManager } from '@/main/node-manager';
|
||||
import { set } from 'lodash';
|
||||
import { set } from 'lodash-es';
|
||||
|
||||
export class NodeCollaboratorCreateMutationHandler
|
||||
implements MutationHandler<NodeCollaboratorCreateMutationInput>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { nodeManager } from '@/main/node-manager';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { NodeCollaboratorDeleteMutationInput } from '@/operations/mutations/node-collaborator-delete';
|
||||
import { unset } from 'lodash';
|
||||
import { unset } from 'lodash-es';
|
||||
|
||||
export class NodeCollaboratorDeleteMutationHandler
|
||||
implements MutationHandler<NodeCollaboratorDeleteMutationInput>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { nodeManager } from '@/main/node-manager';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { NodeCollaboratorUpdateMutationInput } from '@/operations/mutations/node-collaborator-update';
|
||||
import { set } from 'lodash';
|
||||
import { set } from 'lodash-es';
|
||||
|
||||
export class NodeCollaboratorUpdateMutationHandler
|
||||
implements MutationHandler<NodeCollaboratorUpdateMutationInput>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { fileManager } from '@/main/file-manager';
|
||||
import { MutationChange, MutationHandler, MutationResult } from '@/main/types';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { PageCreateMutationInput } from '@/operations/mutations/page-create';
|
||||
import { PageAttributes } from '@colanode/core';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { RecordCreateMutationInput } from '@/operations/mutations/record-create';
|
||||
import { RecordAttributes } from '@colanode/core';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { generateNodeIndex } from '@/lib/nodes';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { SelectOptionCreateMutationInput } from '@/operations/mutations/select-option-create';
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType, NodeRoles } from '@colanode/core';
|
||||
import { generateNodeIndex } from '@/lib/nodes';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { SpaceCreateMutationInput } from '@/operations/mutations/space-create';
|
||||
import { NodeRole } from '@/lib/constants';
|
||||
import {
|
||||
ChannelAttributes,
|
||||
PageAttributes,
|
||||
@@ -26,7 +25,7 @@ export class SpaceCreateMutationHandler
|
||||
type: 'space',
|
||||
name: input.name,
|
||||
collaborators: {
|
||||
[input.userId]: NodeRole.Admin,
|
||||
[input.userId]: NodeRoles.Admin,
|
||||
},
|
||||
parentId: input.workspaceId,
|
||||
description: input.description,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { MutationHandler, MutationResult } from '@/main/types';
|
||||
import { ViewCreateMutationInput } from '@/operations/mutations/view-create';
|
||||
import { compareString } from '@/lib/utils';
|
||||
|
||||
@@ -2,7 +2,7 @@ import { AccountListQueryInput } from '@/operations/queries/account-list';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { Account } from '@/types/accounts';
|
||||
import { SelectAccount } from '@/main/data/app/schema';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import {
|
||||
MutationChange,
|
||||
ChangeCheckResult,
|
||||
|
||||
@@ -4,7 +4,7 @@ import { sql } from 'kysely';
|
||||
import { SelectNode } from '@/main/data/workspace/schema';
|
||||
import { BreadcrumbNode } from '@/types/workspaces';
|
||||
import { mapNode } from '@/main/utils';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import {
|
||||
MutationChange,
|
||||
ChangeCheckResult,
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import { ChatNode } from '@/types/chats';
|
||||
|
||||
export class ChatGetQueryHandler implements QueryHandler<ChatGetQueryInput> {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { sha256 } from 'js-sha256';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import {
|
||||
DocumentGetQueryInput,
|
||||
DocumentGetQueryOutput,
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import { FileDetails } from '@/types/files';
|
||||
|
||||
interface FileRow {
|
||||
|
||||
@@ -6,9 +6,9 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { compareString } from '@/lib/utils';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import { FileNode } from '@/types/files';
|
||||
|
||||
interface FileRow {
|
||||
|
||||
@@ -7,12 +7,12 @@ import {
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { SelectNode } from '@/main/data/workspace/schema';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { MessageNode, MessageReactionCount } from '@/types/messages';
|
||||
import { mapNode } from '@/main/utils';
|
||||
import { UserNode } from '@/types/users';
|
||||
import { compareString } from '@/lib/utils';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import { mapBlocksToContents } from '@/lib/editor';
|
||||
|
||||
export class MessageListQueryHandler
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
type ExtractedNodeCollaborator = {
|
||||
nodeId: string;
|
||||
|
||||
@@ -2,7 +2,7 @@ import { NodeCollaboratorSearchQueryInput } from '@/operations/queries/node-coll
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { sql } from 'kysely';
|
||||
import { SelectNode } from '@/main/data/workspace/schema';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { NodeCollaborator } from '@/types/nodes';
|
||||
import {
|
||||
MutationChange,
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
export class NodeCollaboratorSearchQueryHandler
|
||||
implements QueryHandler<NodeCollaboratorSearchQueryInput>
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
export class NodeGetQueryHandler implements QueryHandler<NodeGetQueryInput> {
|
||||
public async handleQuery(
|
||||
|
||||
@@ -28,8 +28,8 @@ import {
|
||||
} from '@colanode/core';
|
||||
import { isStringArray } from '@/lib/utils';
|
||||
import { mapNode } from '@/main/utils';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { isEqual } from 'lodash';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
export class RecordListQueryHandler
|
||||
implements QueryHandler<RecordListQueryInput>
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import { Server } from '@/types/servers';
|
||||
|
||||
export class ServerListQueryHandler
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { SidebarChatListQueryInput } from '@/operations/queries/sidebar-chat-list';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { SelectNode } from '@/main/data/workspace/schema';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { SidebarChatNode } from '@/types/workspaces';
|
||||
import { mapNode } from '@/main/utils';
|
||||
import {
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
interface UnreadCountRow {
|
||||
node_id: string;
|
||||
|
||||
@@ -2,7 +2,7 @@ import { SidebarSpaceListQueryInput } from '@/operations/queries/sidebar-space-l
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { sql } from 'kysely';
|
||||
import { SelectNode } from '@/main/data/workspace/schema';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { SidebarNode, SidebarSpaceNode } from '@/types/workspaces';
|
||||
import { mapNode } from '@/main/utils';
|
||||
import { Node } from '@colanode/core';
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
import { compareString } from '@/lib/utils';
|
||||
|
||||
interface UnreadCountRow {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { UserSearchQueryInput } from '@/operations/queries/user-search';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { sql } from 'kysely';
|
||||
import { SelectNode } from '@/main/data/workspace/schema';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { UserNode } from '@/types/users';
|
||||
import {
|
||||
MutationChange,
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
export class UserSearchQueryHandler
|
||||
implements QueryHandler<UserSearchQueryInput>
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
export class WorkspaceListQueryHandler
|
||||
implements QueryHandler<WorkspaceListQueryInput>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { WorkspaceUserListQueryInput } from '@/operations/queries/workspace-user-list';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { mapNode } from '@/main/utils';
|
||||
import { SelectNode } from '@/main/data/workspace/schema';
|
||||
import { UserNode } from '@colanode/core';
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
QueryHandler,
|
||||
QueryResult,
|
||||
} from '@/main/types';
|
||||
import { isEqual } from 'lodash';
|
||||
import { isEqual } from 'lodash-es';
|
||||
|
||||
export class WorkspaceUserListQueryHandler
|
||||
implements QueryHandler<WorkspaceUserListQueryInput>
|
||||
|
||||
@@ -6,8 +6,7 @@ import {
|
||||
LocalCreateNodeChangeData,
|
||||
LocalUpdateNodeChangeData,
|
||||
} from '@/types/sync';
|
||||
import { generateId } from '@/lib/id';
|
||||
import { IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { databaseManager } from '@/main/data/database-manager';
|
||||
import { hasUpdateChanges } from '@/main/utils';
|
||||
import { Transaction } from 'kysely';
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
getColorForId,
|
||||
getDefaultNodeAvatar,
|
||||
} from '@/lib/avatars';
|
||||
import { getIdType, IdType } from '@/lib/id';
|
||||
import { getIdType, IdType } from '@colanode/core';
|
||||
import { getEmojiUrl } from '@/lib/emojis';
|
||||
import { getIconUrl } from '@/lib/icons';
|
||||
import { useAccount } from '@/renderer/contexts/account';
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
DropdownMenuTrigger,
|
||||
} from '@/renderer/components/ui/dropdown-menu';
|
||||
import { Button } from '@/renderer/components/ui/button';
|
||||
import { SortDirections } from '@/lib/constants';
|
||||
import { SortDirections } from '@colanode/core';
|
||||
import { useView } from '@/renderer/contexts/view';
|
||||
import { FieldIcon } from '@/renderer/components/databases/fields/field-icon';
|
||||
import { ChevronDown, Trash2 } from 'lucide-react';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
import '@/renderer/styles/editor.css';
|
||||
import { debounce } from 'lodash';
|
||||
import { debounce } from 'lodash-es';
|
||||
import { useEditor, EditorContent, JSONContent } from '@tiptap/react';
|
||||
import {
|
||||
ParagraphCommand,
|
||||
@@ -85,7 +85,7 @@ export const DocumentEditor = ({
|
||||
},
|
||||
});
|
||||
}, 500),
|
||||
[mutate, documentId, workspace.userId],
|
||||
[mutate, documentId, workspace.userId]
|
||||
);
|
||||
|
||||
const editor = useEditor(
|
||||
@@ -164,7 +164,7 @@ export const DocumentEditor = ({
|
||||
}
|
||||
},
|
||||
},
|
||||
[documentId],
|
||||
[documentId]
|
||||
);
|
||||
|
||||
React.useEffect(() => {
|
||||
|
||||
@@ -6,7 +6,7 @@ import { useInfiniteQuery } from '@/renderer/hooks/use-infinite-query';
|
||||
import { GridLayout } from '@/renderer/components/folders/grids/grid-layout';
|
||||
import { ListLayout } from '@/renderer/components/folders/lists/list-layout';
|
||||
import { GalleryLayout } from '@/renderer/components/folders/galleries/gallery-layout';
|
||||
import { getIdType, IdType } from '@/lib/id';
|
||||
import { getIdType, IdType } from '@colanode/core';
|
||||
|
||||
const FILES_PER_PAGE = 100;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { cn } from '@/lib/utils';
|
||||
import { Avatar } from '@/renderer/components/avatars/avatar';
|
||||
import { BreadcrumbNode } from '@/types/workspaces';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
|
||||
interface BreadcrumbNodeProps {
|
||||
node: BreadcrumbNode;
|
||||
|
||||
@@ -12,7 +12,7 @@ import {
|
||||
DropdownMenuItem,
|
||||
DropdownMenuTrigger,
|
||||
} from '@/renderer/components/ui/dropdown-menu';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { useWorkspace } from '@/renderer/contexts/workspace';
|
||||
import { BreadcrumbItem } from '@/renderer/components/workspaces/containers/breadcrumb-item';
|
||||
import { BreadcrumbItemPopover } from '@/renderer/components/workspaces/containers/breadcrumb-item-popover';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { getIdType, IdType } from '@/lib/id';
|
||||
import { getIdType, IdType } from '@colanode/core';
|
||||
import { Breadcrumb } from '@/renderer/components/workspaces/containers/breadcrumb';
|
||||
import { ChatBreadcrumb } from '@/renderer/components/workspaces/containers/chat-breadcrumb';
|
||||
import { NodeCollaboratorsPopover } from '@/renderer/components/collaborators/node-collaborators-popover';
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { IdType } from '@/lib/id';
|
||||
import { getIdType } from '@/lib/id';
|
||||
import { IdType, getIdType } from '@colanode/core';
|
||||
import { match } from 'ts-pattern';
|
||||
import { ChannelSettings } from '@/renderer/components/channels/channel-settings';
|
||||
import { PageSettings } from '@/renderer/components/pages/page-settings';
|
||||
|
||||
@@ -8,7 +8,7 @@ import { RecordContainer } from '@/renderer/components/records/record-container'
|
||||
import { ChatContainer } from '@/renderer/components/chats/chat-container';
|
||||
import { FolderContainer } from '@/renderer/components/folders/folder-container';
|
||||
import { FileContainer } from '@/renderer/components/files/file-container';
|
||||
import { getIdType, IdType } from '@/lib/id';
|
||||
import { getIdType, IdType } from '@colanode/core';
|
||||
|
||||
export const Container = () => {
|
||||
const { nodeId } = useParams<{ nodeId: string }>();
|
||||
|
||||
@@ -6,7 +6,7 @@ import { RecordContainer } from '@/renderer/components/records/record-container'
|
||||
import { ChatContainer } from '@/renderer/components/chats/chat-container';
|
||||
import { FolderContainer } from '@/renderer/components/folders/folder-container';
|
||||
import { FileContainer } from '@/renderer/components/files/file-container';
|
||||
import { getIdType, IdType } from '@/lib/id';
|
||||
import { getIdType, IdType } from '@colanode/core';
|
||||
|
||||
interface ModalContentProps {
|
||||
nodeId: string;
|
||||
|
||||
@@ -18,7 +18,7 @@ import { toast } from '@/renderer/hooks/use-toast';
|
||||
import { useMutation } from '@/renderer/hooks/use-mutation';
|
||||
import { useAccount } from '@/renderer/contexts/account';
|
||||
import { Avatar } from '@/renderer/components/avatars/avatar';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { Upload } from 'lucide-react';
|
||||
|
||||
@@ -122,7 +122,7 @@ export const WorkspaceForm = ({
|
||||
<div
|
||||
className={cn(
|
||||
`absolute left-0 top-0 hidden h-32 w-32 items-center justify-center overflow-hidden bg-gray-50 group-hover:inline-flex`,
|
||||
isPending ? 'inline-flex' : 'hidden',
|
||||
isPending ? 'inline-flex' : 'hidden'
|
||||
)}
|
||||
>
|
||||
{isPending ? (
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { EditorCommand } from '@/types/editor';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { FilePlus } from 'lucide-react';
|
||||
|
||||
export const FileCommand: EditorCommand = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { EditorCommand } from '@/types/editor';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { Folder } from 'lucide-react';
|
||||
|
||||
export const FolderCommand: EditorCommand = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { EditorCommand } from '@/types/editor';
|
||||
import { NodeTypes } from '@/lib/constants';
|
||||
import { NodeTypes } from '@colanode/core';
|
||||
import { FileText } from 'lucide-react';
|
||||
|
||||
export const PageCommand: EditorCommand = {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { mergeAttributes, Node, CommandProps } from '@tiptap/core';
|
||||
import { ReactNodeViewRenderer } from '@tiptap/react';
|
||||
import { FilePlaceholderNodeView } from '@/renderer/editor/views';
|
||||
import { FileMetadata } from '@/types/files';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
|
||||
declare module '@tiptap/core' {
|
||||
interface Commands<ReturnType> {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { Extension } from '@tiptap/react';
|
||||
import { Plugin, PluginKey } from 'prosemirror-state';
|
||||
import { generateId, getIdTypeFromNode } from '@/lib/id';
|
||||
import { EditorNodeTypes } from '@/lib/constants';
|
||||
import { generateId, getIdTypeFromNode, EditorNodeTypes } from '@colanode/core';
|
||||
|
||||
const types = [
|
||||
EditorNodeTypes.Paragraph,
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from 'react';
|
||||
import { QueryInput, QueryMap } from '@/operations/queries';
|
||||
import { sha256 } from 'js-sha256';
|
||||
import { useEventBus } from '@/renderer/hooks/use-event-bus';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
|
||||
export const useInfiniteQuery = <T extends QueryInput>({
|
||||
initialPageInput,
|
||||
@@ -11,7 +11,7 @@ export const useInfiniteQuery = <T extends QueryInput>({
|
||||
initialPageInput: T;
|
||||
getNextPageInput: (
|
||||
page: number,
|
||||
pages: Array<QueryMap[T['type']]['output']>,
|
||||
pages: Array<QueryMap[T['type']]['output']>
|
||||
) => T | undefined;
|
||||
}) => {
|
||||
const eventBus = useEventBus();
|
||||
@@ -56,7 +56,7 @@ export const useInfiniteQuery = <T extends QueryInput>({
|
||||
});
|
||||
subscriberIdsRef.current.push({ queryId, subscriberId });
|
||||
},
|
||||
[eventBus],
|
||||
[eventBus]
|
||||
);
|
||||
|
||||
// Function to fetch a page
|
||||
@@ -67,7 +67,7 @@ export const useInfiniteQuery = <T extends QueryInput>({
|
||||
try {
|
||||
const result = await window.neuron.executeQueryAndSubscribe(
|
||||
queryId,
|
||||
input,
|
||||
input
|
||||
);
|
||||
|
||||
// Update pages state
|
||||
@@ -90,7 +90,7 @@ export const useInfiniteQuery = <T extends QueryInput>({
|
||||
console.error('Error executing query:', error);
|
||||
}
|
||||
},
|
||||
[pages, getNextPageInput, subscribeToQueryResult],
|
||||
[pages, getNextPageInput, subscribeToQueryResult]
|
||||
);
|
||||
|
||||
// Fetch the initial page
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from 'react';
|
||||
import { QueryInput, QueryMap } from '@/operations/queries';
|
||||
import { sha256 } from 'js-sha256';
|
||||
import { useEventBus } from '@/renderer/hooks/use-event-bus';
|
||||
import { generateId, IdType } from '@/lib/id';
|
||||
import { generateId, IdType } from '@colanode/core';
|
||||
|
||||
export const useQuery = <T extends QueryInput>(input: T) => {
|
||||
const eventBus = useEventBus();
|
||||
|
||||
Reference in New Issue
Block a user