add forwarder error intance
This commit is contained in:
13
src/helpers/error/instances/forwarder.ts
Normal file
13
src/helpers/error/instances/forwarder.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { AppError } from "./app";
|
||||
|
||||
export function ErrorForwarder(
|
||||
statusCode: number,
|
||||
message: string,
|
||||
cause: unknown
|
||||
): never {
|
||||
if (cause instanceof AppError) {
|
||||
throw cause;
|
||||
}
|
||||
|
||||
throw new AppError(statusCode, message, cause);
|
||||
}
|
||||
@ -35,7 +35,7 @@ export const authVerificationService = async (cookie: string) => {
|
||||
1000
|
||||
);
|
||||
await storeUserSessionToCacheService(sessionCheckOnDB, timeExpires);
|
||||
return "daridb";
|
||||
return sessionCheckOnDB;
|
||||
}
|
||||
} else {
|
||||
return jwtSession;
|
||||
|
||||
@ -1,13 +1,15 @@
|
||||
import { Context } from "elysia";
|
||||
import { mainErrorHandler } from "../../helpers/error/handler";
|
||||
import { debugService } from "./debug.service";
|
||||
import { returnWriteResponse } from "../../helpers/callback/httpResponse";
|
||||
|
||||
export const debugController = (ctx: Context) => {
|
||||
ctx.set.status = 418;
|
||||
return Math.floor(
|
||||
(new Date("2025-07-13 16:22:12.335").getTime() - new Date().getTime()) /
|
||||
1000
|
||||
);
|
||||
export const debugController = async (ctx: Context) => {
|
||||
try {
|
||||
const dataFromService = await debugService();
|
||||
return returnWriteResponse(ctx.set, 200, "Message Sent", dataFromService);
|
||||
} catch (error) {
|
||||
return mainErrorHandler(ctx.set, error);
|
||||
}
|
||||
};
|
||||
|
||||
// buat debug untuk date to number (second)
|
||||
|
||||
@ -1,6 +1,11 @@
|
||||
import { AppError } from "../../helpers/error/instances/app";
|
||||
import { ErrorForwarder } from "../../helpers/error/instances/forwarder";
|
||||
import { debug2Service } from "./debug2.service";
|
||||
|
||||
export const debugService = () => {
|
||||
// return "OK2";
|
||||
throw new AppError(404, "not found");
|
||||
export const debugService = async () => {
|
||||
try {
|
||||
const dataFromService = await debug2Service();
|
||||
return dataFromService;
|
||||
} catch (error) {
|
||||
ErrorForwarder(402, "Error from 1", error);
|
||||
}
|
||||
};
|
||||
|
||||
11
src/modules/debug/debug2.service.ts
Normal file
11
src/modules/debug/debug2.service.ts
Normal file
@ -0,0 +1,11 @@
|
||||
import { ErrorForwarder } from "../../helpers/error/instances/forwarder";
|
||||
import { debug3Service } from "./debug3.service";
|
||||
|
||||
export const debug2Service = async () => {
|
||||
try {
|
||||
const dataFromService = await debug3Service();
|
||||
return dataFromService;
|
||||
} catch (error) {
|
||||
ErrorForwarder(402, "Error from 2", error);
|
||||
}
|
||||
};
|
||||
5
src/modules/debug/debug3.service.ts
Normal file
5
src/modules/debug/debug3.service.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import { AppError } from "../../helpers/error/instances/app";
|
||||
|
||||
export const debug3Service = async () => {
|
||||
throw new AppError(402, "Error from 3");
|
||||
};
|
||||
@ -8,6 +8,6 @@ export const checkUserSessionInCacheRepo = async (redisKeyName: string) => {
|
||||
|
||||
return userSessionInRedis;
|
||||
} catch (error) {
|
||||
throw new AppError(500, "Server cache error");
|
||||
throw new AppError(500, "Server cache error", error);
|
||||
}
|
||||
};
|
||||
|
||||
@ -6,10 +6,7 @@ export const checkUserSessionInCacheService = async (
|
||||
sessionId: string
|
||||
) => {
|
||||
const redisKeyName = `${process.env.app_name}:users:${userId}:sessions:${sessionId}`;
|
||||
try {
|
||||
|
||||
const userSessionInRedis = await checkUserSessionInCacheRepo(redisKeyName);
|
||||
return userSessionInRedis;
|
||||
} catch {
|
||||
throw new AppError(502, "Server cache error");
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user