route.ts 958 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { NextRequest, NextResponse } from "next/server";
  2. import { restApiFetch } from "@/utils/bagisto";
  3. import { isBagistoError } from "@/utils/type-guards";
  4. import { getAuthToken } from "@/utils/helper";
  5. export async function GET(req: NextRequest) {
  6. try {
  7. const guestToken = getAuthToken(req);
  8. const response = await restApiFetch<any>({
  9. api: "/customer/reward-points/follow-status",
  10. method: "GET",
  11. cache: "no-store",
  12. guestToken,
  13. });
  14. return NextResponse.json({
  15. status: response.status,
  16. data: response.body,
  17. });
  18. } catch (error) {
  19. if (isBagistoError(error)) {
  20. return NextResponse.json(
  21. {
  22. data: null,
  23. error: error.cause ?? error,
  24. },
  25. { status: 200 }
  26. );
  27. }
  28. return NextResponse.json(
  29. {
  30. message: "Network error",
  31. error: error instanceof Error ? error.message : error,
  32. },
  33. { status: 500 }
  34. );
  35. }
  36. }