From b9c6c9bc5f09d192fff1662786818769913f14f6 Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Tue, 10 Nov 2020 15:58:16 +0100
Subject: [PATCH] FEAT #15350 TIME 0:20 Indexing models used

---
 .../controllers/IndexingModelController.php   | 23 ++++++++++---------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/src/app/indexingModel/controllers/IndexingModelController.php b/src/app/indexingModel/controllers/IndexingModelController.php
index e3c1af60690..fa639d3ce85 100644
--- a/src/app/indexingModel/controllers/IndexingModelController.php
+++ b/src/app/indexingModel/controllers/IndexingModelController.php
@@ -52,22 +52,13 @@ class IndexingModelController
 
         $models = IndexingModelModel::get(['where' => $where, 'data' => [$GLOBALS['id'], 'false']]);
 
-        if (!empty($query['admin'])) {
-            foreach ($models as $key => $value) {
-                $resources = ResModel::get([
-                    'select' => [1],
-                    'where'  => ['model_id = ?'],
-                    'data'   => [$value['id']]
-                ]);
-                $models[$key]['used'] = !empty($resources);
-            }
-        }
-
         return $response->withJson(['indexingModels' => $models]);
     }
 
     public function getById(Request $request, Response $response, array $args)
     {
+        $queryParams = $request->getQueryParams();
+
         $model = IndexingModelModel::getById(['id' => $args['id']]);
         if (empty($model)) {
             return $response->withStatus(400)->withJson(['errors' => 'Model not found']);
@@ -108,6 +99,16 @@ class IndexingModelController
         }
         $model['fields'] = $fields;
 
+        if (!empty($queryParams['used']) && $queryParams['used'] == 'true') {
+            $resources = ResModel::get([
+                'select'  => ['status', 'count(1)'],
+                'where'   => ['model_id = ?'],
+                'data'    => [$args['id']],
+                'groupBy' => ['status']
+            ]);
+            $model['used'] = $resources;
+        }
+
         return $response->withJson(['indexingModel' => $model]);
     }
 
-- 
GitLab