summary refs log tree commit diff
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/middlewares/ImageProxy.ts2
-rw-r--r--src/api/routes/gifs/search.ts11
-rw-r--r--src/api/routes/gifs/trending-gifs.ts11
-rw-r--r--src/api/routes/gifs/trending.ts2
-rw-r--r--src/api/routes/guilds/templates/index.ts2
-rw-r--r--src/api/util/handlers/Message.ts2
-rw-r--r--src/api/util/utility/EmbedHandlers.ts30
-rw-r--r--src/api/util/utility/captcha.ts2
-rw-r--r--src/api/util/utility/ipAddress.ts4
9 files changed, 48 insertions, 18 deletions
diff --git a/src/api/middlewares/ImageProxy.ts b/src/api/middlewares/ImageProxy.ts

index 4f9eef10..deb48bd5 100644 --- a/src/api/middlewares/ImageProxy.ts +++ b/src/api/middlewares/ImageProxy.ts
@@ -20,7 +20,7 @@ import { Config, JimpType } from "@spacebar/util"; import { Request, Response } from "express"; import { yellow } from "picocolors"; import crypto from "crypto"; -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; let sharp: undefined | false | { default: typeof import("sharp") } = undefined; diff --git a/src/api/routes/gifs/search.ts b/src/api/routes/gifs/search.ts
index 305a2a48..3869bbe6 100644 --- a/src/api/routes/gifs/search.ts +++ b/src/api/routes/gifs/search.ts
@@ -17,9 +17,14 @@ */ import { route } from "@spacebar/api"; -import { TenorMediaTypes, getGifApiKey, parseGifResult } from "@spacebar/util"; +import { + TenorMediaTypes, + getGifApiKey, + parseGifResult, + TenorGif, +} from "@spacebar/util"; import { Request, Response, Router } from "express"; -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; import { ProxyAgent } from "proxy-agent"; const router = Router(); @@ -68,7 +73,7 @@ router.get( }, ); - const { results } = await response.json(); + const { results } = (await response.json()) as { results: TenorGif[] }; res.json(results.map(parseGifResult)).status(200); }, diff --git a/src/api/routes/gifs/trending-gifs.ts b/src/api/routes/gifs/trending-gifs.ts
index 77a61efc..f19874e6 100644 --- a/src/api/routes/gifs/trending-gifs.ts +++ b/src/api/routes/gifs/trending-gifs.ts
@@ -17,9 +17,14 @@ */ import { route } from "@spacebar/api"; -import { TenorMediaTypes, getGifApiKey, parseGifResult } from "@spacebar/util"; +import { + TenorMediaTypes, + getGifApiKey, + parseGifResult, + TenorGif, +} from "@spacebar/util"; import { Request, Response, Router } from "express"; -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; import { ProxyAgent } from "proxy-agent"; const router = Router(); @@ -63,7 +68,7 @@ router.get( }, ); - const { results } = await response.json(); + const { results } = (await response.json()) as { results: TenorGif[] }; res.json(results.map(parseGifResult)).status(200); }, diff --git a/src/api/routes/gifs/trending.ts b/src/api/routes/gifs/trending.ts
index fe726842..2c43a501 100644 --- a/src/api/routes/gifs/trending.ts +++ b/src/api/routes/gifs/trending.ts
@@ -24,7 +24,7 @@ import { parseGifResult, } from "@spacebar/util"; import { Request, Response, Router } from "express"; -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; import { ProxyAgent } from "proxy-agent"; const router = Router(); diff --git a/src/api/routes/guilds/templates/index.ts b/src/api/routes/guilds/templates/index.ts
index 8f718a21..a611f421 100644 --- a/src/api/routes/guilds/templates/index.ts +++ b/src/api/routes/guilds/templates/index.ts
@@ -28,7 +28,7 @@ import { Template, } from "@spacebar/util"; import { Request, Response, Router } from "express"; -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; const router: Router = Router(); router.get( diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts
index f037417a..1733f7cb 100644 --- a/src/api/util/handlers/Message.ts +++ b/src/api/util/handlers/Message.ts
@@ -48,7 +48,7 @@ import { } from "@spacebar/util"; import { HTTPError } from "lambert-server"; import { In } from "typeorm"; -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; const allow_empty = false; // TODO: check webhook, application, system author, stickers // TODO: embed gifs/videos/images diff --git a/src/api/util/utility/EmbedHandlers.ts b/src/api/util/utility/EmbedHandlers.ts
index 0f1e88a5..450d9d7e 100644 --- a/src/api/util/utility/EmbedHandlers.ts +++ b/src/api/util/utility/EmbedHandlers.ts
@@ -19,7 +19,7 @@ import { Config, Embed, EmbedImage, EmbedType } from "@spacebar/util"; import * as cheerio from "cheerio"; import crypto from "crypto"; -import fetch, { RequestInit } from "node-fetch"; +import fetch, { RequestInit } from "node-fetch-commonjs"; import { yellow } from "picocolors"; import probe from "probe-image-size"; @@ -221,7 +221,7 @@ export const EmbedHandlers: { ? { name: metas.site_name, url: url.origin, - } + } : undefined, }; }, @@ -269,7 +269,27 @@ export const EmbedHandlers: { authorization: `Bearer ${token}`, }, }); - const json = await response.json(); + const json = (await response.json()) as { + errors?: never[]; + includes: { + users: { + profile_image_url: string; + username: string; + name: string; + }[]; + media: { + type: string; + width: number; + height: number; + url: string; + }[]; + }; + data: { + text: string; + created_at: string; + public_metrics: { like_count: number; retweet_count: number }; + }; + }; if (json.errors) return null; const author = json.includes.users[0]; const text = json.data.text; @@ -508,7 +528,7 @@ export const EmbedHandlers: { ? { name: metas.author, // TODO: author channel url - } + } : undefined, }; }, @@ -533,7 +553,7 @@ export const EmbedHandlers: { footer: hoverText ? { text: hoverText, - } + } : undefined, }; }, diff --git a/src/api/util/utility/captcha.ts b/src/api/util/utility/captcha.ts
index db1b7957..3c0ac766 100644 --- a/src/api/util/utility/captcha.ts +++ b/src/api/util/utility/captcha.ts
@@ -17,7 +17,7 @@ */ import { Config } from "@spacebar/util"; -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; export interface hcaptchaResponse { success: boolean; diff --git a/src/api/util/utility/ipAddress.ts b/src/api/util/utility/ipAddress.ts
index c51daf6c..c19c7c35 100644 --- a/src/api/util/utility/ipAddress.ts +++ b/src/api/util/utility/ipAddress.ts
@@ -19,7 +19,7 @@ import { Config } from "@spacebar/util"; import { Request } from "express"; // use ipdata package instead of simple fetch because of integrated caching -import fetch from "node-fetch"; +import fetch from "node-fetch-commonjs"; const exampleData = { ip: "", @@ -85,7 +85,7 @@ export async function IPAnalysis(ip: string): Promise<typeof exampleData> { return ( await fetch(`https://api.ipdata.co/${ip}?api-key=${ipdataApiKey}`) - ).json(); + ).json() as Promise<typeof exampleData>; } export function isProxy(data: typeof exampleData) {