Feature logs
Deskripsi: - Fitur baru log untuk melihat error pada server upload - Baru di terapkan di create profile
This commit is contained in:
53
src/app/api/image/delete/route.ts
Normal file
53
src/app/api/image/delete/route.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import { funGetDirectoryNameByValue } from "@/app_modules/_global/fun/get";
|
||||
import backendLogger from "@/util/backendLogger";
|
||||
import { NextResponse } from "next/server";
|
||||
|
||||
export async function DELETE(req: Request) {
|
||||
const data = await req.json();
|
||||
const id = data.fileId;
|
||||
const dirId = data.dirId;
|
||||
|
||||
const keyOfDirectory = await funGetDirectoryNameByValue({
|
||||
value: dirId,
|
||||
});
|
||||
|
||||
if (req.method === "DELETE") {
|
||||
try {
|
||||
const res = await fetch(
|
||||
`https://wibu-storage.wibudev.com/api/files/${id}/delete`,
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
Authorization: `Bearer ${process.env.WS_APIKEY}`,
|
||||
},
|
||||
}
|
||||
);
|
||||
backendLogger.info("Server status code: " + res.status);
|
||||
const data = await res.json();
|
||||
if (res.ok) {
|
||||
backendLogger.info(
|
||||
`Success delete ${keyOfDirectory}`
|
||||
);
|
||||
return NextResponse.json({ success: true });
|
||||
} else {
|
||||
const errorText = await res.json();
|
||||
backendLogger.error(
|
||||
`Failed delete ${keyOfDirectory}: ` + errorText.message
|
||||
);
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
message: errorText.message,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
backendLogger.error(`Delete error ${keyOfDirectory}:`, error);
|
||||
return NextResponse.json({
|
||||
success: false,
|
||||
message: "An unexpected error occurred",
|
||||
});
|
||||
}
|
||||
} else {
|
||||
backendLogger.error(`Error upload ${keyOfDirectory}: Method not allowed`);
|
||||
return NextResponse.json({ success: false, message: "Method not allowed" });
|
||||
}
|
||||
}
|
||||
58
src/app/api/image/upload/route.ts
Normal file
58
src/app/api/image/upload/route.ts
Normal file
@@ -0,0 +1,58 @@
|
||||
import { funGetDirectoryNameByValue } from "@/app_modules/_global/fun/get";
|
||||
import backendLogger from "@/util/backendLogger";
|
||||
import { NextResponse } from "next/server";
|
||||
export async function POST(request: Request) {
|
||||
const formData = await request.formData();
|
||||
|
||||
const valueOfDir = formData.get("dirId");
|
||||
const keyOfDirectory = await funGetDirectoryNameByValue({
|
||||
value: valueOfDir as string,
|
||||
});
|
||||
|
||||
if (request.method === "POST") {
|
||||
try {
|
||||
const res = await fetch("https://wibu-storage.wibudev.com/api/upload", {
|
||||
method: "POST",
|
||||
body: formData,
|
||||
headers: {
|
||||
Authorization: `Bearer ${process.env.WS_APIKEY}`,
|
||||
},
|
||||
});
|
||||
|
||||
backendLogger.info("Server status code: " + res.status);
|
||||
const dataRes = await res.json();
|
||||
|
||||
if (res.ok) {
|
||||
backendLogger.info(
|
||||
`Success upload ${keyOfDirectory}: ${JSON.stringify(dataRes.data)}`
|
||||
);
|
||||
return NextResponse.json(
|
||||
{ success: true, data: dataRes.data },
|
||||
{ status: 200 }
|
||||
);
|
||||
} else {
|
||||
const errorText = await res.text();
|
||||
backendLogger.error(`Failed upload ${keyOfDirectory}: ${errorText}`);
|
||||
return NextResponse.json(
|
||||
{ success: false, message: errorText },
|
||||
{ status: 400 }
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
backendLogger.error(`Error upload ${keyOfDirectory}: ${error}`);
|
||||
return NextResponse.json(
|
||||
{
|
||||
success: false,
|
||||
message: "An unexpected error occurred",
|
||||
},
|
||||
{ status: 500 }
|
||||
);
|
||||
}
|
||||
} else {
|
||||
backendLogger.error(`Error upload ${keyOfDirectory}: Method not allowed`);
|
||||
return NextResponse.json(
|
||||
{ success: false, message: "Method not allowed" },
|
||||
{ status: 405 }
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user