diff src/Replacer/Replacer.php @ 29:010ace248d14 codex

Added support for filters, not fully there with relations or anything like that but it's a start
author Luka Sitas <sitas.luka.97@gmail.com>
date Mon, 09 Jun 2025 20:51:04 -0400
parents b17f81b804ff
children 55d2e5c5dad9
line wrap: on
line diff
--- a/src/Replacer/Replacer.php	Mon Jun 09 19:51:31 2025 -0400
+++ b/src/Replacer/Replacer.php	Mon Jun 09 20:51:04 2025 -0400
@@ -65,8 +65,9 @@
             '{{ requestUses }}' => $this->getRequestUses($table_name),
             '{{ rootNamespace }}' => $this->getRootNamespace(),
             '{{ storeRequest }}' => $this->store_request_name($table_name),
+            '{{ filterRequest }}' => $this->filter_request_name($table_name),
+            '{{ updateRequest }}' => $this->update_request_name($table_name),
             '{{ tableName }}' => $table_name,
-            '{{ updateRequest }}' => $this->update_request_name($table_name),
         ];
     }
 
@@ -107,6 +108,14 @@
     }
 
     /**
+     * Generate the filter request name.
+     */
+    public function filter_request_name(string $name): string
+    {
+        return 'Filter'.$this->model_name($name).'Request';
+    }
+
+    /**
      * Generate the update request name.
      */
     public function update_request_name(string $name): string
@@ -211,6 +220,14 @@
     }
 
     /**
+     * Get the filter request namespace.
+     */
+    public function getFilterRequestNamespace(string $name): string
+    {
+        return $this->getRequestNamespace($name);
+    }
+
+    /**
      * Get the update request namespace.
      */
     public function getUpdateRequestNamespace(string $name): string
@@ -258,6 +275,7 @@
     {
         return implode("\n", [
             'use '.$this->getRequestNamespace($name).'\\'.$this->store_request_name($name).';',
+            'use '.$this->getRequestNamespace($name).'\\'.$this->filter_request_name($name).';',
             'use '.$this->getRequestNamespace($name).'\\'.$this->update_request_name($name).';',
         ]);
     }