diff --git a/services/request/package.json b/services/request/package.json index ad48b09..1916915 100644 --- a/services/request/package.json +++ b/services/request/package.json @@ -1,5 +1,5 @@ { - "name": "request", + "name": "@autoplex-service/request", "version": "0.0.0", "keywords": [], "author": "David Ludwig", @@ -16,6 +16,8 @@ "start:dev": "nodemon" }, "dependencies": { + "@autoplex/database": "^0.0.0", + "@autoplex/utils": "^0.0.0", "@fortawesome/fontawesome-free": "^5.15.3", "bcrypt": "^5.0.1", "discord.js": "^12.5.3", diff --git a/services/request/src/server/database/entities/RegisterToken.ts b/services/request/src/server/database/entities/RegisterToken.ts index 5270309..e180256 100644 --- a/services/request/src/server/database/entities/RegisterToken.ts +++ b/services/request/src/server/database/entities/RegisterToken.ts @@ -1,4 +1,4 @@ -import { generateToken } from "@server/util"; +import { generateToken } from "@autoplex/utils"; import { randomBytes } from "crypto"; import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from "typeorm"; diff --git a/services/request/src/server/index.ts b/services/request/src/server/index.ts index 9c794f7..17cab67 100644 --- a/services/request/src/server/index.ts +++ b/services/request/src/server/index.ts @@ -1,5 +1,5 @@ +import { env, secretSync } from "@autoplex/utils"; import Application from "./Application"; -import { env, secretSync } from "./util"; /** * Load the application key diff --git a/services/request/src/server/services/Database.ts b/services/request/src/server/services/Database.ts index bcdea60..29bfdbf 100644 --- a/services/request/src/server/services/Database.ts +++ b/services/request/src/server/services/Database.ts @@ -1,5 +1,4 @@ import { Connection, createConnection } from "typeorm"; -import * as entities from "../database/entities"; import Service from "./Service"; import Application from "../Application"; import connectToDatabase from "@server/database"; diff --git a/services/request/src/server/services/DiscordBot.ts b/services/request/src/server/services/DiscordBot.ts index 1b910c0..021f204 100644 --- a/services/request/src/server/services/DiscordBot.ts +++ b/services/request/src/server/services/DiscordBot.ts @@ -1,7 +1,7 @@ import Application from "../Application"; import Service from "./Service"; import { Client, Collection, Message, TextChannel, User as DiscordUser } from "discord.js"; -import { env, formatImdbId, generateToken, secret } from "@server/util"; +import { env, formatImdbId, generateToken, secret } from "@autoplex/utils"; import { DiscordChannel } from "@server/database/entities/DiscordChannel"; import { DiscordAccount, MovieTicket } from "@server/database/entities"; import MovieSearch from "./MovieSearch"; diff --git a/services/request/src/server/services/MovieSearch.ts b/services/request/src/server/services/MovieSearch.ts index b494c4f..bd54874 100644 --- a/services/request/src/server/services/MovieSearch.ts +++ b/services/request/src/server/services/MovieSearch.ts @@ -1,6 +1,6 @@ import Application from "@server/Application"; import TheMovieDb, { ExternalSource } from "@lib/tmdb"; -import { env, plexMediaUrl, secret } from "@server/util"; +import { env, plexMediaUrl, secret } from "@autoplex/utils"; import { request } from "https"; import Service from "./Service"; import TvDb from "./TvDb"; diff --git a/services/request/src/server/services/PlexLibrary.ts b/services/request/src/server/services/PlexLibrary.ts index 6301fb9..8230cf4 100644 --- a/services/request/src/server/services/PlexLibrary.ts +++ b/services/request/src/server/services/PlexLibrary.ts @@ -1,7 +1,7 @@ import Plex from "@lib/plex"; import Application from "@server/Application"; import { PlexMovie } from "@server/database/entities"; -import { env, secret, sleep } from "@server/util"; +import { env, secret, sleep } from "@autoplex/utils"; import MovieSearch from "./MovieSearch"; import Service from "./Service"; diff --git a/services/request/src/server/services/TvDb.ts b/services/request/src/server/services/TvDb.ts index b48669e..db8a950 100644 --- a/services/request/src/server/services/TvDb.ts +++ b/services/request/src/server/services/TvDb.ts @@ -2,7 +2,7 @@ import { readFile } from "fs/promises"; import Application from "@server/Application"; import TVDB from "tvdb-v4"; import Service from "./Service"; -import { env, secret } from "@server/util"; +import { env, secret } from "@autoplex/utils"; /** * The token refresh period in milliseconds diff --git a/services/request/src/server/util.ts b/services/request/src/server/util.ts deleted file mode 100644 index f32b0e4..0000000 --- a/services/request/src/server/util.ts +++ /dev/null @@ -1,67 +0,0 @@ -import assert from "assert"; -import { readFile } from "fs/promises"; -import { readFileSync } from "fs"; -import { randomBytes } from "crypto"; - -/** - * Await for the given number of milliseconds - */ -export async function sleep(msecs: number) { - return new Promise(resolve => { - setTimeout(resolve, msecs); - }); -} - -/** - * Fetch an environment variable - */ -export function env(variable: string, throwIfNotFound = true) { - let value = process.env[variable]; - if (throwIfNotFound) { - assert(value !== undefined); - } - return value; -} - -/** - * Fetch a secret from a file - */ -export async function secret(path: string) { - return (await readFile(path)).toString().trim(); -} - -export function secretSync(path: string) { - return readFileSync(path).toString().trim(); -} - -export type Logger = ReturnType; -export function createLogger(name: string) { - return (...args: any[]) => console.log(`[${name}]:`, ...args); -} - -export function formatImdbId(imdbId: string) { - return `tt${imdbId.replace(/^tt0*/, "").padStart(7, '0')}`; -} - -/** - * Generate a random token. Length is 2*size - */ -export function generateToken(size: number = 48) { - return new Promise((resolve, reject) => { - randomBytes(size, async (err, result) => { - if (err) { - reject(err); - return; - } - resolve(result.toString("hex")); - }); - }); -} - -/** - * Generate a URL to a movie/TV show on Plex - */ -export function plexMediaUrl(plexKey: number) { - return `${env("PLEX_URL")}/web/index.html#!/server/${env("PLEX_SERVER_ID")}/` + - `details?key=%2Flibrary%2Fmetadata%2F${plexKey}&context=library%3Acontent.library;`; -} diff --git a/services/seeker/package.json b/services/seeker/package.json index e993adb..024c844 100644 --- a/services/seeker/package.json +++ b/services/seeker/package.json @@ -1,5 +1,5 @@ { - "name": "seeker", + "name": "@autoplex-service/seeker", "version": "1.0.0", "main": "./dist/index.js", "repository": "ssh://git@git.dlii.tech:222/Autoplex/seeker.git", diff --git a/services/torrent-client/package.json b/services/torrent-client/package.json index 901d1f4..43bb422 100644 --- a/services/torrent-client/package.json +++ b/services/torrent-client/package.json @@ -1,5 +1,5 @@ { - "name": "torrent", + "name": "@autoplex-service/torrent", "version": "0.0.1", "description": "A dedicated torrent client for Autoplex", "main": "./dist/index.js", diff --git a/services/torrent-webui/package.json b/services/torrent-webui/package.json index 1bdbe0b..8be0a35 100644 --- a/services/torrent-webui/package.json +++ b/services/torrent-webui/package.json @@ -1,5 +1,5 @@ { - "name": "torrent-webui", + "name": "@autoplex-service/torrent-webui", "version": "0.0.0", "keywords": [], "author": "David Ludwig",