@@ -19,10 +19,9 @@ public function renderIndexesViewAction() : Response {
1919 /**
2020 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-insertOne/index.html
2121 */
22- public function insertOneAction ($ databaseName , $ collectionName ) : Response {
22+ public function insertOneAction () : Response {
2323
2424 $ mongoDBClient = MongoDBHelper::getClient ();
25- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
2625
2726 $ requestBody = $ this ->getRequestBody ();
2827
@@ -36,6 +35,10 @@ public function insertOneAction($databaseName, $collectionName) : Response {
3635 return new Response (400 , 'Request body is invalid. ' );
3736 }
3837
38+ $ collection = $ mongoDBClient ->selectCollection (
39+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
40+ );
41+
3942 try {
4043 $ insertOneResult = $ collection ->insertOne ($ decodedRequestBody ['document ' ]);
4144 } catch (\Throwable $ th ) {
@@ -57,10 +60,9 @@ public function insertOneAction($databaseName, $collectionName) : Response {
5760 /**
5861 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-countDocuments/
5962 */
60- public function countAction ($ databaseName , $ collectionName ) : Response {
63+ public function countAction () : Response {
6164
6265 $ mongoDBClient = MongoDBHelper::getClient ();
63- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
6466
6567 $ requestBody = $ this ->getRequestBody ();
6668
@@ -74,6 +76,10 @@ public function countAction($databaseName, $collectionName) : Response {
7476 return new Response (400 , 'Request body is invalid. ' );
7577 }
7678
79+ $ collection = $ mongoDBClient ->selectCollection (
80+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
81+ );
82+
7783 if ( isset ($ decodedRequestBody ['filter ' ]['_id ' ])
7884 && is_string ($ decodedRequestBody ['filter ' ]['_id ' ]) ) {
7985 $ decodedRequestBody ['filter ' ]['_id ' ] =
@@ -99,10 +105,9 @@ public function countAction($databaseName, $collectionName) : Response {
99105 /**
100106 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-deleteOne/index.html
101107 */
102- public function deleteOneAction ($ databaseName , $ collectionName ) : Response {
108+ public function deleteOneAction () : Response {
103109
104110 $ mongoDBClient = MongoDBHelper::getClient ();
105- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
106111
107112 $ requestBody = $ this ->getRequestBody ();
108113
@@ -116,6 +121,10 @@ public function deleteOneAction($databaseName, $collectionName) : Response {
116121 return new Response (400 , 'Request body is invalid. ' );
117122 }
118123
124+ $ collection = $ mongoDBClient ->selectCollection (
125+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
126+ );
127+
119128 if ( isset ($ decodedRequestBody ['filter ' ]['_id ' ])
120129 && is_string ($ decodedRequestBody ['filter ' ]['_id ' ]) ) {
121130 $ decodedRequestBody ['filter ' ]['_id ' ] =
@@ -143,10 +152,9 @@ public function deleteOneAction($databaseName, $collectionName) : Response {
143152 /**
144153 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-find/index.html
145154 */
146- public function findAction ($ databaseName , $ collectionName ) : Response {
155+ public function findAction () : Response {
147156
148157 $ mongoDBClient = MongoDBHelper::getClient ();
149- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
150158
151159 $ requestBody = $ this ->getRequestBody ();
152160
@@ -160,6 +168,10 @@ public function findAction($databaseName, $collectionName) : Response {
160168 return new Response (400 , 'Request body is invalid. ' );
161169 }
162170
171+ $ collection = $ mongoDBClient ->selectCollection (
172+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
173+ );
174+
163175 if ( isset ($ decodedRequestBody ['filter ' ]['_id ' ])
164176 && is_string ($ decodedRequestBody ['filter ' ]['_id ' ]) ) {
165177 $ decodedRequestBody ['filter ' ]['_id ' ] =
@@ -187,10 +199,9 @@ public function findAction($databaseName, $collectionName) : Response {
187199 /**
188200 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-updateOne/index.html
189201 */
190- public function updateOneAction ($ databaseName , $ collectionName ) : Response {
202+ public function updateOneAction () : Response {
191203
192204 $ mongoDBClient = MongoDBHelper::getClient ();
193- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
194205
195206 $ requestBody = $ this ->getRequestBody ();
196207
@@ -204,6 +215,10 @@ public function updateOneAction($databaseName, $collectionName) : Response {
204215 return new Response (400 , 'Request body is invalid. ' );
205216 }
206217
218+ $ collection = $ mongoDBClient ->selectCollection (
219+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
220+ );
221+
207222 if ( isset ($ decodedRequestBody ['filter ' ]['_id ' ])
208223 && is_string ($ decodedRequestBody ['filter ' ]['_id ' ]) ) {
209224 $ decodedRequestBody ['filter ' ]['_id ' ] =
@@ -230,10 +245,25 @@ public function updateOneAction($databaseName, $collectionName) : Response {
230245
231246 }
232247
233- public function enumFieldsAction ($ databaseName , $ collectionName ) : Response {
248+ public function enumFieldsAction () : Response {
234249
235250 $ mongoDBClient = MongoDBHelper::getClient ();
236- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
251+
252+ $ requestBody = $ this ->getRequestBody ();
253+
254+ if ( is_null ($ requestBody ) ) {
255+ return new Response (400 , 'Request body is missing. ' );
256+ }
257+
258+ $ decodedRequestBody = json_decode ($ requestBody , JSON_OBJECT_AS_ARRAY );
259+
260+ if ( is_null ($ decodedRequestBody ) ) {
261+ return new Response (400 , 'Request body is invalid. ' );
262+ }
263+
264+ $ collection = $ mongoDBClient ->selectCollection (
265+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
266+ );
237267
238268 try {
239269 $ documents = $ collection ->find ([], ['limit ' => 1 ])->toArray ();
@@ -280,10 +310,9 @@ public function enumFieldsAction($databaseName, $collectionName) : Response {
280310 /**
281311 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-createIndex/index.html
282312 */
283- public function createIndexAction ($ databaseName , $ collectionName ) : Response {
313+ public function createIndexAction () : Response {
284314
285315 $ mongoDBClient = MongoDBHelper::getClient ();
286- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
287316
288317 $ requestBody = $ this ->getRequestBody ();
289318
@@ -297,6 +326,10 @@ public function createIndexAction($databaseName, $collectionName) : Response {
297326 return new Response (400 , 'Request body is invalid. ' );
298327 }
299328
329+ $ collection = $ mongoDBClient ->selectCollection (
330+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
331+ );
332+
300333 try {
301334 $ createdIndexName = $ collection ->createIndex (
302335 $ decodedRequestBody ['key ' ], $ decodedRequestBody ['options ' ]
@@ -318,10 +351,25 @@ public function createIndexAction($databaseName, $collectionName) : Response {
318351 /**
319352 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-listIndexes/index.html
320353 */
321- public function listIndexesAction ($ databaseName , $ collectionName ) : Response {
354+ public function listIndexesAction () : Response {
322355
323356 $ mongoDBClient = MongoDBHelper::getClient ();
324- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
357+
358+ $ requestBody = $ this ->getRequestBody ();
359+
360+ if ( is_null ($ requestBody ) ) {
361+ return new Response (400 , 'Request body is missing. ' );
362+ }
363+
364+ $ decodedRequestBody = json_decode ($ requestBody , JSON_OBJECT_AS_ARRAY );
365+
366+ if ( is_null ($ decodedRequestBody ) ) {
367+ return new Response (400 , 'Request body is invalid. ' );
368+ }
369+
370+ $ collection = $ mongoDBClient ->selectCollection (
371+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
372+ );
325373
326374 $ indexes = [];
327375
@@ -349,10 +397,9 @@ public function listIndexesAction($databaseName, $collectionName) : Response {
349397 /**
350398 * @see https://docs.mongodb.com/php-library/v1.6/reference/method/MongoDBCollection-dropIndex/index.html
351399 */
352- public function dropIndexAction ($ databaseName , $ collectionName ) : Response {
400+ public function dropIndexAction () : Response {
353401
354402 $ mongoDBClient = MongoDBHelper::getClient ();
355- $ collection = $ mongoDBClient ->selectCollection ($ databaseName , $ collectionName );
356403
357404 $ requestBody = $ this ->getRequestBody ();
358405
@@ -366,6 +413,10 @@ public function dropIndexAction($databaseName, $collectionName) : Response {
366413 return new Response (400 , 'Request body is invalid. ' );
367414 }
368415
416+ $ collection = $ mongoDBClient ->selectCollection (
417+ $ decodedRequestBody ['databaseName ' ], $ decodedRequestBody ['collectionName ' ]
418+ );
419+
369420 try {
370421 $ collection ->dropIndex ($ decodedRequestBody ['indexName ' ]);
371422 } catch (\Throwable $ th ) {
0 commit comments