diff --git a/src/node/consumer/src/index.js b/src/node/consumer/src/index.js index 92f994d..3f7ef3a 100644 --- a/src/node/consumer/src/index.js +++ b/src/node/consumer/src/index.js @@ -1,6 +1,6 @@ import { listenToQueue } from './jobs/processTorrents'; import { repository } from "./repository/database_repository"; -import { getTrackers } from "./lib/trackerService.js"; +import { getTrackers } from "./lib/trackerService"; (async () => { await getTrackers(); diff --git a/src/node/consumer/src/lib/torrent_processor.ts b/src/node/consumer/src/lib/torrent_processor.ts index 49f842a..97387d1 100644 --- a/src/node/consumer/src/lib/torrent_processor.ts +++ b/src/node/consumer/src/lib/torrent_processor.ts @@ -2,7 +2,7 @@ import {TorrentInfo} from "./interfaces/torrent_info"; import {TorrentType} from "./enums/torrent_types"; import {logger} from "./logger"; import {checkAndUpdateTorrent, createTorrentEntry} from "./torrentEntries.js"; -import {getTrackers} from "./trackerService.js"; +import {getTrackers} from "./trackerService"; import {IngestedTorrentAttributes} from "../repository/interfaces/ingested_torrent_attributes"; export async function processTorrentRecord(torrent: IngestedTorrentAttributes): Promise { diff --git a/src/node/consumer/src/lib/trackerService.js b/src/node/consumer/src/lib/trackerService.ts similarity index 57% rename from src/node/consumer/src/lib/trackerService.js rename to src/node/consumer/src/lib/trackerService.ts index 736630d..f2310c0 100644 --- a/src/node/consumer/src/lib/trackerService.js +++ b/src/node/consumer/src/lib/trackerService.ts @@ -1,19 +1,20 @@ -import axios from 'axios'; -import {cacheTrackers} from "./cache.js"; +import axios, { AxiosResponse } from 'axios'; +import { cacheTrackers } from "./cache.js"; import { trackerConfig } from './config.js'; -import {logger} from "./logger"; +import { logger } from "./logger"; -const downloadTrackers = async () => { - const response = await axios.get(trackerConfig.TRACKERS_URL); - const trackersListText = response.data; +const downloadTrackers = async (): Promise => { + const response: AxiosResponse = await axios.get(trackerConfig.TRACKERS_URL); + const trackersListText: string = response.data; // Trackers are separated by a newline character let urlTrackers = trackersListText.split("\n"); // remove blank lines urlTrackers = urlTrackers.filter(line => line.trim() !== ''); - + if (!trackerConfig.UDP_ENABLED) { // remove any udp trackers - urlTrackers = urlTrackers.filter(line => !line.startsWith('udp://')); + urlTrackers = urlTrackers.filter(line => !line.startsWith('udp://')); + } logger.info(`Trackers updated at ${Date.now()}: ${urlTrackers.length} trackers`); @@ -21,6 +22,6 @@ const downloadTrackers = async () => { return urlTrackers; }; -export const getTrackers = async () => { +export const getTrackers = async (): Promise => { return cacheTrackers(downloadTrackers); }; \ No newline at end of file