import { ExecArgs } from "@medusajs/framework/types";
import { ContainerRegistrationKeys } from "@medusajs/framework/utils";

export default async function run({ container }: ExecArgs) {
  const query = container.resolve(ContainerRegistrationKeys.QUERY);
  const logger = container.resolve(ContainerRegistrationKeys.LOGGER);

  const { data } = await query.graph({
    entity: "fulfillment",
    fields: [
      "id",
      "shipping_option_id",
      "provider_id",
      "data",
      "shipped_at",
      "canceled_at",
      "delivery_address.first_name",
      "delivery_address.last_name",
      "delivery_address.address_1",
      "delivery_address.city",
      "delivery_address.postal_code",
      "delivery_address.country_code",
      "delivery_address.phone",
      "items.quantity",
      "items.title",
      "labels.id",
      "labels.tracking_number",
      "labels.label_url"
    ],
    filters: {},
  });

  logger.info(JSON.stringify((data || []).slice(-3), null, 2));
}
