From c261457b035e598c4b0b14c74bbb437d69926dfa Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 10 Mar 2020 22:04:03 +0000 Subject: [PATCH] Store the interaction date as well. --- database.sql | 15 +++++++++++++-- src/Model/Item.php | 5 +---- static/dbstructure.config.php | 1 + 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/database.sql b/database.sql index f33f892118..4956798ba2 100644 --- a/database.sql +++ b/database.sql @@ -1,6 +1,6 @@ -- ------------------------------------------ --- Friendica 2020.03-dev (Dalmatian Bellflower) --- DB_UPDATE_VERSION 1337 +-- Friendica 2020.03-rc (Dalmatian Bellflower) +-- DB_UPDATE_VERSION 1338 -- ------------------------------------------ @@ -254,6 +254,17 @@ CREATE TABLE IF NOT EXISTS `contact` ( INDEX `issued-id` (`issued-id`(64)) ) DEFAULT COLLATE utf8mb4_general_ci COMMENT='contact table'; +-- +-- TABLE contact-relation +-- +CREATE TABLE IF NOT EXISTS `contact-relation` ( + `cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact the related contact had interacted with', + `relation-cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'related contact who had interacted with the contact', + `last-interaction` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last interaction', + PRIMARY KEY(`cid`,`relation-cid`), + INDEX `relation-cid` (`relation-cid`) +) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Contact relations'; + -- -- TABLE conv -- diff --git a/src/Model/Item.php b/src/Model/Item.php index 319abf6b2a..b9aeff4c94 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -1753,10 +1753,7 @@ class Item // Update the contact relations if ($item['author-id'] != $parent['author-id']) { - $fields = ['cid' => $parent['author-id'], 'relation-cid' => $item['author-id']]; - if (!DBA::exists('contact-relation', $fields)) { - DBA::insert('contact-relation', $fields, true); - } + dba::update('contact-relation', ['last-interaction' => $item['created']], ['cid' => $parent['author-id'], 'relation-cid' => $item['author-id']], true); } } else { /* diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index 94a6e6ec28..b8daa4eee0 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -322,6 +322,7 @@ return [ "fields" => [ "cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact the related contact had interacted with"], "relation-cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "related contact who had interacted with the contact"], + "last-interaction" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last interaction"], ], "indexes" => [ "PRIMARY" => ["cid", "relation-cid"],