feat: added error debug message in root layout

Signed-off-by: Varun Raj <varun@skcript.com>
This commit is contained in:
Varun Raj
2024-12-01 19:22:13 +05:30
parent 0597f34662
commit ac0db7a741
9 changed files with 37 additions and 25 deletions
@@ -34,7 +34,6 @@ export default function AssetOffsetDialog({ assets: _assets, open, toggleOpen }:
const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
console.log(offsetData);
setLoading(true);
const promises = assets.map(async (asset) => {
setAssetStatus({ [asset.id]: 'pending' });
+1 -1
View File
@@ -69,7 +69,7 @@ export default function PeopleList() {
setFilters((prev) => ({ ...prev, ...newConfig })),
}}
>
<PageLayout>
<PageLayout className="!p-0 !mb-0">
<Header
leftComponent="Manage People"
rightComponent={<PeopleFilters />}
+23 -6
View File
@@ -1,14 +1,31 @@
import { drizzle } from 'drizzle-orm/node-postgres';
import { drizzle, NodePgDatabase } from 'drizzle-orm/node-postgres';
import { Client } from "pg";
import { Client, Pool } from "pg";
import { ENV } from "./environment";
import * as schema from "@/schema";
import { sql } from 'drizzle-orm';
const client = new Client({
const pool = new Pool({
connectionString: ENV.DATABASE_URL,
keepAlive: true,
});
await client.connect();
export const db = drizzle(client, {
class DatabaseConnectionError extends Error {
error: string;
constructor(message: string, error: string) {
super(message);
this.name = "DatabaseConnectionError";
this.error = error;
}
}
export const connectDB = async (db: NodePgDatabase<typeof schema>) => {
try {
await db.execute(sql`SELECT 1`); // Execute a simple query
} catch (error: any) {
throw new DatabaseConnectionError(error.message, "Database connection failed");
}
}
export const db = drizzle(pool, {
schema
});
});
+2
View File
@@ -1,4 +1,5 @@
import { appConfig } from "@/config/app.config"
import { connectDB, db } from "@/config/db"
import { ENV } from "@/config/environment"
import { getCookie } from "@/lib/cookie"
import { NextApiRequest } from "next"
@@ -40,6 +41,7 @@ export const getCurrentUserFromAccessToken = (token: string) => {
}
export const getCurrentUser = async (req: NextApiRequest) => {
await connectDB(db);
const session = getCookie(req, appConfig.sessionCookieName)
if (session) {
-1
View File
@@ -22,7 +22,6 @@ export const offsetDate = (date: string, offset: {
minutes: number,
seconds: number
}): string => {
console.log(offset)
const parsedDate = new Date(date);
const result = addYears(parsedDate, offset.years || 0)
const result2 = addDays(result, offset.days || 0)
+10 -8
View File
@@ -4,19 +4,21 @@ import qs from 'qs'
const handleErrors = (error: AxiosError | any) => {
if (error.code === "ERR_BAD_RESPONSE") {
let errorObject = {}
if (error.response && error.response.data) {
return Promise.reject({
error: error.response.data.error,
message: error.response.data.message,
status: error.response.status,
})
}
else if (error.code === "ERR_BAD_RESPONSE") {
return Promise.reject({
error: "Unable to process this request, please try again later",
message: error.code,
});
}
let errorObject = {}
if (error.response) {
return Promise.reject({
...error.response.data,
status: error.response.status,
})
}
errorObject = {
message: 'Network Error. Please check your connection and try again!',
}
-3
View File
@@ -21,9 +21,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
body: req.method !== 'GET' && req.method !== 'HEAD' ? JSON.stringify(req.body) : null,
})
// Log response headers for debugging
console.log('Response Headers:', response.headers);
// Forward the status code
res.status(response.status)
+1 -2
View File
@@ -20,7 +20,6 @@ export default async function handler(
}
try {
if (!db) {
return res.status(500).json({ message: "Database connection failed" });
}
@@ -34,7 +33,7 @@ export default async function handler(
} catch (error: any) {
return res.status(500).json({
message: error.message ||"Internal Server Error",
error: error,
error: error.error || "Internal Server Error",
});
}
}
-3
View File
@@ -1,8 +1,5 @@
import { Inter } from "next/font/google";
import PeopleList from "@/components/people/PeopleList";
const inter = Inter({ subsets: ["latin"] });
export default function Home() {
return <PeopleList />
}