added haveUnreadMessage to logged_in server response. change searchuser to not be case sensitive

This commit is contained in:
2024-09-29 03:21:40 +02:00
parent 8aac415275
commit 4ef459e2cc
4 changed files with 18 additions and 10 deletions

View File

@ -6,7 +6,7 @@
# By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ # # By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/08/03 08:10:38 by edbernar #+# #+# # # Created: 2024/08/03 08:10:38 by edbernar #+# #+# #
# Updated: 2024/09/15 11:14:32 by tomoron ### ########.fr # # Updated: 2024/09/29 03:14:58 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -16,6 +16,7 @@ import hashlib
import requests import requests
import json import json
import os import os
from .statusMessage import getUnreadStatus
@sync_to_async @sync_to_async
def userExists(mail, password): def userExists(mail, password):
@ -37,6 +38,7 @@ async def loginByPass(socket, content):
"status":True, "status":True,
"username":u_info["username"], "username":u_info["username"],
"id": u_info["id"], "id": u_info["id"],
"haveUnreadMessage": await getUnreadStatus(u_info["id"])
}})) }}))
else: else:
socket.sendError("An unknown error occured",9027) socket.sendError("An unknown error occured",9027)

View File

@ -6,7 +6,7 @@
# By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ # # By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/09/18 07:26:07 by edbernar #+# #+# # # Created: 2024/09/18 07:26:07 by edbernar #+# #+# #
# Updated: 2024/09/28 19:10:09 by tomoron ### ########.fr # # Updated: 2024/09/29 02:40:51 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -18,7 +18,7 @@ import json
@sync_to_async @sync_to_async
def searchUser(socket, content): def searchUser(socket, content):
try: try:
users = User.objects.filter(Q(username__contains=content["username"].lower()) & ~Q(id=socket.id))[:10] users = User.objects.filter(Q(username__icontains=content["username"]) & ~Q(id=socket.id))[:10]
userList = [] userList = []
for user in users: for user in users:
userList.append((user.username, user.id, user.pfp)) userList.append((user.username, user.id, user.pfp))

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/09/28 20:03:49 by tomoron #+# #+# # # Created: 2024/09/28 20:03:49 by tomoron #+# #+# #
# Updated: 2024/09/28 20:20:12 by tomoron ### ########.fr # # Updated: 2024/09/29 03:09:32 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -15,10 +15,15 @@ from ..models import User, Message
from asgiref.sync import sync_to_async from asgiref.sync import sync_to_async
@sync_to_async @sync_to_async
def statusMessage(socket,content): def getUnreadStatus(uid):
if(uid == None or uid == 0):
return(False)
user = User.objects.get(id=uid)
return(Message.objects.filter(Q(to=user) & Q(read=False)).exists())
async def statusMessage(socket,content):
try: try:
user = User.objects.get(id=socket.id) haveUnread = await getUnreadStatus(socket.id)
haveUnread = Message.objects.filter(Q(to=user) & Q(read=False)).exists()
socket.sync_send({"type":"status_message","content":{"haveUnread" : haveUnread}}) socket.sync_send({"type":"status_message","content":{"haveUnread" : haveUnread}})
except Exception as e: except Exception as e:
socket.sendError("Invalid request", 9005, e) socket.sendError("Invalid request", 9005, e)

View File

@ -6,7 +6,7 @@
# By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ # # By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/09/09 14:31:30 by tomoron #+# #+# # # Created: 2024/09/09 14:31:30 by tomoron #+# #+# #
# Updated: 2024/09/28 21:03:10 by tomoron ### ########.fr # # Updated: 2024/09/29 03:18:30 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -32,7 +32,7 @@ from .typeRequests.getUserInfo import getUserInfo
from .typeRequests.getPrivateInfo import getPrivateInfo from .typeRequests.getPrivateInfo import getPrivateInfo
from .typeRequests.changePrivateInfo import changePrivateInfo from .typeRequests.changePrivateInfo import changePrivateInfo
from .typeRequests.changePfp import changePfp from .typeRequests.changePfp import changePfp
from .typeRequests.statusMessage import statusMessage from .typeRequests.statusMessage import statusMessage,getUnreadStatus
from .typeRequests.readMessage import readMessage from .typeRequests.readMessage import readMessage
typeRequest = ["login", "get_private_list_user", "get_private_list_message", typeRequest = ["login", "get_private_list_user", "get_private_list_message",
@ -110,7 +110,8 @@ class WebsocketHandler(AsyncWebsocketConsumer):
await self.send(text_data=json.dumps({"type":"logged_in", "content":{ await self.send(text_data=json.dumps({"type":"logged_in", "content":{
"status":await self.session_get("logged_in",False), "status":await self.session_get("logged_in",False),
"username":await self.session_get("username",None), "username":await self.session_get("username",None),
"id":await self.session_get("id",0) "id":await self.session_get("id",0),
"haveUnredMessage":await getUnreadStatus(self.id)
}})) }}))
print("new client") print("new client")