mirror of
				https://gitlab.com/comunic/comunicapiv2
				synced 2025-10-31 17:44:03 +00:00 
			
		
		
		
	Turn WsMessage into an object
This commit is contained in:
		| @@ -11,6 +11,7 @@ import { randomStr } from '../utils/CryptUtils'; | ||||
| import { EventsHelper } from '../helpers/EventsHelper'; | ||||
| import { NotificationsHelper } from '../helpers/NotificationsHelper'; | ||||
| import { ConversationsHelper } from '../helpers/ConversationsHelper'; | ||||
| import { WsMessage } from '../entities/WsMessage'; | ||||
|  | ||||
| interface PendingRequests { | ||||
| 	time: number, | ||||
| @@ -26,12 +27,6 @@ export interface ActiveClient { | ||||
| 	ws: ws | ||||
| } | ||||
|  | ||||
| export interface WsMessage { | ||||
| 	id: string, | ||||
| 	title: string, | ||||
| 	data: any | ||||
| } | ||||
|  | ||||
| // Tokens are valid only 10 seconds after they are generated | ||||
| const TOKENS_DURATION = 10 | ||||
| const TOKEN_LENGTH = 20 | ||||
| @@ -201,11 +196,11 @@ export class UserWebSocketController { | ||||
| 				continue; | ||||
|  | ||||
| 			// Notify user | ||||
| 			this.Send(userID, "", { | ||||
| 			this.Send(userID, "", new WsMessage({ | ||||
| 				title: "number_notifs", | ||||
| 				id: "", | ||||
| 				data: await NotificationsHelper.CountUnread(userID) | ||||
| 			}); | ||||
| 			})); | ||||
| 		} | ||||
|  | ||||
| 	} | ||||
| @@ -222,11 +217,11 @@ export class UserWebSocketController { | ||||
| 				continue; | ||||
| 			 | ||||
| 			// Notify user | ||||
| 			this.Send(userID, "", { | ||||
| 			this.Send(userID, "", new WsMessage({ | ||||
| 				title: "number_unread_conversations", | ||||
| 				id: "", | ||||
| 				data: await ConversationsHelper.CountUnreadForUser(userID) | ||||
| 			}); | ||||
| 			})); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -5,7 +5,8 @@ | ||||
|  */ | ||||
|  | ||||
| import { BaseRequestsHandler } from "./BaseRequestsHandler"; | ||||
| import { ActiveClient, WsMessage } from "../controllers/UserWebSocketController"; | ||||
| import { ActiveClient } from "../controllers/UserWebSocketController"; | ||||
| import { WsMessage } from "./WsMessage"; | ||||
|  | ||||
| export class UserWebSocketRequestsHandler extends BaseRequestsHandler { | ||||
|  | ||||
| @@ -17,7 +18,7 @@ export class UserWebSocketRequestsHandler extends BaseRequestsHandler { | ||||
| 		return this.wsClient.userID; | ||||
| 	} | ||||
|  | ||||
| 	 | ||||
|  | ||||
| 	protected getPostParam(name: string) { | ||||
| 		throw new Error("Method not implemented."); | ||||
| 	} | ||||
|   | ||||
							
								
								
									
										24
									
								
								src/entities/WsMessage.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/entities/WsMessage.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| /** | ||||
|  * WebSocket message | ||||
|  *  | ||||
|  * @author Pierre Hubert | ||||
|  */ | ||||
|  | ||||
| export interface WsMessageBuilder { | ||||
| 	id: string, | ||||
| 	title: string, | ||||
| 	data: any | ||||
| } | ||||
|  | ||||
| export class WsMessage implements WsMessageBuilder { | ||||
| 	id: string; | ||||
| 	title: string; | ||||
| 	data: any; | ||||
| 	 | ||||
| 	public constructor(info: WsMessageBuilder) { | ||||
| 		for (const key in info) { | ||||
| 			if (info.hasOwnProperty(key)) | ||||
| 				this[key] = info[key]; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user