From fd122e18893d6af7d4d343914ce9e1dddf53dd26 Mon Sep 17 00:00:00 2001 From: cherif Date: Mon, 16 Jan 2023 14:56:05 +0100 Subject: [PATCH 01/12] suppression d'un fichier inutile --- package-lock.json | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 48e341a0..00000000 --- a/package-lock.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "lockfileVersion": 1 -} From ebf903705032cdac2fe23c22b13b666e35e6da07 Mon Sep 17 00:00:00 2001 From: cherif Date: Mon, 16 Jan 2023 15:09:00 +0100 Subject: [PATCH 02/12] suppression du resize --- srcs/requirements/svelte/api_front/.env | 2 +- srcs/requirements/svelte/api_front/src/pieces/Header.svelte | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/srcs/requirements/svelte/api_front/.env b/srcs/requirements/svelte/api_front/.env index 1b450684..cd15d3c1 100644 --- a/srcs/requirements/svelte/api_front/.env +++ b/srcs/requirements/svelte/api_front/.env @@ -1,2 +1,2 @@ -WEBSITE_HOST=transcendance +WEBSITE_HOST=localhost WEBSITE_PORT=8080 diff --git a/srcs/requirements/svelte/api_front/src/pieces/Header.svelte b/srcs/requirements/svelte/api_front/src/pieces/Header.svelte index 3c8431b0..df34757b 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/Header.svelte +++ b/srcs/requirements/svelte/api_front/src/pieces/Header.svelte @@ -59,7 +59,6 @@ } .header { - resize: vertical; overflow: hidden; background: #FB8B24; box-sizing: border-box; From 3cd9a0b52eb5a02069856b27f17e58cc72bf14ed Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 16:08:56 +0100 Subject: [PATCH 03/12] will not show direct rooms if blocked --- .../api_back/src/chat/chat.controller.ts | 16 +++++++++++- .../nestjs/api_back/src/chat/chat.gateway.ts | 2 +- .../nestjs/api_back/src/chat/chat.service.ts | 25 +++++++++---------- .../src/pieces/chat/Request_rooms.ts | 2 +- .../api_front/src/pieces/chat/Socket_chat.ts | 4 +++ 5 files changed, 33 insertions(+), 16 deletions(-) diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts index a0c0abcd..46e15292 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -52,8 +52,22 @@ export class ChatController { let fields = ["name", "type", "users", "protection", "allowed_users"]; const rooms = await this.chatService.getMyRooms(req.user.username, fields); + const blocked = await this.chatService.getListBlockUser(req.user.username); - const ret_rooms = rooms.map(room => + let filtered_rooms = rooms.filter(room => + { + if (room.type === 'direct') + { + let roomname = room.users[0]; + if (roomname === req.user.username) + roomname = room.users[1]; + if (blocked.includes(roomname)) + return false; + } + return true; + }); + + const ret_rooms = filtered_rooms.map(room => { let new_room = this.format_room(room); if (room.protection) diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts index 80e2b589..554366f5 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts @@ -28,7 +28,7 @@ implements OnGatewayConnection, OnGatewayDisconnect socket.username = socket.handshake.query.username.toString(); this.sockets.set(socket.username, socket); - printCaller("socket.username:", socket.username); + printCaller("--- socket.username:", socket.username); let not_emit: string = `${socket.username}_not_emit`; socket.join(not_emit); diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts index 5225ad7d..a97d9004 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts @@ -306,26 +306,22 @@ export class ChatService { async findOneRelationshipByUsername(friendUsername : string, username : string) { + printCaller("-- in "); + const friendship = await this.friendshipRepository .createQueryBuilder('friendship') .leftJoinAndSelect('friendship.sender', 'sender') .leftJoinAndSelect('friendship.receiver', 'receiver') - .where - ( - new Brackets((qb) => - { - qb.where - ( - new Brackets((subAQb) => - { + .where ( + new Brackets((qb) => { + qb.where ( + new Brackets((subAQb) => { subAQb.where('sender.username = :username', {username : username}) .andWhere('receiver.username = :friendUsername', {friendUsername : friendUsername}) }) ) - .orWhere - ( - new Brackets((subBQb) => - { + .orWhere ( + new Brackets((subBQb) => { subBQb.where('sender.username = :friendUsername2', {friendUsername2 : friendUsername}) .andWhere('receiver.username = :username2', {username2 : username}) .andWhere('friendship.status != :status', {status : FriendshipStatus.BLOCKED}) @@ -333,11 +329,14 @@ export class ChatService { ) }), ) - .getOne() + .getOne(); + console.log("friendship:", friendship); if (!friendship) return null; return new SendableFriendship(friendship); + + printCaller("-- out "); } async addBlockUser(username: string, to_block_username: string): Promise diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts index 4bfdcfcb..2153c306 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts @@ -239,7 +239,7 @@ export async function remove_block_user(username: string): Promise await fetch_chat_request('unblock', FetchMethod.POST, {username: username} ); } -export async function list_block_user(username: string): Promise +export async function list_block_user(username: string): Promise { to_print("in list_block_user"); diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts b/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts index c003c8ab..f658d1b5 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Socket_chat.ts @@ -6,8 +6,11 @@ const address = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}` export async function init_socket() { + to_print("in init_socket"); + console.log("here"); const response = await fetch(`${address}/api/v2/user`); const response_data = await response.json(); + to_print("-- response_data:", response_data); set_user(response_data); @@ -19,6 +22,7 @@ export async function init_socket() username: response_data.username, }, }); + console.log("horo"); set_socket(socket); socket_states(socket); From e52690d89001394920f878282b277c74a1d8aa36 Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 16:18:42 +0100 Subject: [PATCH 04/12] will not show direct rooms if blocked --- .../nestjs/api_back/src/chat/chat.controller.ts | 16 +++++++++++++++- .../api_front/src/pieces/chat/Request_rooms.ts | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts index a0c0abcd..46e15292 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -52,8 +52,22 @@ export class ChatController { let fields = ["name", "type", "users", "protection", "allowed_users"]; const rooms = await this.chatService.getMyRooms(req.user.username, fields); + const blocked = await this.chatService.getListBlockUser(req.user.username); - const ret_rooms = rooms.map(room => + let filtered_rooms = rooms.filter(room => + { + if (room.type === 'direct') + { + let roomname = room.users[0]; + if (roomname === req.user.username) + roomname = room.users[1]; + if (blocked.includes(roomname)) + return false; + } + return true; + }); + + const ret_rooms = filtered_rooms.map(room => { let new_room = this.format_room(room); if (room.protection) diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts index 4bfdcfcb..2153c306 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts @@ -239,7 +239,7 @@ export async function remove_block_user(username: string): Promise await fetch_chat_request('unblock', FetchMethod.POST, {username: username} ); } -export async function list_block_user(username: string): Promise +export async function list_block_user(username: string): Promise { to_print("in list_block_user"); From 8b508063e84853f1f64fe2fbccdc97b8aa7b333d Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 16:46:04 +0100 Subject: [PATCH 05/12] will not show users in rooms if blocked --- .../api_back/src/chat/chat.controller.ts | 13 +++++++++- .../nestjs/api_back/src/chat/chat.service.ts | 25 +++++++++---------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts index 46e15292..a3971ef7 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -92,8 +92,19 @@ export class ChatController { printCaller("- in "); const rooms: roomDto[] = await this.chatService.getAllOtherRoomsAndUsers(req.user.username) + const blocked = await this.chatService.getListBlockUser(req.user.username); - const ret_rooms = rooms.map(room => this.format_room(room)); + let filtered_rooms = rooms.filter(room => + { + if (room.type === 'user') + { + if (blocked.includes(room.name)) + return false; + } + return true; + }); + + const ret_rooms = filtered_rooms.map(room => this.format_room(room)); res.status(HttpStatus.OK).json({ rooms: ret_rooms }); printCaller("- out "); } diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts index 5225ad7d..a97d9004 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts @@ -306,26 +306,22 @@ export class ChatService { async findOneRelationshipByUsername(friendUsername : string, username : string) { + printCaller("-- in "); + const friendship = await this.friendshipRepository .createQueryBuilder('friendship') .leftJoinAndSelect('friendship.sender', 'sender') .leftJoinAndSelect('friendship.receiver', 'receiver') - .where - ( - new Brackets((qb) => - { - qb.where - ( - new Brackets((subAQb) => - { + .where ( + new Brackets((qb) => { + qb.where ( + new Brackets((subAQb) => { subAQb.where('sender.username = :username', {username : username}) .andWhere('receiver.username = :friendUsername', {friendUsername : friendUsername}) }) ) - .orWhere - ( - new Brackets((subBQb) => - { + .orWhere ( + new Brackets((subBQb) => { subBQb.where('sender.username = :friendUsername2', {friendUsername2 : friendUsername}) .andWhere('receiver.username = :username2', {username2 : username}) .andWhere('friendship.status != :status', {status : FriendshipStatus.BLOCKED}) @@ -333,11 +329,14 @@ export class ChatService { ) }), ) - .getOne() + .getOne(); + console.log("friendship:", friendship); if (!friendship) return null; return new SendableFriendship(friendship); + + printCaller("-- out "); } async addBlockUser(username: string, to_block_username: string): Promise From 15c53b17b38ee949153e116032463eb11313a4d1 Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 17:27:35 +0100 Subject: [PATCH 06/12] blocked messages are not in hitory --- .../api_back/src/chat/chat.controller.ts | 51 +++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts index a3971ef7..4af3025e 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -225,6 +225,12 @@ export class ChatController { let response = ""; if (room.type === 'user') { + const blocked = await this.chatService.getListBlockUser(req.user.username); + if (blocked.includes(room.name)) + { + console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'"); + throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED); + } room.type = 'direct'; room.users = [room.name, req.user.username]; room.name += ` + ${req.user.username}`; @@ -268,7 +274,7 @@ export class ChatController { { printCaller("- in "); - let fields = ["protection", "allowed_users"]; + let fields = ["protection", "allowed_users", "type", "users"]; const room_db = await this.chatService.getRoomByName(room.name, fields); if (room_db.protection === true) @@ -280,6 +286,19 @@ export class ChatController { } } + const blocked = await this.chatService.getListBlockUser(req.user.username); + if (room_db.type === 'direct') + { + let roomname = room_db.users[0]; + if (roomname === req.user.username) + roomname = room.users[1]; + if (blocked.includes(roomname)) + { + console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'"); + throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED); + } + } + await this.chatService.setCurrentRoom(req.user.username, room.name); let socket: socketDto = this.chatGateway.sockets.get(req.user.username); await this.chatService.socketChangeRoom(socket, room.name); @@ -386,6 +405,14 @@ export class ChatController { { printCaller("- in "); + + const blocked = await this.chatService.getListBlockUser(req.user.username); + if (blocked.includes(username)) + { + console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot invite this user, you have blocked it'"); + throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot invite this user, you have blocked it` }, HttpStatus.UNAUTHORIZED); + } + let current_room_name = await this.chatService.getCurrentRoomName(req.user.username); let room = await this.chatService.addUserToRoom(username, current_room_name); let message = `${username} joined the room`; @@ -428,7 +455,17 @@ export class ChatController { printCaller("- in "); const messages = await this.chatService.getMessagesFromCurrentRoom(req.user.username); - res.status(HttpStatus.OK).json({ messages: messages }); + + console.log("messages:", messages); + const blocked = await this.chatService.getListBlockUser(req.user.username); + let filtered_messages = messages.filter(message => + { + if (blocked.includes(message.name)) + return false; + return true; + }); + + res.status(HttpStatus.OK).json({ messages: filtered_messages }); printCaller("- out "); } @@ -481,7 +518,15 @@ export class ChatController { const room_name = await this.chatService.getCurrentRoomName(req.user.username); const users = await this.chatService.getAllUsersNotInRoom(room_name); - res.status(HttpStatus.OK).json({ users: users }); + const blocked = await this.chatService.getListBlockUser(req.user.username); + let filtered_users = users.filter(user => + { + if (blocked.includes(user.username)) + return false; + return true; + }); + + res.status(HttpStatus.OK).json({ users: filtered_users }); printCaller("- out "); } From 569ef89077cfcb8d835fb46033581a74b0565880 Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 17:43:13 +0100 Subject: [PATCH 07/12] added severall protections --- .../nestjs/api_back/src/chat/chat.controller.ts | 7 +++++++ .../api_front/src/pieces/chat/Layout_settings.svelte | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts index 4af3025e..d3a4eedb 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -231,6 +231,13 @@ export class ChatController { console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'"); throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED); } + + const find_room = await this.chatService.getRoomByName(`${req.user.username} + ${room.name}`); + if (find_room) + { + console.log("throw error: error: true, code: 'ROOM_CONFLICT', message: 'This room name already exist'"); + throw new HttpException({ error: true, code: 'ROOM_CONFLICT', message: `This room name already exist` }, HttpStatus.CONFLICT); + } room.type = 'direct'; room.users = [room.name, req.user.username]; room.name += ` + ${req.user.username}`; diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte b/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte index 883a2d1f..687e57cb 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte @@ -10,10 +10,10 @@ let users: User[] = list_block_user(); - function user_profile(room_user: string) + async function user_profile(room_user: string) { to_print("in user_profile"); - settings_user.set(room_user); + await settings_user.set(room_user); layout.set("user"); } From f9d4045f64a3a31f2871b1932b5a7a36efe7043b Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 17:51:56 +0100 Subject: [PATCH 08/12] small css stye fix --- .../svelte/api_front/src/pages/game/GameSpectator.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte b/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte index 033c25eb..21d1fcc8 100644 --- a/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte @@ -190,6 +190,7 @@ position: relative; width: 100%; height: 100%; + box-sizing: border-box; } #canvas_container { margin-top: 20px; From 8b365968acbf1fcda72ce27ffea56f35b3a2526f Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 17:57:37 +0100 Subject: [PATCH 09/12] chat not on game --- srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte b/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte index 2fd98a7c..9640964b 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Chat.svelte @@ -82,7 +82,7 @@ -{#if $location !== '/'} +{#if $location !== '/' && $location !== '/game'} Date: Mon, 16 Jan 2023 18:00:19 +0100 Subject: [PATCH 10/12] fetchUser/Avatar() with optionnal username param + miscs smalls changes --- srcs/requirements/svelte/api_front/.env | 2 - .../api_front/src/pages/game/Game.svelte | 4 +- .../src/pages/game/GameSpectator.svelte | 6 +- .../svelte/api_front/src/pieces/Canvas.svelte | 112 ------------------ .../src/pieces/GenerateUserDisplay.svelte | 4 +- .../svelte/api_front/src/pieces/utils.ts | 24 ++-- 6 files changed, 21 insertions(+), 131 deletions(-) delete mode 100644 srcs/requirements/svelte/api_front/.env delete mode 100644 srcs/requirements/svelte/api_front/src/pieces/Canvas.svelte diff --git a/srcs/requirements/svelte/api_front/.env b/srcs/requirements/svelte/api_front/.env deleted file mode 100644 index 1b450684..00000000 --- a/srcs/requirements/svelte/api_front/.env +++ /dev/null @@ -1,2 +0,0 @@ -WEBSITE_HOST=transcendance -WEBSITE_PORT=8080 diff --git a/srcs/requirements/svelte/api_front/src/pages/game/Game.svelte b/srcs/requirements/svelte/api_front/src/pages/game/Game.svelte index 3cf3590f..1b28fd70 100644 --- a/srcs/requirements/svelte/api_front/src/pages/game/Game.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/game/Game.svelte @@ -14,8 +14,8 @@ let user; let allUsers; - let playerOneAvatar; - let playerTwoAvatar; + let playerOneAvatar = ""; + let playerTwoAvatar = ""; //Game's stuff const options = new pong.InitOptions(); diff --git a/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte b/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte index 033c25eb..9d538c88 100644 --- a/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/game/GameSpectator.svelte @@ -5,13 +5,13 @@ import MatchListElem from "../../pieces/MatchListElem.svelte"; import type { Match } from "../../pieces/Match"; - import { fetchUser, fetchAllUsers, fetchAvatar } from "../../pieces/utils"; + import { fetchAvatar } from "../../pieces/utils"; import * as pongSpectator from "./client/pongSpectator"; import { gameState } from "./client/ws"; - let playerOneAvatar; - let playerTwoAvatar; + let playerOneAvatar = ""; + let playerTwoAvatar = ""; //Game's stuff const gameAreaId = "game_area"; diff --git a/srcs/requirements/svelte/api_front/src/pieces/Canvas.svelte b/srcs/requirements/svelte/api_front/src/pieces/Canvas.svelte deleted file mode 100644 index 5fd1264a..00000000 --- a/srcs/requirements/svelte/api_front/src/pieces/Canvas.svelte +++ /dev/null @@ -1,112 +0,0 @@ - - - - - diff --git a/srcs/requirements/svelte/api_front/src/pieces/GenerateUserDisplay.svelte b/srcs/requirements/svelte/api_front/src/pieces/GenerateUserDisplay.svelte index 95fcc5ee..d8a9904d 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/GenerateUserDisplay.svelte +++ b/srcs/requirements/svelte/api_front/src/pieces/GenerateUserDisplay.svelte @@ -62,11 +62,11 @@
- {#if user !== undefined} + {#if user}
- default user icon + user avatar
{errors.avatar}
{user.username}
Rank: diff --git a/srcs/requirements/svelte/api_front/src/pieces/utils.ts b/srcs/requirements/svelte/api_front/src/pieces/utils.ts index bc498c49..e193b039 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/utils.ts +++ b/srcs/requirements/svelte/api_front/src/pieces/utils.ts @@ -1,7 +1,12 @@ -export async function fetchAvatar(username: string) +export async function fetchAvatar(username?: string) { - return fetch(`http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}/api/v2/user/avatar?username=${username}`) + let url = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}/api/v2/user/avatar`; + if (username) { + url += `?username=${username}`; + } + + return fetch(url) .then((response) => { if (!response.ok) { throw new Error("HTTP " + response.status); @@ -17,18 +22,20 @@ export async function fetchAvatar(username: string) }); } -export async function fetchUser() +export async function fetchUser(username?: string) { - return fetch(`http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}/api/v2/user`) + let url = `http://${process.env.WEBSITE_HOST}:${process.env.WEBSITE_PORT}/api/v2/user`; + if (username) { + url += `?username=${username}`; + } + + return fetch(url) .then((response) => { if (!response.ok) { throw new Error("HTTP " + response.status); } return response.json(); }) - .then((body) => { - return body; - }) .catch((error) => { console.log("catch fetchUser: ", error); return null; @@ -44,9 +51,6 @@ export async function fetchAllUsers() } return response.json(); }) - .then((body) => { - return body; - }) .catch((error) => { console.log("catch fetchAllUsers: ", error); return []; From 314fa10cffd3c2a00543532957798e298a37ac9d Mon Sep 17 00:00:00 2001 From: LuckyLaszlo Date: Mon, 16 Jan 2023 18:03:08 +0100 Subject: [PATCH 11/12] fetch() changes in all svelte + miscs front refactoring --- .../api_front/src/pages/SplashPage.svelte | 46 +- .../src/pages/TwoFactorAuthentication.svelte | 87 ++-- .../api_front/src/pages/game/Ranking.svelte | 53 +- .../src/pages/profile/ProfileDisplay.svelte | 18 +- .../profile/ProfileDisplayOneUser.svelte | 34 +- .../src/pages/profile/ProfileSettings.svelte | 154 +++--- .../src/pages/profile/ProfileUsers.svelte | 470 ++++++++++-------- .../api_front/src/pieces/DisplayAUser.svelte | 29 +- .../svelte/api_front/src/pieces/Header.svelte | 55 +- 9 files changed, 522 insertions(+), 424 deletions(-) diff --git a/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte b/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte index c944f34e..c57a677c 100644 --- a/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/SplashPage.svelte @@ -1,30 +1,36 @@ diff --git a/srcs/requirements/svelte/api_front/src/pages/TwoFactorAuthentication.svelte b/srcs/requirements/svelte/api_front/src/pages/TwoFactorAuthentication.svelte index be30e387..cbf4d74c 100644 --- a/srcs/requirements/svelte/api_front/src/pages/TwoFactorAuthentication.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/TwoFactorAuthentication.svelte @@ -1,44 +1,59 @@ diff --git a/srcs/requirements/svelte/api_front/src/pages/game/Ranking.svelte b/srcs/requirements/svelte/api_front/src/pages/game/Ranking.svelte index 35fc66ee..033da320 100644 --- a/srcs/requirements/svelte/api_front/src/pages/game/Ranking.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/game/Ranking.svelte @@ -1,28 +1,37 @@ @@ -41,18 +50,18 @@ - {#each allUsers as user, i} + {#each allUsersRanking as userRanking, i} {i + 1} - {#if user.username === currentUser.username} - {user.username} [You] + {#if userRanking.username === user.username} + {userRanking.username} [You] {:else} - {user.username} + {userRanking.username} {/if} - {user.stats.winGame} - {user.stats.loseGame} - {user.stats.drawGame} - {user.stats.totalGame} + {userRanking.stats.winGame} + {userRanking.stats.loseGame} + {userRanking.stats.drawGame} + {userRanking.stats.totalGame} {/each} diff --git a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplay.svelte b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplay.svelte index d1b7c125..0b537349 100644 --- a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplay.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplay.svelte @@ -1,19 +1,17 @@ @@ -21,7 +19,7 @@
- {#if user !== undefined} + {#if user} {:else} diff --git a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplayOneUser.svelte b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplayOneUser.svelte index 537c8646..898b75ce 100644 --- a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplayOneUser.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileDisplayOneUser.svelte @@ -1,32 +1,25 @@
-{#if user !== undefined} - +{#if oneUser} + {:else}

Sorry

Failed to load user {params.username}
@@ -35,4 +28,3 @@
- diff --git a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte index 738dd392..e5822e3d 100644 --- a/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte +++ b/srcs/requirements/svelte/api_front/src/pages/profile/ProfileSettings.svelte @@ -1,81 +1,89 @@ @@ -239,7 +301,7 @@