style updates
This commit is contained in:
@@ -1,16 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Marketplace\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Modules\Marketplace\Models\InstalledPackage;
|
||||
use Modules\Marketplace\Models\MarketplacePackage;
|
||||
use Modules\Marketplace\Services\MarketplaceManager;
|
||||
|
||||
final class MarketplaceApiController extends Controller
|
||||
{
|
||||
public function packages(Request $request): JsonResponse { return response()->json(MarketplacePackage::query()->with('publisher')->where('is_active',true)->when($request->filled('type'),fn($q)=>$q->where('type',$request->string('type')))->paginate(min(100,max(1,$request->integer('per_page',25))))); }
|
||||
public function installed(): JsonResponse { return response()->json(InstalledPackage::query()->with('package')->paginate(50)); }
|
||||
public function install(MarketplacePackage $package,MarketplaceManager $manager,Request $request): JsonResponse { return response()->json($manager->install($package,$request->user()?->id)->load('package'),201); }
|
||||
public function toggle(InstalledPackage $package,MarketplaceManager $manager,Request $request): JsonResponse { return response()->json($manager->setEnabled($package,!$package->is_enabled,$request->user()?->id)); }
|
||||
public function remove(InstalledPackage $package,MarketplaceManager $manager,Request $request): JsonResponse { $manager->remove($package,$request->user()?->id); return response()->json(['status'=>'removed']); }
|
||||
public function packages(Request $request): JsonResponse
|
||||
{
|
||||
return response()->json(MarketplacePackage::query()->with('publisher')->where('is_active', true)->when($request->filled('type'), fn ($q) => $q->where('type', $request->string('type')))->paginate(min(100, max(1, $request->integer('per_page', 25)))));
|
||||
}
|
||||
|
||||
public function installed(): JsonResponse
|
||||
{
|
||||
return response()->json(InstalledPackage::query()->with('package')->paginate(50));
|
||||
}
|
||||
|
||||
public function install(MarketplacePackage $package, MarketplaceManager $manager, Request $request): JsonResponse
|
||||
{
|
||||
return response()->json($manager->install($package, $request->user()?->id)->load('package'), 201);
|
||||
}
|
||||
|
||||
public function toggle(InstalledPackage $package, MarketplaceManager $manager, Request $request): JsonResponse
|
||||
{
|
||||
return response()->json($manager->setEnabled($package, ! $package->is_enabled, $request->user()?->id));
|
||||
}
|
||||
|
||||
public function remove(InstalledPackage $package, MarketplaceManager $manager, Request $request): JsonResponse
|
||||
{
|
||||
$manager->remove($package, $request->user()?->id);
|
||||
|
||||
return response()->json(['status' => 'removed']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Marketplace\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
@@ -8,17 +10,55 @@ use Modules\Marketplace\Models\Installation;
|
||||
use Modules\Marketplace\Models\InstalledPackage;
|
||||
use Modules\Marketplace\Models\MarketplacePackage;
|
||||
use Modules\Marketplace\Services\MarketplaceManager;
|
||||
|
||||
final class MarketplaceController extends Controller
|
||||
{
|
||||
public function index(Request $request): View
|
||||
{
|
||||
$packages=MarketplacePackage::query()->with('publisher')->where('is_active',true)->when($request->filled('type'),fn($q)=>$q->where('type',$request->string('type')))->when($request->filled('search'),fn($q)=>$q->where(fn($q)=>$q->where('name','like','%'.$request->string('search').'%')->orWhere('description','like','%'.$request->string('search').'%')))->latest('is_featured')->paginate(20)->withQueryString();
|
||||
return view('marketplace::index',compact('packages'));
|
||||
$packages = MarketplacePackage::query()->with('publisher')->where('is_active', true)->when($request->filled('type'), fn ($q) => $q->where('type', $request->string('type')))->when($request->filled('search'), fn ($q) => $q->where(fn ($q) => $q->where('name', 'like', '%'.$request->string('search').'%')->orWhere('description', 'like', '%'.$request->string('search').'%')))->latest('is_featured')->paginate(20)->withQueryString();
|
||||
|
||||
return view('marketplace::index', compact('packages'));
|
||||
}
|
||||
|
||||
public function installed(): View
|
||||
{
|
||||
$packages = InstalledPackage::query()->with('package')->latest()->paginate(25);
|
||||
|
||||
return view('marketplace::installed', compact('packages'));
|
||||
}
|
||||
|
||||
public function install(MarketplacePackage $package, MarketplaceManager $manager, Request $request): RedirectResponse
|
||||
{
|
||||
$manager->install($package, $request->user()?->id);
|
||||
|
||||
return back()->with('status', 'Package installed successfully.');
|
||||
}
|
||||
|
||||
public function update(MarketplacePackage $package, MarketplaceManager $manager, Request $request): RedirectResponse
|
||||
{
|
||||
$manager->install($package, $request->user()?->id);
|
||||
|
||||
return back()->with('status', 'Package updated successfully.');
|
||||
}
|
||||
|
||||
public function toggle(InstalledPackage $package, MarketplaceManager $manager, Request $request): RedirectResponse
|
||||
{
|
||||
$manager->setEnabled($package, ! $package->is_enabled, $request->user()?->id);
|
||||
|
||||
return back()->with('status', 'Package state updated.');
|
||||
}
|
||||
|
||||
public function remove(InstalledPackage $package, MarketplaceManager $manager, Request $request): RedirectResponse
|
||||
{
|
||||
$manager->remove($package, $request->user()?->id);
|
||||
|
||||
return back()->with('status', 'Package removed.');
|
||||
}
|
||||
|
||||
public function rollback(InstalledPackage $package, Installation $installation, MarketplaceManager $manager, Request $request): RedirectResponse
|
||||
{
|
||||
$manager->rollback($package, $installation, $request->user()?->id);
|
||||
|
||||
return back()->with('status','Package rolled back.');
|
||||
}
|
||||
public function installed(): View { $packages=InstalledPackage::query()->with('package')->latest()->paginate(25); return view('marketplace::installed',compact('packages')); }
|
||||
public function install(MarketplacePackage $package,MarketplaceManager $manager,Request $request): RedirectResponse { $manager->install($package,$request->user()?->id); return back()->with('status','Package installed successfully.'); }
|
||||
public function update(MarketplacePackage $package,MarketplaceManager $manager,Request $request): RedirectResponse { $manager->install($package,$request->user()?->id); return back()->with('status','Package updated successfully.'); }
|
||||
public function toggle(InstalledPackage $package,MarketplaceManager $manager,Request $request): RedirectResponse { $manager->setEnabled($package,!$package->is_enabled,$request->user()?->id); return back()->with('status','Package state updated.'); }
|
||||
public function remove(InstalledPackage $package,MarketplaceManager $manager,Request $request): RedirectResponse { $manager->remove($package,$request->user()?->id); return back()->with('status','Package removed.'); }
|
||||
public function rollback(InstalledPackage $package,Installation $installation,MarketplaceManager $manager,Request $request): RedirectResponse { $manager->rollback($package,$installation,$request->user()?->id); return back()->with('status','Package rolled back.'); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user