From 9d918abef3b242cd2dd775cce07325528152c36e Mon Sep 17 00:00:00 2001 From: iPromKnight Date: Mon, 5 Feb 2024 05:06:46 +0000 Subject: [PATCH] tracker service ts --- src/node/consumer/src/index.js | 2 +- .../consumer/src/lib/torrent_processor.ts | 2 +- .../{trackerService.js => trackerService.ts} | 19 ++++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) rename src/node/consumer/src/lib/{trackerService.js => trackerService.ts} (57%) 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