|
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\API;
|
|
|
use App\Http\Controllers\Controller;
|
|
|
use App\Http\Requests\API\Library\CreateOrUpdateRequest;
|
|
|
use App\Http\Resources\API\LibraryResource;
|
|
|
+use App\Models\Container;
|
|
|
use App\Models\Enums\LibraryType;
|
|
|
use App\Models\Library;
|
|
|
use Illuminate\Http\Request;
|
|
@@ -15,9 +16,21 @@ class LibraryController extends Controller
|
|
|
/**
|
|
|
* Display a listing of the resource.
|
|
|
*/
|
|
|
- public function index()
|
|
|
+ public function index(Request $request)
|
|
|
{
|
|
|
- //
|
|
|
+ $libraries = Library::query()->filter($request->all())->allowed()->get(['id', 'name']);
|
|
|
+
|
|
|
+ $containerCount = Container::query()->allowed()
|
|
|
+ ->whereIn("library_id", $libraries->pluck("id")->toArray())
|
|
|
+ ->selectRaw("count(*) as cut, library_id")
|
|
|
+ ->groupBy("library_id")
|
|
|
+ ->pluck("cut", "library_id");
|
|
|
+
|
|
|
+ $libraries->map(fn(Library $library) => $library->container_count = $containerCount->get($library->id, 0));
|
|
|
+
|
|
|
+ return $this->success([
|
|
|
+ 'data' => $libraries
|
|
|
+ ]);
|
|
|
}
|
|
|
|
|
|
/**
|