From 80110d64e99a9f2402a1d874ba44d291c7c9d4c1 Mon Sep 17 00:00:00 2001
From: Hakan Shehu
Date: Mon, 11 Nov 2024 08:34:33 +0100
Subject: [PATCH] Fix a case of handling workspace node created event
---
.../components/accounts/login-form.tsx | 20 ++++++++-----
apps/server/src/queues/events.ts | 30 ++++++++++++++++---
2 files changed, 38 insertions(+), 12 deletions(-)
diff --git a/apps/desktop/src/renderer/components/accounts/login-form.tsx b/apps/desktop/src/renderer/components/accounts/login-form.tsx
index aaa68eb1..58397acc 100644
--- a/apps/desktop/src/renderer/components/accounts/login-form.tsx
+++ b/apps/desktop/src/renderer/components/accounts/login-form.tsx
@@ -4,6 +4,7 @@ import { EmailLogin } from '@/renderer/components/accounts/email-login';
import { ServerDropdown } from '@/renderer/components/servers/server-dropdown';
import { useApp } from '@/renderer/contexts/app';
import { useNavigate } from 'react-router-dom';
+import { Separator } from '@/renderer/components/ui/separator';
export const LoginForm = () => {
const app = useApp();
@@ -31,14 +32,17 @@ export const LoginForm = () => {
: 'No account yet? Register'}
{app.accounts.length > 0 && (
- {
- navigate(-1);
- }}
- >
- Cancel
-
+
+
+ {
+ navigate(-1);
+ }}
+ >
+ Cancel
+
+
)}
);
diff --git a/apps/server/src/queues/events.ts b/apps/server/src/queues/events.ts
index d965fc6d..d4287251 100644
--- a/apps/server/src/queues/events.ts
+++ b/apps/server/src/queues/events.ts
@@ -100,11 +100,16 @@ const handleNodeDeletedEvent = async (
const createUserNodes = async (event: NodeCreatedEvent): Promise => {
const userNodesToCreate: CreateUserNode[] = [];
- const isForEveryone =
- event.attributes.type === NodeTypes.User ||
- event.attributes.type === NodeTypes.Workspace;
+ if (event.attributes.type === NodeTypes.User) {
+ userNodesToCreate.push({
+ user_id: event.id,
+ node_id: event.workspaceId,
+ workspace_id: event.workspaceId,
+ mentions_count: 0,
+ created_at: new Date(),
+ version_id: generateId(IdType.Version),
+ });
- if (isForEveryone) {
const userIds = await fetchWorkspaceUsers(event.workspaceId);
for (const userId of userIds) {
@@ -138,6 +143,23 @@ const createUserNodes = async (event: NodeCreatedEvent): Promise => {
updated_at: null,
});
}
+ } else if (event.attributes.type === NodeTypes.Workspace) {
+ const userIds = await fetchWorkspaceUsers(event.workspaceId);
+
+ for (const userId of userIds) {
+ userNodesToCreate.push({
+ user_id: userId,
+ node_id: event.id,
+ workspace_id: event.workspaceId,
+ last_seen_at: null,
+ last_seen_version_id: null,
+ mentions_count: 0,
+ created_at: new Date(),
+ access_removed_at: null,
+ version_id: generateId(IdType.Version),
+ updated_at: null,
+ });
+ }
} else {
const collaborators = await fetchNodeCollaborators(event.id);
const collaboratorIds = collaborators.map((c) => c.collaboratorId);