]> git.mxchange.org Git - hub.git/blobdiff - application/hub/main/database/wrapper/node/class_NodeInformationDatabaseWrapper.php
Hub project continued: (I have now a little more time)
[hub.git] / application / hub / main / database / wrapper / node / class_NodeInformationDatabaseWrapper.php
index 86d14cece303d179f566f5c928a518fb9ec6241c..9f4ab76c6df6cd79bc34210d8503b1bdb9696cb6 100644 (file)
@@ -26,10 +26,12 @@ class NodeInformationDatabaseWrapper extends BaseDatabaseWrapper implements Node
        const DB_TABLE_NODE_INFORMATION = 'node_data';
 
        // Constants for database column names
-       const DB_COLUMN_NODE_NR    = 'node_nr';
-       const DB_COLUMN_NODE_ID    = 'node_id';
-       const DB_COLUMN_SESSION_ID = 'session_id';
-       const DB_COLUMN_NODE_TYPE  = 'node_type';
+       const DB_COLUMN_NODE_NR          = 'node_nr';
+       const DB_COLUMN_NODE_ID          = 'node_id';
+       const DB_COLUMN_SESSION_ID       = 'session_id';
+       const DB_COLUMN_PRIVATE_KEY      = 'private_key';
+       const DB_COLUMN_PRIVATE_KEY_HASH = 'private_key_hash';
+       const DB_COLUMN_NODE_TYPE        = 'node_type';
 
        /**
         * Protected constructor
@@ -83,14 +85,18 @@ class NodeInformationDatabaseWrapper extends BaseDatabaseWrapper implements Node
         * 'Registers' a new session id along with data provided in the node instance.
         * This may sound confusing but avoids double code very nicely...
         *
-        * @param       $nodeInstance           A node instance
+        * @param       $nodeInstance           An instance of a BaseHubNode class
         * @param       $requestInstance        An instance of a Requestable class
+        * @param       $searchInstance         An instance of a LocalSearchCriteria class
         * @return      void
         */
-       public function registerSessionId (BaseHubNode $nodeInstance, Requestable $requestInstance) {
+       public function registerSessionId (BaseHubNode $nodeInstance, Requestable $requestInstance, LocalSearchCriteria $searchInstance) {
                // Get a dataset instance
                $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class', array(self::DB_TABLE_NODE_INFORMATION));
 
+               // Set search instance
+               $dataSetInstance->setSearchInstance($searchInstance);
+
                // Set the primary key
                $dataSetInstance->setUniqueKey(self::DB_COLUMN_NODE_ID);
 
@@ -98,7 +104,33 @@ class NodeInformationDatabaseWrapper extends BaseDatabaseWrapper implements Node
                $nodeInstance->addElementsToDataSet($dataSetInstance, $requestInstance);
 
                // "Insert" this dataset instance completely into the database
-               $this->queryInsertDataSet($dataSetInstance);
+               $this->queryUpdateDataSet($dataSetInstance);
+       }
+
+       /**
+        * 'Registers' a private key along with data provided in the node instance.
+        * This may sound confusing but avoids double code very nicely...
+        *
+        * @param       $nodeInstance           An instance of a BaseHubNode class
+        * @param       $requestInstance        An instance of a Requestable class
+        * @param       $searchInstance         An instance of a LocalSearchCriteria class
+        * @return      void
+        */
+       public function registerPrivateKey (BaseHubNode $nodeInstance, Requestable $requestInstance, LocalSearchCriteria $searchInstance) {
+               // Get a dataset instance
+               $dataSetInstance = ObjectFactory::createObjectByConfiguredName('dataset_criteria_class', array(self::DB_TABLE_NODE_INFORMATION));
+
+               // Set the primary key
+               $dataSetInstance->setUniqueKey(self::DB_COLUMN_NODE_ID);
+
+               // Set search instance
+               $dataSetInstance->setSearchInstance($searchInstance);
+
+               // Add registration elements to the dataset
+               $nodeInstance->addElementsToDataSet($dataSetInstance, $requestInstance);
+
+               // "Insert" this dataset instance completely into the database
+               $this->queryUpdateDataSet($dataSetInstance);
        }
 }