From 38638b5ad480186e40bbb4a5b811e335d14186ff Mon Sep 17 00:00:00 2001
From: Dave Mc Nicoll <info@mcnd.ca>
Date: Thu, 9 May 2024 19:48:21 +0000
Subject: [PATCH 1/5] - WIP on Notes v2.x

---
 src/Lib/Database/Definition.php | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/Lib/Database/Definition.php b/src/Lib/Database/Definition.php
index b665463..9a7122d 100644
--- a/src/Lib/Database/Definition.php
+++ b/src/Lib/Database/Definition.php
@@ -2,12 +2,14 @@
 
 namespace Lean\Console\Lib\Database;
 
+use Notes\Common\ReflectedProperty;
+
 class Definition
 {
     public function __construct(
         public string               $entity,
         public string|null          $field = null,
-        public array|null           $definition = null,
+        public array|null|ReflectedProperty           $definition = null,
         public null|Modifier|array  $modifier = null,
         public null|Definition      $previous = null,
         public null|string          $action = null,

From ac568b1750484380e3af9917f0feefea475cdaa2 Mon Sep 17 00:00:00 2001
From: Dave Mc Nicoll <dave.mcnicoll@cslsj.qc.ca>
Date: Fri, 30 Aug 2024 19:01:21 +0000
Subject: [PATCH 2/5] - WIP on Lean console definition change

---
 src/Form/Storage/DatabaseMigration.php | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/Form/Storage/DatabaseMigration.php b/src/Form/Storage/DatabaseMigration.php
index 7b18ffa..6bb394c 100644
--- a/src/Form/Storage/DatabaseMigration.php
+++ b/src/Form/Storage/DatabaseMigration.php
@@ -55,10 +55,22 @@ class DatabaseMigration implements FormInterface
                         previous: $def ?? null,
                     );
 
+                    $column = $tableEntity->columns->filtersOne(fn($e) => strtolower($e->name) === $field);
+
                     # Column do not exists
-                    if ( $tableEntity->columns->filtersCollection(fn($e) => strtolower($e->name) === $field)->count() === 0 ) {
+                    if ( $column === null ) {
                         $def->action = "add";
 
+                        $def->modifier = new Lib\Database\Modifier(
+                            type: Lib\Database\ModifierTypeEnum::Alter,
+                            query: $entity::repository()
+                                ->alterSqlQuery([ $def->toArray() ])
+                                ->getSqlQuery(true)
+                        );
+                    }
+                    elseif ( ! $column->matchFieldDefinition($definition) ) {
+                        $def->action = "change";
+
                         $def->modifier = new Lib\Database\Modifier(
                             type: Lib\Database\ModifierTypeEnum::Alter,
                             query: $entity::repository()
@@ -68,6 +80,7 @@ class DatabaseMigration implements FormInterface
                     }
                 }
 
+                # ALTER TABLE `ajustements` CHANGE `annee` `annee` INT(11) NULL;
                 $alter = $this->definition[$entity]['columns']->filterAlter();
 
                 if ( $alter->count() ) {

From 474ec986a6e1da4f7cb4ca7f71ff15cbe1bf00f5 Mon Sep 17 00:00:00 2001
From: Dave Mc Nicoll <dave.mcnicoll@cslsj.qc.ca>
Date: Tue, 29 Oct 2024 14:13:59 +0000
Subject: [PATCH 3/5] - Work done URL overridding

---
 asset/lean-console/lean-console-bw.css        |  5 ++-
 src/Controller/Request.php                    | 17 ++++++----
 view/lean-console/base/layout.phtml           |  6 +++-
 view/lean-console/page/caching/picea.phtml    |  4 ---
 view/lean-console/page/dashboard/index.phtml  |  4 ---
 view/lean-console/page/debugging/logs.phtml   |  8 -----
 view/lean-console/page/request/route.phtml    | 32 ++++++++++++-------
 view/lean-console/page/storage/database.phtml |  4 ---
 .../page/storage/database_import.phtml        |  4 ---
 view/lean-console/page/storage/session.phtml  |  4 ---
 view/lean-console/page/templating/picea.phtml |  4 ---
 view/lean-console/page/update/index.phtml     |  4 ---
 12 files changed, 40 insertions(+), 56 deletions(-)

diff --git a/asset/lean-console/lean-console-bw.css b/asset/lean-console/lean-console-bw.css
index 3e9038b..e084030 100644
--- a/asset/lean-console/lean-console-bw.css
+++ b/asset/lean-console/lean-console-bw.css
@@ -1,6 +1,8 @@
 /*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}
 .grid{box-sizing:border-box;display:-webkit-flex;display:-ms-flexbox;display:-webkit-box;display:flex;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;-webkit-box-flex:0;flex:0 1 auto;-webkit-flex-direction:row;-ms-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 -8px 0 -8px}.grid.grid-nogutter{margin:0}.grid.grid-nogutter>.col{padding:0}.col{box-sizing:border-box;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-flex-grow:1;-ms-flex-positive:1;-webkit-box-flex:1;flex-grow:1;-ms-flex-preferred-size:0;-webkit-flex-basis:0;flex-basis:0;max-width:100%;min-width:0;padding:0 8px 0 8px}.col-align-top{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.col-align-bottom{align-self:flex-end}.col-align-middle{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.col-top{justify-content:flex-start !important;flex-direction:column;display:flex}.col-bottom{justify-content:flex-end !important;flex-direction:column;display:flex}.col-middle{justify-content:center;flex-direction:column;display:flex}.grid-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.grid-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.grid-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.grid-around{justify-content:space-around}.grid-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.col-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.col-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.grid-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.col-fixed{flex:initial}.col-grow-2{flex-grow:2}.col-grow-3{flex-grow:3}.col-grow-4{flex-grow:4}.col-grow-5{flex-grow:5}.col-grow-6{flex-grow:6}.col-grow-7{flex-grow:7}.col-grow-8{flex-grow:8}.col-grow-9{flex-grow:9}.col-grow-10{flex-grow:10}.col-grow-11{flex-grow:11}.col-1{-ms-flex-preferred-size:8.33333%;-webkit-flex-basis:8.33333%;flex-basis:8.33333%;max-width:8.33333%}.col-2{-ms-flex-preferred-size:16.66667%;-webkit-flex-basis:16.66667%;flex-basis:16.66667%;max-width:16.66667%}.col-3{-ms-flex-preferred-size:25%;-webkit-flex-basis:25%;flex-basis:25%;max-width:25%}.col-4{-ms-flex-preferred-size:33.33333%;-webkit-flex-basis:33.33333%;flex-basis:33.33333%;max-width:33.33333%}.col-5{-ms-flex-preferred-size:41.66667%;-webkit-flex-basis:41.66667%;flex-basis:41.66667%;max-width:41.66667%}.col-6{-ms-flex-preferred-size:50%;-webkit-flex-basis:50%;flex-basis:50%;max-width:50%}.col-7{-ms-flex-preferred-size:58.33333%;-webkit-flex-basis:58.33333%;flex-basis:58.33333%;max-width:58.33333%}.col-8{-ms-flex-preferred-size:66.66667%;-webkit-flex-basis:66.66667%;flex-basis:66.66667%;max-width:66.66667%}.col-9{-ms-flex-preferred-size:75%;-webkit-flex-basis:75%;flex-basis:75%;max-width:75%}.col-10{-ms-flex-preferred-size:83.33333%;-webkit-flex-basis:83.33333%;flex-basis:83.33333%;max-width:83.33333%}.col-11{-ms-flex-preferred-size:91.66667%;-webkit-flex-basis:91.66667%;flex-basis:91.66667%;max-width:91.66667%}.col-12{-ms-flex-preferred-size:100%;-webkit-flex-basis:100%;flex-basis:100%;max-width:100%}@media only screen and (max-width: 480px){.col-sm{flex:100%;max-width:100%}}@media only screen and (max-width: 624px){.col-md{flex:100%;max-width:100%}}@media only screen and (max-width: 744px){.col-lg{flex:100%;max-width:100%}}
 .align-items-center{align-items:center}.align-items-top{align-items:start}
+.justify-content-around{justify-content: space-around;}.justify-content-end{justify-content: end}
+.flex {display:flex}
 
 :root {
     --color-red: #d47474
@@ -8,7 +10,7 @@
 
 .text-center{text-align:center;}.text-right{text-align:right}.text-left{text-align:left;}
 
-[class^="btn-"], [class~=" btn-"] { display: inline-block; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; user-select: none; border: 1px solid transparent; padding: .375rem .75rem; line-height: 1.5; border-radius: .25rem; cursor:pointer; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; background:rgba(0,0,0,0.3); color:rgba(255,255,255,0.8); }
+[class^="btn-"], [class~=" btn-"] { display: inline-block; font-weight: 400; text-align: center; white-space: nowrap; vertical-align: middle; user-select: none; border: 1px solid transparent; padding: .375rem .75rem; line-height: 1.5; border-radius: .25rem; cursor:pointer; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; background:rgba(0,0,0,0.3); color:rgba(255,255,255,0.8); text-decoration:none; }
 [class^="btn-"]:hover, [class~=" btn-"]:hover {border-color: rgba(0, 0, 0, 0.5);text-decoration: underline;}
 .btn-red {background: rgba(155,0,0,0.5);color: rgba(255, 255, 255, 0.9);}
 .btn-green {background: rgba(0,155,0,0.5);color: rgba(255, 255, 255, 0.9);}
@@ -23,6 +25,7 @@ summary {cursor:pointer;}
 
 /* Header */
 #body-header {background: #fff; color:#fff; min-height:60px;line-height:60px;padding:0 1rem;position:sticky;top:0;border-bottom:1px solid #ebedee;}
+#body-header > div {min-height: 60px;}
 #right-panel {max-width:calc(100% - 240px);width:100%;margin-left:auto}
 #subheader {background:#fff; padding: 1rem 1.4rem;display:flex;justify-content: space-between;box-shadow:0 1px 2px rgba(55,65,75,0.15)}
 #subheader h1 {font-size:1.1rem;font-size:inherit; font-weight:bold}
diff --git a/src/Controller/Request.php b/src/Controller/Request.php
index 46e8d73..e2d203c 100644
--- a/src/Controller/Request.php
+++ b/src/Controller/Request.php
@@ -3,6 +3,7 @@
 namespace Lean\Console\Controller;
 
 use League\Route\Router;
+use Lean\Routing;
 use Psr\Http\Message\{ ResponseInterface, ServerRequestInterface };
 
 use Notes\Tell\Attribute\Language, Notes\Route\Attribute\Method\Route;
@@ -17,14 +18,18 @@ class Request extends Console {
     #[Route(route: "/request/routes", name: "lean.console:request.route")]
     public function routes(ServerRequestInterface $request, array $arguments) : ResponseInterface
     {
-        $routes = $this->container->has(UrlExtension::class) ? $this->container->get(UrlExtension::class)->getRouteList(true) : false;
+        $routing = $this->container->has(Routing::class) ? $this->container->get(Routing::class) : false;
 
-        uksort($routes, function($a, $b) {
-            return $a <=> $b;
+        if ( $routing === false ) {
+            throw new \Exception("Lean's routing library do not seems to be integrated into your container definition...");
+        }
+
+        $routes = $routing->fetchRoutesAttributes();
+
+        uasort($routes, function($a, $b) {
+            return ( $a->class . $a->name ) <=> ( $b->class . $b->name );
         });
 
-        return $this->renderView("lean-console/page/request/route", [
-            'routes' => $routes
-        ]);
+        return $this->renderView("lean-console/page/request/route", get_defined_vars());
     }
 }
\ No newline at end of file
diff --git a/view/lean-console/base/layout.phtml b/view/lean-console/base/layout.phtml
index 2d811bb..93fd6a0 100644
--- a/view/lean-console/base/layout.phtml
+++ b/view/lean-console/base/layout.phtml
@@ -25,7 +25,11 @@
 
         <div id="right-panel">
             <header id="body-header">
-                {% section "header" %}{% endsection %}
+                {% section "header" %}
+                    <div class="flex align-items-center justify-content-end">
+                        <a class="btn-blue" href="{% url %}">⇠ Return</a>
+                    </div>
+                {% endsection %}
             </header>
 
             <div id="subheader">
diff --git a/view/lean-console/page/caching/picea.phtml b/view/lean-console/page/caching/picea.phtml
index f245c6b..78ff5d6 100644
--- a/view/lean-console/page/caching/picea.phtml
+++ b/view/lean-console/page/caching/picea.phtml
@@ -4,10 +4,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "breadcrumb-items" %}
     <li class="breadcrumb-item">{% _ 'breadcrumb' %}</li>
 {% endsection %}
diff --git a/view/lean-console/page/dashboard/index.phtml b/view/lean-console/page/dashboard/index.phtml
index 4d6a109..5234c70 100644
--- a/view/lean-console/page/dashboard/index.phtml
+++ b/view/lean-console/page/dashboard/index.phtml
@@ -4,10 +4,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "content" %}
     <section>
         <article>Welcome into your Lean Console section. Select the appropriate menu item from the sidebar.</article>
diff --git a/view/lean-console/page/debugging/logs.phtml b/view/lean-console/page/debugging/logs.phtml
index 9d15635..5493db7 100644
--- a/view/lean-console/page/debugging/logs.phtml
+++ b/view/lean-console/page/debugging/logs.phtml
@@ -4,14 +4,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
-{% section "breadcrumb-items" %}
-    <li class="breadcrumb-item">{% _ 'logs.breadcrumb' %}</li>
-{% endsection %}
-
 {% section "content" %}
         <section>
             <header>
diff --git a/view/lean-console/page/request/route.phtml b/view/lean-console/page/request/route.phtml
index e4c6721..8a02b64 100644
--- a/view/lean-console/page/request/route.phtml
+++ b/view/lean-console/page/request/route.phtml
@@ -4,14 +4,21 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "breadcrumb-items" %}
     <li class="breadcrumb-item">{% _ 'route.breadcrumb' %}</li>
 {% endsection %}
 
+{% function routeHtml($route) %}
+    <div class="grid">
+        <strong class="col route-name">{{ $route->name }}</strong>
+        <div class="col route-uri">{{ $route->getRoute() }}</div>
+        <div class="col route-methods">{{ implode(', ', (array) ( $route->method ?? $route->methods )) }}</div>
+        <div class="col controller-method">
+            <span class="class">{{ $route->class }}</span>::<span>{{ $route->classMethod }}</span>
+        </div>
+    </div>
+{% endfunction %}
+
 {% section "content" %}
     <section>
         <header>
@@ -27,15 +34,16 @@
                     <div class="col controller-method">{% _ 'route.target' %}</div>
                 </strong>
 
-                {% foreach $routes as $name => $route %}
-                    <div class="grid">
-                        <strong class="col route-name">{{ $name }}</strong>
-                        <div class="col route-uri">{{ $route['route'] }}</div>
-                        <div class="col route-methods">{{ implode(', ', $route['routeMethods']) }}</div>
-                        <div class="col controller-method">
-                            <span class="class">{{ $route['class'] }}</span>::<span>{{ $route['classMethod'] }}</span>
+                {% foreach $routes as $route %}
+                    {{ routeHtml($route) }}
+                    
+                    {% if $overridden = $routing->findOverriddenRoute($route) %}
+                        <div style="background:rgba(255,0,0,0.2); text-decoration:line-through">
+                            {% foreach $routing->findOverriddenRoute($route) as $overridden %}
+                                {{ routeHtml($overridden) }}
+                            {% endforeach %}
                         </div>
-                    </div>
+                    {% endif %}
                 {% endforeach %}
             {% else %}
                 {% _ 'routeless' %}
diff --git a/view/lean-console/page/storage/database.phtml b/view/lean-console/page/storage/database.phtml
index 983c090..bff4100 100644
--- a/view/lean-console/page/storage/database.phtml
+++ b/view/lean-console/page/storage/database.phtml
@@ -6,10 +6,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "breadcrumb-items" %}
     <li class="breadcrumb-item">{% _ 'database.breadcrumb' %}</li>
 {% endsection %}
diff --git a/view/lean-console/page/storage/database_import.phtml b/view/lean-console/page/storage/database_import.phtml
index d973927..4c2e222 100644
--- a/view/lean-console/page/storage/database_import.phtml
+++ b/view/lean-console/page/storage/database_import.phtml
@@ -4,10 +4,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "content" %}
     {% if $connections %}
         {% ui:form.post "database.import" %}
diff --git a/view/lean-console/page/storage/session.phtml b/view/lean-console/page/storage/session.phtml
index 3901356..27797bc 100644
--- a/view/lean-console/page/storage/session.phtml
+++ b/view/lean-console/page/storage/session.phtml
@@ -4,10 +4,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "breadcrumb-items" %}
     <li class="breadcrumb-item">{% _ 'session.breadcrumb' %}</li>
 {% endsection %}
diff --git a/view/lean-console/page/templating/picea.phtml b/view/lean-console/page/templating/picea.phtml
index 1312c1b..4508fe8 100644
--- a/view/lean-console/page/templating/picea.phtml
+++ b/view/lean-console/page/templating/picea.phtml
@@ -4,10 +4,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "breadcrumb-items" %}
     <li class="breadcrumb-item">{% _ 'breadcrumb' %}</li>
 {% endsection %}
diff --git a/view/lean-console/page/update/index.phtml b/view/lean-console/page/update/index.phtml
index 13d5305..1661d5d 100644
--- a/view/lean-console/page/update/index.phtml
+++ b/view/lean-console/page/update/index.phtml
@@ -4,10 +4,6 @@
 
 {% title _("title") %}
 
-{% section "header" %}
-    <div class="page-title">{% _ "page-title" %}</div>
-{% endsection %}
-
 {% section "content" %}
     <section>
         <header>

From e260177943c50f2e68d49844beb847b6b1445417 Mon Sep 17 00:00:00 2001
From: Dave Mc Nicoll <dave.mcnicoll@cslsj.qc.ca>
Date: Sun, 10 Nov 2024 13:09:23 +0000
Subject: [PATCH 4/5] - Removed firewall parts, moved into another module

---
 meta/definitions/storage.php       |  4 ++--
 src/Entity/Firewall/BannedIp.php   | 31 ------------------------------
 src/Entity/Firewall/Connection.php | 31 ------------------------------
 3 files changed, 2 insertions(+), 64 deletions(-)
 delete mode 100644 src/Entity/Firewall/BannedIp.php
 delete mode 100644 src/Entity/Firewall/Connection.php

diff --git a/meta/definitions/storage.php b/meta/definitions/storage.php
index c642fae..15a067b 100644
--- a/meta/definitions/storage.php
+++ b/meta/definitions/storage.php
@@ -10,7 +10,7 @@ use Storage\Session;
 use function DI\autowire, DI\create, DI\get;
 
 return [
-    'lean:adapter.sqlite' => function($c) {
+/*    'lean:adapter.sqlite' => function($c) {
         $adapter = new ConnectionAdapter('lean.console', $c->get('config')['ulmus'], false);
         $adapter->resolveConfiguration();
 
@@ -23,5 +23,5 @@ return [
         $adapter->resolveConfiguration();
 
         return $adapter;
-    }
+    }*/
 ];
diff --git a/src/Entity/Firewall/BannedIp.php b/src/Entity/Firewall/BannedIp.php
deleted file mode 100644
index 91013f3..0000000
--- a/src/Entity/Firewall/BannedIp.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Lean\Console\Entity\Firewall;
-
-use Ulmus\Attribute\Obj\Table;
-use Ulmus\Attribute\Property\Field;
-use Ulmus\Entity\Field\Datetime;
-
-#[Table(name:"firewall_banned_ips", adapter: "lean.console")]
-class BannedIp implements \JsonSerializable
-{
-    use \Ulmus\EntityTrait;
-
-    #[Field\Id]
-    public string $id;
-
-    #[Field\ForeignKey(name: "connection_id")]
-    public ? int $connectionId;
-
-    #[Field(length: 12)]
-    public ? string $ipv4;
-
-    #[Field(length: 40)]
-    public ? string $ipv6;
-
-    #[Field\Datetime(name: "banned_until")]
-    public Datetime $bannedUntil;
-
-    #[Field\Datetime(name: "created_at")]
-    public Datetime $createdAt;
-}
\ No newline at end of file
diff --git a/src/Entity/Firewall/Connection.php b/src/Entity/Firewall/Connection.php
deleted file mode 100644
index 372e07b..0000000
--- a/src/Entity/Firewall/Connection.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-namespace Lean\Console\Entity\Firewall;
-
-use Ulmus\Attribute\Obj\Table;
-use Ulmus\Attribute\Property\Field;
-use Ulmus\Entity\Field\Datetime;
-
-#[Table(name:"firewall_connections", adapter: "lean.console")]
-class Connection implements \JsonSerializable
-{
-    use \Ulmus\EntityTrait;
-
-    #[Field\Id]
-    public string $id;
-
-    #[Field(length: 12)]
-    public ? string $ipv4;
-
-    #[Field(length: 40)]
-    public ? string $ipv6;
-
-    #[Field]
-    public bool $success;
-
-    #[Field(length: 255, name: "error_message")]
-    public ? string $errorMessage;
-
-    #[Field\Datetime(name: "created_at")]
-    public Datetime $createdAt;
-}
\ No newline at end of file

From 8c71d0b4d8425284a0726d3811b275ec2321c619 Mon Sep 17 00:00:00 2001
From: Dave Mc Nicoll <dave.mcnicoll@cslsj.qc.ca>
Date: Tue, 12 Nov 2024 13:56:12 +0000
Subject: [PATCH 5/5] - Removed firewall middleware

---
 src/Middleware/FirewallMiddleware.php | 27 ---------------------------
 1 file changed, 27 deletions(-)
 delete mode 100644 src/Middleware/FirewallMiddleware.php

diff --git a/src/Middleware/FirewallMiddleware.php b/src/Middleware/FirewallMiddleware.php
deleted file mode 100644
index 8f0ccc9..0000000
--- a/src/Middleware/FirewallMiddleware.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-namespace Ulmus\User\Middleware;
-
-use Psr\Http\{
-    Message\ResponseInterface,
-    Message\ServerRequestInterface,
-    Server\MiddlewareInterface,
-    Server\RequestHandlerInterface
-};
-use Ulmus\User\Entity\UserInterface;
-use Ulmus\User\Authorize\HeaderAuthentication;
-
-class HeaderAuthenticationMiddleware implements MiddlewareInterface
-{
-    protected HeaderAuthentication $authenticator;
-
-    public function __construct() {
-
-    }
-
-    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
-    {
-
-        return $handler->handle($request);
-    }
-}