Skip to content

Commit

Permalink
fix: correct ready message
Browse files Browse the repository at this point in the history
  • Loading branch information
Matheus Paice committed Apr 19, 2024
1 parent 9406ead commit 49dea44
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 22 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vtru-studio-websocket",
"version": "1.1.37",
"version": "1.1.38",
"description": "",
"main": "index.js",
"scripts": {
Expand Down
37 changes: 18 additions & 19 deletions src/controllers/preSignedURL/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import debug from 'debug';
import { nanoid } from 'nanoid';
import type { AssetEnvelope } from '../types';
import { RABBITMQ_EXCHANGE_CREATORS } from '../../constants';
import { disconnect, getChannel } from '../../services/rabbitmq';
Expand All @@ -8,8 +7,6 @@ import { io } from '../../services';

const logger = debug('controllers:preSignedURL');

const uniqueId = nanoid();

// TODO: implement dead-letter queue
export const start = async () => {
const channel = await getChannel();
Expand All @@ -29,34 +26,36 @@ export const start = async () => {

logger('Channel controller preSignedURL started');

const logQueue = `${RABBITMQ_EXCHANGE_CREATORS}.assets.${uniqueId}`;
logger('logQueue', logQueue);
const logQueue = `${RABBITMQ_EXCHANGE_CREATORS}.assets`;
logger('logQueue', logQueue, 'routingKey', 'preSignedURL');
channel.assertExchange(RABBITMQ_EXCHANGE_CREATORS, 'topic', {
durable: true,
});
channel.assertQueue(logQueue, { durable: false });
channel.bindQueue(logQueue, RABBITMQ_EXCHANGE_CREATORS, 'preSignedURL');
channel.consume(logQueue, async (message) => {
console.log('message received:', message);
if (!message) return;
if (!message) {
logger('logQueue', logQueue, 'message', 'No message received');
return;
}

try {
if (message.fields.routingKey !== 'preSignedURL') {
channel.nack(message);
return;
}

const content = message.content.toString();

logger('logQueue', logQueue, 'message', content);
// parse envelope
const parsedMessage = JSON.parse(
message.content.toString().trim()
) as AssetEnvelope;
const parsedMessage = JSON.parse(content.trim()) as AssetEnvelope;

const sockets = await io.sockets.in('creators').fetchSockets();

console.log('Sockets connected:', sockets);
logger('sockets', sockets);

sockets.forEach((socket) => {
console.log(
'socket.data.id:',
socket.data.id,
'parsedMessage.creatorId:',
parsedMessage.creatorId
);
if (socket.data.id === parsedMessage.creatorId) {
socket.emit('preSignedURL', {
preSignedURL: parsedMessage.preSignedURL,
Expand All @@ -77,8 +76,8 @@ export const start = async () => {
});

process.once('SIGINT', async () => {
logger(`Deleting queue ${logQueue}`);
await channel.deleteQueue(logQueue);
logger(`Closing channel ${logQueue}`);
await channel.close();

// disconnect from RabbitMQ
await disconnect();
Expand Down

0 comments on commit 49dea44

Please sign in to comment.