summary refs log tree commit diff
path: root/src/connections/Facebook
diff options
context:
space:
mode:
authorPuyodead1 <puyodead@proton.me>2023-01-13 08:52:24 -0500
committerPuyodead1 <puyodead@proton.me>2023-03-18 19:28:46 -0400
commitd8ecc4269f2049f64ee60f518076ccd162857a36 (patch)
treecd14b6082bac049b26a8a493898b43ef3216c10b /src/connections/Facebook
parentadd Xbox connection (diff)
downloadserver-d8ecc4269f2049f64ee60f518076ccd162857a36.tar.xz
replace node-fetch with wretch
Diffstat (limited to 'src/connections/Facebook')
-rw-r--r--src/connections/Facebook/index.ts55
1 files changed, 12 insertions, 43 deletions
diff --git a/src/connections/Facebook/index.ts b/src/connections/Facebook/index.ts

index 67f8da79..5413f867 100644 --- a/src/connections/Facebook/index.ts +++ b/src/connections/Facebook/index.ts
@@ -1,5 +1,4 @@ import { - ApiError, Config, ConnectedAccount, ConnectedAccountCommonOAuthTokenResponse, @@ -7,7 +6,7 @@ import { ConnectionLoader, DiscordApiErrors, } from "@fosscord/util"; -import fetch from "node-fetch"; +import wretch from "wretch"; import Connection from "../../util/connections/Connection"; import { FacebookSettings } from "./FacebookSettings"; @@ -83,59 +82,29 @@ export default class FacebookConnection extends Connection { const url = this.getTokenUrl(code); - return fetch(url.toString(), { - method: "GET", - headers: { + return wretch(url.toString()) + .headers({ Accept: "application/json", - }, - }) - .then((res) => { - if (!res.ok) { - throw new ApiError("Failed to exchange code", 0, 400); - } - - return res.json(); }) - .then( - ( - res: ConnectedAccountCommonOAuthTokenResponse & - FacebookErrorResponse, - ) => { - if (res.error) throw new Error(res.error.message); - return res; - }, - ) + .get() + .json<ConnectedAccountCommonOAuthTokenResponse>() .catch((e) => { - console.error( - `Error exchanging token for ${this.id} connection: ${e}`, - ); + console.error(e); throw DiscordApiErrors.GENERAL_ERROR; }); } async getUser(token: string): Promise<UserResponse> { const url = new URL(this.userInfoUrl); - return fetch(url.toString(), { - method: "GET", - headers: { + + return wretch(url.toString()) + .headers({ Authorization: `Bearer ${token}`, - }, - }) - .then((res) => { - if (!res.ok) { - throw new ApiError("Failed to fetch user", 0, 400); - } - - return res.json(); - }) - .then((res: UserResponse & FacebookErrorResponse) => { - if (res.error) throw new Error(res.error.message); - return res; }) + .get() + .json<UserResponse>() .catch((e) => { - console.error( - `Error fetching user for ${this.id} connection: ${e}`, - ); + console.error(e); throw DiscordApiErrors.GENERAL_ERROR; }); }