Add updated_at column to accounts master codeberg/master
authorChristian Weiske <cweiske@cweiske.de>
Mon, 29 Apr 2024 18:17:47 +0000 (20:17 +0200)
committerChristian Weiske <cweiske@cweiske.de>
Mon, 29 Apr 2024 18:17:47 +0000 (20:17 +0200)
src/Profile.php
src/ProfileDb.php

index e120546750d44e2753fe1c73a7d530e5532faa2d..bf6ddb96010f68317bde3d8bfb08947368e5dcd8 100644 (file)
@@ -17,6 +17,7 @@ class Profile
     public ?string $avatar;
 
     public string $created_at;
+    public string $updated_at;
 
     public function __construct()
     {
index 29f3eda13eb111b2b049797019b804cef678771d..924435d7962960e6f0c888963df680e15ac4ae81 100644 (file)
@@ -59,8 +59,8 @@ class ProfileDb
         $stmt = $this->db->prepare(
             <<<SQL
             INSERT INTO gamesticks
-            (hwId, sessionId, verificationCode)
-            VALUES (:hwId, :sessionId, :verificationCode)
+            (hwId, sessionId, verificationCode, created_at, updated_at)
+            VALUES (:hwId, :sessionId, :verificationCode, :created_at, :updated_at)
 SQL
         );
         $stmt->execute(
@@ -68,6 +68,8 @@ SQL
                 ':hwId'             => $hwId,
                 ':sessionId'        => 's' . str_replace(':', '', $hwId),
                 ':verificationCode' => date('His'),
+                ':created_at'       => date('c'),
+                ':updated_at'       => date('c'),
             ]
         );
         return $this->getProfileByHardwareId($hwId);
@@ -76,11 +78,14 @@ SQL
     public function updateProfile(string $hwId, array $values): ?Profile
     {
         $params = [
-            'hwId' => $hwId,
+            ':hwId'       => $hwId,
+            ':updated_at' => date('c'),
         ];
 
         $sql = 'UPDATE gamesticks SET';
-        $sqlParts = [];
+        $sqlParts = [
+            ' updated_at = :updated_at'
+        ];
         foreach ($values as $column => $value) {
             $sqlParts[] = ' ' . $column . '= :' . $column;
             $params[':' . $column] = $value;
@@ -115,7 +120,8 @@ SQL
             minAge INTEGER DEFAULT 3 NOT NULL,
             avatar TEXT DEFAULT NULL,
 
-            created_at TEXT DEFAULT CURRENT_TIMESTAMP
+            created_at TEXT DEFAULT CURRENT_TIMESTAMP,
+            updated_at TEXT DEFAULT CURRENT_TIMESTAMP
         )
 SQL
         );