diff --git a/app/src/lib/appAuth.ts b/app/src/lib/appAuth.ts index 307716d..c9ad5a6 100644 --- a/app/src/lib/appAuth.ts +++ b/app/src/lib/appAuth.ts @@ -32,53 +32,9 @@ export const appAuth = new SvelteKitAuth({ new RedditOAuthProvider({ apiKey: import.meta.env.VITE_REDDIT_API_KEY, apiSecret: import.meta.env.VITE_REDDIT_API_SECRET, - profile({ - is_employee, - has_external_account, - snoovatar_img, - verified, - id, - over_18, - is_gold, - is_mod, - awarder_karma, - has_verified_email, - is_suspended, - icon_img, - pref_nightmode, - awardee_karma, - password_set, - link_karma, - total_karma, - name, - created, - created_utc, - comment_karma, - }) { - return { - is_employee, - has_external_account, - snoovatar_img, - verified, - id, - over_18, - is_gold, - is_mod, - awarder_karma, - has_verified_email, - is_suspended, - icon_img, - pref_nightmode, - awardee_karma, - password_set, - link_karma, - total_karma, - name, - created, - created_utc, - comment_karma, - provider: "reddit", - }; + profile(profile) { + profile = RedditOAuthProvider.profileHandler(profile); + return { ...profile, provider: "reddit" }; }, }), ], diff --git a/src/providers/reddit.ts b/src/providers/reddit.ts index 9304f95..240a502 100644 --- a/src/providers/reddit.ts +++ b/src/providers/reddit.ts @@ -8,55 +8,57 @@ interface RedditOAuthProviderConfig extends OAuth2ProviderConfig { duration?: "temporary" | "permanent"; } +const redditProfileHandler = ({ + is_employee, + has_external_account, + snoovatar_img, + verified, + id, + over_18, + is_gold, + is_mod, + awarder_karma, + has_verified_email, + is_suspended, + icon_img, + pref_nightmode, + awardee_karma, + password_set, + link_karma, + total_karma, + name, + created, + created_utc, + comment_karma, +}) => ({ + is_employee, + has_external_account, + snoovatar_img, + verified, + id, + over_18, + is_gold, + is_mod, + awarder_karma, + has_verified_email, + is_suspended, + icon_img, + pref_nightmode, + awardee_karma, + password_set, + link_karma, + total_karma, + name, + created, + created_utc, + comment_karma, +}); + const defaultConfig: Partial = { id: "reddit", scope: "identity", duration: "temporary", - profile: ({ - is_employee, - has_external_account, - snoovatar_img, - verified, - id, - over_18, - is_gold, - is_mod, - awarder_karma, - has_verified_email, - is_suspended, - icon_img, - pref_nightmode, - awardee_karma, - password_set, - link_karma, - total_karma, - name, - created, - created_utc, - comment_karma, - }) => ({ - is_employee, - has_external_account, - snoovatar_img, - verified, - id, - over_18, - is_gold, - is_mod, - awarder_karma, - has_verified_email, - is_suspended, - icon_img, - pref_nightmode, - awardee_karma, - password_set, - link_karma, - total_karma, - name, - created, - created_utc, - comment_karma, - }), + profile: redditProfileHandler, }; export class RedditOAuthProvider extends OAuth2Provider { @@ -67,6 +69,8 @@ export class RedditOAuthProvider extends OAuth2Provider