68 lines
1.9 KiB
PHP
68 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api\Service;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Resources\Api\Service\ServiceListResource;
|
|
use App\Http\Resources\Api\Service\ServiceResource;
|
|
use App\Http\Services\Invoice\InvoiceService;
|
|
use App\Jobs\VirtualMachine\ProcessOrderPaymentJob;
|
|
use App\Models\Addon;
|
|
use App\Models\Cart;
|
|
use App\Models\CartAddon;
|
|
use App\Models\Discount;
|
|
use App\Models\Order;
|
|
use App\Models\OrderAddon;
|
|
use App\Models\OrderItem;
|
|
use App\Models\Product;
|
|
use App\Models\ProductPricings;
|
|
use App\Repositories\Api\Service\ServiceRepository;
|
|
use App\Services\Api\Service\ServiceService;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
|
class ServiceController extends Controller
|
|
{
|
|
protected $serviceService;
|
|
protected $serviceRepository;
|
|
|
|
public function __construct(
|
|
ServiceService $serviceService,
|
|
ServiceRepository $serviceRepository
|
|
)
|
|
{
|
|
$this->serviceService = $serviceService;
|
|
$this->serviceRepository = $serviceRepository;
|
|
}
|
|
|
|
public function getService(Request $request)
|
|
{
|
|
$limit = $request->get('limit', 10);
|
|
$services = $this->serviceService->getActiveServices($limit);
|
|
|
|
return ServiceListResource::collection($services)->additional([
|
|
'error' => false,
|
|
'message' => 'Lấy dữ liệu thành công',
|
|
'page_type' => 'service',
|
|
]);
|
|
}
|
|
|
|
public function getDetailService(Product $product)
|
|
{
|
|
$product->load([
|
|
'osVersions.osGroup',
|
|
'category',
|
|
'pricings' => fn($q) => $q->where('is_active', 1),
|
|
'addons'
|
|
]);
|
|
|
|
return response()->json([
|
|
'error' => false,
|
|
'message' => 'Lấy dữ liệu thành công',
|
|
'page_type' => 'service',
|
|
'data' => new ServiceResource($product),
|
|
]);
|
|
}
|
|
} |