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
* '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);
$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);
}
}