<?php
/**
 * GurmeCargo SAAS daki tüm gönderiliri listeleyen sınıf
 *
 * @package GurmeHub
 */

/**
 * GurmeCargo gönderileri listeleme tablo sınıfı
 */
class GCARGO_Shipments {

	/**
	 * Eklenti Prefix
	 *
	 * @var string $prefix
	 */
	protected $prefix = GCARGO_PREFIX;

	/**
	 * Çalışacak tablonunun adı
	 *
	 * @var string
	 */
	protected $name = GCARGO_PREFIX . '_shipments';

	/**
	 * Prefixli tablo adı
	 *
	 * @var string
	 */
	protected $table_name;

	/**
	 * Kurucu fonksiyon
	 */
	public function __construct() {
		global $wpdb;
		$this->table_name = "{$wpdb->prefix}{$this->name}";
	}

	/**
	 *  Siparişin gönderilerini döndürür
	 *
	 * @param int $order_id Sipariş ID'si
	 */
	public function get_shipments_by_order_id( $order_id ) {
		global $wpdb;

		return array_map(
			fn( $value )=> json_decode( $value['full_json'] ),
			$wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery
				$wpdb->prepare( 'SELECT full_json FROM %i WHERE platform_id = %d', $this->table_name, $order_id ),
				ARRAY_A
			)
		);
	}
}
