import { BASE_URL, axios } from "@/utils/axios";
import { NextRequest, NextResponse } from "next/server";

export async function GET(request: NextRequest) {
  const { searchParams } = new URL(request.url);
  const page = searchParams.get("page");
  try {
    const url = `${BASE_URL}/api/v1/packages?page=${page}`;
    const { data: packages } = await axios.get(url);
    return NextResponse.json(packages);
  } catch (errors: any) {
    const { response = null } = errors;
    return NextResponse.json(
      { message: "Unable to fetch packages", error: response?.data },
      { status: response?.status ?? 500 }
    );
  }
}

export async function POST(request: Request) {
  const form = await request.json();
  const url = `${BASE_URL}/api/v1/packages`;
  try {
    const { data: package_item } = await axios.post(url, form);
    return NextResponse.json(package_item);
  } catch (errors: any) {
    const { response = null } = errors;
    return NextResponse.json(
      { message: "Unable to create package", error: response?.data },
      { status: response?.status ?? 500 }
    );
  }
}
export async function DELETE(request: Request) {
  const userIds = await request.json();
  try {
    const url = `${BASE_URL}/api/v1/users`;
    const { data: user } = await axios.delete(url, { data: userIds });
    return NextResponse.json(user);
  } catch (errors: any) {
    const { response = null } = errors;
    return NextResponse.json(
      { message: "Unable to delete user", error: response?.data },
      { status: response?.status ?? 500 }
    );
  }
}
