initial auth basic controller
This commit is contained in:
@ -0,0 +1,6 @@
|
|||||||
|
import Joi from "joi";
|
||||||
|
|
||||||
|
export const loginWithPasswordSchema = Joi.object({
|
||||||
|
identifier: Joi.string().required(),
|
||||||
|
password: Joi.string().required(),
|
||||||
|
});
|
||||||
|
|||||||
@ -0,0 +1,4 @@
|
|||||||
|
export interface LoginWithPasswordRequest {
|
||||||
|
identifier: string;
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
|
|||||||
@ -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;
|
|
||||||
};
|
|
||||||
16
src/modules/auth/controller/loginWithPassword.controller.ts
Normal file
16
src/modules/auth/controller/loginWithPassword.controller.ts
Normal 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;
|
||||||
|
};
|
||||||
@ -1,7 +1,7 @@
|
|||||||
import Elysia from "elysia";
|
import Elysia from "elysia";
|
||||||
import { loginViaPassword } from "./controller/loginViaPassword.controller";
|
import { loginWithPassword } from "./controller/loginWithPassword.controller";
|
||||||
|
|
||||||
export const authModule = new Elysia({ prefix: "/auth" }).post(
|
export const authModule = new Elysia({ prefix: "/auth" }).post(
|
||||||
"/legacy",
|
"/legacy",
|
||||||
loginViaPassword
|
loginWithPassword
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
import { Context } from "elysia";
|
|
||||||
|
|
||||||
export const loginViaPasswordService = async (ctx: Context) => {
|
|
||||||
return "OK PASSED";
|
|
||||||
};
|
|
||||||
9
src/modules/auth/services/loginWithPassword.service.ts
Normal file
9
src/modules/auth/services/loginWithPassword.service.ts
Normal 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
|
||||||
|
)}`;
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user