👔 create list for oauth providers

create list and endpoint to see avaiable oauth providers.
This commit is contained in:
Rafi Arrafif
2025-08-24 10:42:36 +07:00
parent 5cce8eea9f
commit 7e8b5be6cd
4 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,11 @@
import { Context } from "elysia";
import { mainErrorHandler } from "../../../helpers/error/handler";
import { getOauthProvidersService } from "../services/http/getOauthProviders.service";
export const getOauthProvidersController = (ctx: Context) => {
try {
return getOauthProvidersService();
} catch (error) {
return mainErrorHandler(ctx.set, error);
}
};

View File

@ -3,8 +3,10 @@ import { githubRequestController } from "./controllers/githubRequest.controller"
import { githubCallbackController } from "./controllers/githubCallback.controller";
import { googleRequestController } from "./controllers/googleRequest.controller";
import { googleCallbackController } from "./controllers/googleCallback.controller";
import { getOauthProvidersController } from "./controllers/getOauthProviders.controller";
export const authModule = new Elysia({ prefix: "/auth" })
.get("/providers", getOauthProvidersController)
.get("/github", githubRequestController)
.get("/github/callback", githubCallbackController)
.get("/google", googleRequestController)

View File

@ -0,0 +1,16 @@
import { getOauthProviders } from "../../../../config/oauthProvider";
import { ErrorForwarder } from "../../../../helpers/error/instances/forwarder";
export const getOauthProvidersService = () => {
try {
const listProviders = getOauthProviders();
return listProviders.map(({ name, icon, req_endpoint }) => ({
name,
icon,
req_endpoint,
}));
} catch (error) {
ErrorForwarder(error);
}
};