WIP game link hard coded for the moment
This commit is contained in:
parent
6a55b28c2a
commit
62705c4a7e
5 changed files with 71 additions and 37 deletions
|
|
@ -18,7 +18,7 @@ import { makeProfil } from './chatBackHelperFunctions/makeProfil';
|
||||||
import { isBlocked } from './chatBackHelperFunctions/isBlocked';
|
import { isBlocked } from './chatBackHelperFunctions/isBlocked';
|
||||||
import { sendProfil } from './chatBackHelperFunctions/sendProfil';
|
import { sendProfil } from './chatBackHelperFunctions/sendProfil';
|
||||||
import { setGameLink } from './setGameLink';
|
import { setGameLink } from './setGameLink';
|
||||||
import { nextGame_SocketListener } from './nextGame_SocketListener';
|
//import { nextGame_SocketListener } from './nextGame_SocketListener';
|
||||||
import { list_SocketListener } from './chatBackHelperFunctions/list_SocketListener';
|
import { list_SocketListener } from './chatBackHelperFunctions/list_SocketListener';
|
||||||
import { isUser_BlockedBy_me } from './chatBackHelperFunctions/isUser_BlockedBy_me';
|
import { isUser_BlockedBy_me } from './chatBackHelperFunctions/isUser_BlockedBy_me';
|
||||||
import type { ClientInfo, blockedUnBlocked } from './chat_types';
|
import type { ClientInfo, blockedUnBlocked } from './chat_types';
|
||||||
|
|
@ -103,7 +103,7 @@ async function onReady(fastify: FastifyInstance) {
|
||||||
broadcast(fastify, obj, obj.SenderWindowID);
|
broadcast(fastify, obj, obj.SenderWindowID);
|
||||||
fastify.log.info(`Client connected: ${socket.id}`);
|
fastify.log.info(`Client connected: ${socket.id}`);
|
||||||
});
|
});
|
||||||
nextGame_SocketListener(fastify, socket);
|
//nextGame_SocketListener(fastify, socket);
|
||||||
list_SocketListener(fastify, socket);
|
list_SocketListener(fastify, socket);
|
||||||
|
|
||||||
socket.on('updateClientName', (object) => {
|
socket.on('updateClientName', (object) => {
|
||||||
|
|
@ -217,8 +217,13 @@ async function onReady(fastify: FastifyInstance) {
|
||||||
socket.on('inviteGame', async (data: string) => {
|
socket.on('inviteGame', async (data: string) => {
|
||||||
const clientName: string = clientChat.get(socket.id)?.user || '';
|
const clientName: string = clientChat.get(socket.id)?.user || '';
|
||||||
const profilInvite: ClientProfil = JSON.parse(data) || '';
|
const profilInvite: ClientProfil = JSON.parse(data) || '';
|
||||||
|
const linkGame: Response | undefined = await setGameLink(fastify);
|
||||||
|
if (!linkGame) return;
|
||||||
|
const tmp: any = await linkGame?.json();
|
||||||
|
const link: string = `'<a href=\'https://localhost:8888/pong?game=${tmp.payload.gameId}\' style=\'color: blue; text-decoration: underline; cursor: pointer;\'>Click me</a>'`;
|
||||||
|
|
||||||
const inviteHtml: string = 'invites you to a game ' + setGameLink('');
|
console.log(link);
|
||||||
|
const inviteHtml: string = 'invites you to a game' + link;
|
||||||
if (clientName !== null) {
|
if (clientName !== null) {
|
||||||
sendInvite(fastify, inviteHtml, profilInvite);
|
sendInvite(fastify, inviteHtml, profilInvite);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/**
|
// /**
|
||||||
/* TODO find the description info for profil / or profil game link and return
|
// /* TODO find the description info for profil / or profil game link and return
|
||||||
**/
|
// **/
|
||||||
export function createNextGame() {
|
// export function createNextGame() {
|
||||||
return '<a href=\'https://localhost:8888/app/\' style=\'color: blue; text-decoration: underline; cursor: pointer;\'>The next Game is Starting click here to watch</a>';
|
// return '<a href=\'https://localhost:8888/app/\' style=\'color: blue; text-decoration: underline; cursor: pointer;\'>The next Game is Starting click here to watch</a>';
|
||||||
};
|
// };
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
import type { FastifyInstance } from 'fastify';
|
// import type { FastifyInstance } from 'fastify';
|
||||||
import { broadcastNextGame } from './broadcastNextGame';
|
// import { broadcastNextGame } from './broadcastNextGame';
|
||||||
import { Socket } from 'socket.io';
|
// import { Socket } from 'socket.io';
|
||||||
import { createNextGame } from './createNextGame';
|
// import { createNextGame } from './createNextGame';
|
||||||
import { sendGameLinkToChatService } from './sendGameLinkToChatService';
|
// import { sendGameLinkToChatService } from './sendGameLinkToChatService';
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* function listens to the socket for a nextGame emit
|
// * function listens to the socket for a nextGame emit
|
||||||
* once triggered it broadcasts the pop up
|
// * once triggered it broadcasts the pop up
|
||||||
* TODO plug this into backend of the game Chat
|
// * TODO plug this into backend of the game Chat
|
||||||
* @param fastify
|
// * @param fastify
|
||||||
* @param socket
|
// * @param socket
|
||||||
*/
|
// */
|
||||||
export function nextGame_SocketListener(fastify: FastifyInstance, socket: Socket) {
|
// export function nextGame_SocketListener(fastify: FastifyInstance, socket: Socket) {
|
||||||
socket.on('nextGame', () => {
|
// socket.on('nextGame', () => {
|
||||||
const link: string = createNextGame();
|
// const link: string = createNextGame();
|
||||||
const game: Promise<string> = sendGameLinkToChatService(link);
|
// const game: Promise<string> = sendGameLinkToChatService(link);
|
||||||
broadcastNextGame(fastify, game);
|
// broadcastNextGame(fastify, game);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
@ -1,6 +1,33 @@
|
||||||
export function setGameLink(link: string): string {
|
import { FastifyInstance } from 'fastify';
|
||||||
if (!link) {
|
|
||||||
link = '<a href=\'https://google.com\' style=\'color: blue; text-decoration: underline; cursor: pointer;\'>Click me</a>';
|
|
||||||
}
|
export async function setGameLink(fastify: FastifyInstance): Promise<Response | undefined> {
|
||||||
return link;
|
|
||||||
};
|
|
||||||
|
let payload = {"user1":"019bad60-1e4a-7e28-af95-a8a88146107a", "user2":"019bad56-6468-748d-827e-110eb6aa4514"};
|
||||||
|
try {
|
||||||
|
const resp = await fetch('http://app-pong/api/pong/createPausedGame', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: { 'Content-type': 'application/json' },
|
||||||
|
body: JSON.stringify(payload),
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!resp.ok) {
|
||||||
|
|
||||||
|
console.log("chat detect fail :( ", resp.status);
|
||||||
|
|
||||||
|
throw (resp);
|
||||||
|
}
|
||||||
|
|
||||||
|
else { fastify.log.info('game-end info to chat success');
|
||||||
|
console.log("caht detect success :)");
|
||||||
|
// console.log("chat gets:", await resp.json());
|
||||||
|
}
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
// disable eslint for err catching
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
catch (e: any) {
|
||||||
|
fastify.log.error(`game-end info to chat failed: ${e}`);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -22,20 +22,22 @@ type CreatePausedGameResponse = MakeStaticResponse<typeof CreatePausedGameRespon
|
||||||
|
|
||||||
const route: FastifyPluginAsync = async (fastify): Promise<void> => {
|
const route: FastifyPluginAsync = async (fastify): Promise<void> => {
|
||||||
fastify.post<{ Body: CreatePausedGameParam }>(
|
fastify.post<{ Body: CreatePausedGameParam }>(
|
||||||
'/createPausedGame',
|
'/api/pong/createPausedGame',
|
||||||
{
|
{
|
||||||
schema: {
|
schema: {
|
||||||
body: CreatePausedGameParam,
|
body: CreatePausedGameParam,
|
||||||
response: CreatePausedGameResponse,
|
response: CreatePausedGameResponse,
|
||||||
operationId: 'pongCreatePauseGame',
|
operationId: 'createPauseGame',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
async function(req, res) {
|
async function(req, res) {
|
||||||
|
console.log('herererererererererer');
|
||||||
const resp = State.newPausedGame(req.body.user1 as UserId, req.body.user2 as UserId);
|
const resp = State.newPausedGame(req.body.user1 as UserId, req.body.user2 as UserId);
|
||||||
|
console.log('resp - game id: ',resp );
|
||||||
|
|
||||||
if (isNullish(resp)) { return (res.makeResponse(404, 'failure', 'createPausedGame.generic.fail')); }
|
if (isNullish(resp)) { return (res.makeResponse(404, 'failure', 'createPausedGame.generic.fail')); }
|
||||||
// else
|
// else
|
||||||
return (res.makeResponse(200, 'success', 'createPausedGame.success'));
|
return (res.makeResponse(200, 'success', 'createPausedGame.success', {gameId: resp}));
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue