🧑💻 (dev) change register flow
Change the user creation flow in the register so that it must go through the main create user service first instead of directly accessing the create user repo.
This commit is contained in:
@ -3,12 +3,17 @@ import { createUserViaRegisterSchema } from "../schemas/createUserViaRegister.sc
|
|||||||
import { mainErrorHandler } from "../../../helpers/error/handler";
|
import { mainErrorHandler } from "../../../helpers/error/handler";
|
||||||
import { returnWriteResponse } from "../../../helpers/callback/httpResponse";
|
import { returnWriteResponse } from "../../../helpers/callback/httpResponse";
|
||||||
import { createUserViaRegisterService } from "../services/http/createUserViaRegister.service";
|
import { createUserViaRegisterService } from "../services/http/createUserViaRegister.service";
|
||||||
|
import { getUserHeaderInformation } from "../../../helpers/http/userHeader/getUserHeaderInformation";
|
||||||
|
|
||||||
export const createUserViaRegisterController = async (ctx: Context) => {
|
export const createUserViaRegisterController = async (ctx: Context) => {
|
||||||
try {
|
try {
|
||||||
const validate = createUserViaRegisterSchema.parse(ctx.body);
|
const validate = createUserViaRegisterSchema.parse(ctx.body);
|
||||||
|
|
||||||
const createUser = await createUserViaRegisterService(validate);
|
const userHeaderInfo = getUserHeaderInformation(ctx);
|
||||||
|
const createUser = await createUserViaRegisterService(
|
||||||
|
validate,
|
||||||
|
userHeaderInfo
|
||||||
|
);
|
||||||
return returnWriteResponse(
|
return returnWriteResponse(
|
||||||
ctx.set,
|
ctx.set,
|
||||||
201,
|
201,
|
||||||
|
|||||||
@ -1,18 +1,16 @@
|
|||||||
import { ErrorForwarder } from "../../../../helpers/error/instances/forwarder";
|
import { ErrorForwarder } from "../../../../helpers/error/instances/forwarder";
|
||||||
import { hashPassword } from "../../../../helpers/security/password/hash";
|
import { UserHeaderInformation } from "../../../../helpers/http/userHeader/getUserHeaderInformation/types";
|
||||||
import { createUserViaRegisterRepository } from "../../repositories/create/createUserViaRegister.repository";
|
import { createUserSessionService } from "../../../userSession/services/createUserSession.service";
|
||||||
import { createUserViaRegisterInput } from "../../user.types";
|
import { createUserViaRegisterInput } from "../../user.types";
|
||||||
|
import { createUserService } from "../internal/createUser.service";
|
||||||
|
|
||||||
export const createUserViaRegisterService = async (
|
export const createUserViaRegisterService = async (
|
||||||
payload: createUserViaRegisterInput
|
payload: createUserViaRegisterInput,
|
||||||
|
userHeaderInfo: UserHeaderInformation
|
||||||
) => {
|
) => {
|
||||||
try {
|
try {
|
||||||
const hashedPassword = await hashPassword(payload.password);
|
const createdUser = await createUserService(payload);
|
||||||
|
return createUserSessionService(createdUser.id, userHeaderInfo);
|
||||||
return createUserViaRegisterRepository({
|
|
||||||
...payload,
|
|
||||||
password: hashedPassword,
|
|
||||||
});
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ErrorForwarder(error);
|
ErrorForwarder(error);
|
||||||
}
|
}
|
||||||
|
|||||||
6
src/modules/userSession/index.ts
Normal file
6
src/modules/userSession/index.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import Elysia from "elysia";
|
||||||
|
|
||||||
|
export const userSessionModule = new Elysia({ prefix: "/sessions" }).get(
|
||||||
|
"/",
|
||||||
|
() => "User Session Module is working!"
|
||||||
|
);
|
||||||
Reference in New Issue
Block a user