Store the interaction date as well.

This commit is contained in:
Michael 2020-03-10 22:04:03 +00:00
parent 07a487cfdc
commit c261457b03
3 changed files with 15 additions and 6 deletions

View file

@ -1,6 +1,6 @@
-- ------------------------------------------ -- ------------------------------------------
-- Friendica 2020.03-dev (Dalmatian Bellflower) -- Friendica 2020.03-rc (Dalmatian Bellflower)
-- DB_UPDATE_VERSION 1337 -- DB_UPDATE_VERSION 1338
-- ------------------------------------------ -- ------------------------------------------
@ -254,6 +254,17 @@ CREATE TABLE IF NOT EXISTS `contact` (
INDEX `issued-id` (`issued-id`(64)) INDEX `issued-id` (`issued-id`(64))
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='contact table'; ) 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 -- TABLE conv
-- --

View file

@ -1753,10 +1753,7 @@ class Item
// Update the contact relations // Update the contact relations
if ($item['author-id'] != $parent['author-id']) { if ($item['author-id'] != $parent['author-id']) {
$fields = ['cid' => $parent['author-id'], 'relation-cid' => $item['author-id']]; dba::update('contact-relation', ['last-interaction' => $item['created']], ['cid' => $parent['author-id'], 'relation-cid' => $item['author-id']], true);
if (!DBA::exists('contact-relation', $fields)) {
DBA::insert('contact-relation', $fields, true);
}
} }
} else { } else {
/* /*

View file

@ -322,6 +322,7 @@ return [
"fields" => [ "fields" => [
"cid" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "relation" => ["contact" => "id"], "comment" => "contact the related contact had interacted with"], "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"], "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" => [ "indexes" => [
"PRIMARY" => ["cid", "relation-cid"], "PRIMARY" => ["cid", "relation-cid"],