initial auth basic controller

This commit is contained in:
rafiarrafif
2025-05-09 00:29:30 +07:00
parent efe1bb6245
commit 87cf7fa56c
7 changed files with 37 additions and 14 deletions

View File

@ -0,0 +1,6 @@
import Joi from "joi";
export const loginWithPasswordSchema = Joi.object({
identifier: Joi.string().required(),
password: Joi.string().required(),
});

View File

@ -0,0 +1,4 @@
export interface LoginWithPasswordRequest {
identifier: string;
password: string;
}

View File

@ -1,7 +0,0 @@
import { Context } from "elysia";
import { loginViaPasswordService } from "../services/loginViaPassword.service";
export const loginViaPassword = async (ctx: Context) => {
const result = loginViaPasswordService(ctx);
return result;
};

View File

@ -0,0 +1,16 @@
import { Context } from "elysia";
import { loginWithPasswordService } from "../services/loginWithPassword.service";
import { loginWithPasswordSchema } from "../auth.schema";
import { returnErrorResponse } from "../../../helpers/callback/httpResponse";
import { LoginWithPasswordRequest } from "../auth.types";
export const loginWithPassword = async (
ctx: Context & { body: LoginWithPasswordRequest }
) => {
const { error } = loginWithPasswordSchema.validate(ctx.body);
if (error || !ctx.body)
return returnErrorResponse(ctx.set, 400, "Invalid user input", error);
const result = await loginWithPasswordService(ctx.body);
return result;
};

View File

@ -1,7 +1,7 @@
import Elysia from "elysia";
import { loginViaPassword } from "./controller/loginViaPassword.controller";
import { loginWithPassword } from "./controller/loginWithPassword.controller";
export const authModule = new Elysia({ prefix: "/auth" }).post(
"/legacy",
loginViaPassword
loginWithPassword
);

View File

@ -1,5 +0,0 @@
import { Context } from "elysia";
export const loginViaPasswordService = async (ctx: Context) => {
return "OK PASSED";
};

View File

@ -0,0 +1,9 @@
import { LoginWithPasswordRequest } from "../auth.types";
export const loginWithPasswordService = async (
data: LoginWithPasswordRequest
) => {
return `Login with password service called with data: ${JSON.stringify(
data
)}`;
};