mirror of
https://github.com/docmost/docmost.git
synced 2026-05-08 15:23:07 +08:00
Merge branch 'main' into sessions
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { IsNotEmpty, IsString, IsUUID } from 'class-validator';
|
||||
import { IsEnum, IsNotEmpty, IsUUID } from 'class-validator';
|
||||
import { UserRole } from '../../../common/helpers/types/permission';
|
||||
|
||||
export class UpdateWorkspaceUserRoleDto {
|
||||
@IsNotEmpty()
|
||||
@@ -6,6 +7,6 @@ export class UpdateWorkspaceUserRoleDto {
|
||||
userId: string;
|
||||
|
||||
@IsNotEmpty()
|
||||
@IsString()
|
||||
@IsEnum(UserRole)
|
||||
role: string;
|
||||
}
|
||||
|
||||
@@ -65,12 +65,10 @@ export class WsGateway
|
||||
async handleMessage(client: Socket, data: any): Promise<void> {
|
||||
if (this.wsService.isTreeEvent(data)) {
|
||||
await this.wsService.handleTreeEvent(client, data);
|
||||
return;
|
||||
}
|
||||
|
||||
client.broadcast.emit('message', data);
|
||||
}
|
||||
|
||||
/*
|
||||
@SubscribeMessage('join-room')
|
||||
handleJoinRoom(client: Socket, @MessageBody() roomName: string): void {
|
||||
// if room is a space, check if user has permissions
|
||||
@@ -81,6 +79,7 @@ export class WsGateway
|
||||
handleLeaveRoom(client: Socket, @MessageBody() roomName: string): void {
|
||||
client.leave(roomName);
|
||||
}
|
||||
*/
|
||||
|
||||
onModuleDestroy() {
|
||||
if (this.server) {
|
||||
|
||||
@@ -27,6 +27,15 @@ export class WsService {
|
||||
async handleTreeEvent(client: Socket, data: any): Promise<void> {
|
||||
const room = getSpaceRoomName(data.spaceId);
|
||||
|
||||
if (!client.rooms.has(room)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.operation === 'refetchRootTreeNodeEvent') {
|
||||
client.broadcast.to(room).emit('message', data);
|
||||
return;
|
||||
}
|
||||
|
||||
const hasRestrictions = await this.spaceHasRestrictions(data.spaceId);
|
||||
if (!hasRestrictions) {
|
||||
client.broadcast.to(room).emit('message', data);
|
||||
|
||||
@@ -14,4 +14,5 @@ export const TREE_EVENTS = new Set([
|
||||
'addTreeNode',
|
||||
'moveTreeNode',
|
||||
'deleteTreeNode',
|
||||
'refetchRootTreeNodeEvent',
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user