route.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. import type { GiftListBody,FetchWrap } from '@/types/api/gift/lists';
  6. export async function GET(req: NextRequest,{ }: { }) {
  7. try {
  8. const guestToken = getAuthToken(req);
  9. const response = await restApiFetch<FetchWrap<GiftListBody>>({
  10. api: `/gift/lists`,
  11. method:'GET',
  12. cache:'no-store',
  13. guestToken,
  14. });
  15. return NextResponse.json({
  16. status: response.status,
  17. data: response.body,
  18. });
  19. } catch (error) {
  20. if (isBagistoError(error)) {
  21. return NextResponse.json(
  22. {
  23. data: null,
  24. error: error.cause ?? error,
  25. },
  26. { status: 200 }
  27. );
  28. }
  29. return NextResponse.json(
  30. {
  31. message: "Network error",
  32. error: error instanceof Error ? error.message : error,
  33. },
  34. { status: 500 }
  35. );
  36. }
  37. }