]> git.mxchange.org Git - friendica.git/blobdiff - static/dbstructure.config.php
Merge pull request #13729 from annando/frio-channel
[friendica.git] / static / dbstructure.config.php
index 318a836efda0e47a908b385eeaa4a9b9d6155eab..64c9bdff1f7cec3afda6e0dc3a8a7a7ffa6ed7d4 100644 (file)
@@ -56,7 +56,7 @@ use Friendica\Database\DBA;
 
 // This file is required several times during the test in DbaDefinition which justifies this condition
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1531);
+       define('DB_UPDATE_VERSION', 1542);
 }
 
 return [
@@ -551,6 +551,25 @@ return [
                        "k_expires" => ["k", "expires"],
                ]
        ],
+       "channel" => [
+               "comment" => "User defined Channels",
+               "fields" => [
+                       "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""],
+                       "uid" => ["type" => "mediumint unsigned", "not null" => "1", "foreign" => ["user" => "uid"], "comment" => "User id"],
+                       "label" => ["type" => "varchar(64)", "not null" => "1", "comment" => "Channel label"],
+                       "description" => ["type" => "varchar(64)", "comment" => "Channel description"],
+                       "circle" => ["type" => "int", "comment" => "Circle or channel that this channel is based on"],
+                       "access-key" => ["type" => "varchar(1)", "comment" => "Access key"],
+                       "include-tags" => ["type" => "varchar(1023)", "comment" => "Comma separated list of tags that will be included in the channel"],
+                       "exclude-tags" => ["type" => "varchar(1023)", "comment" => "Comma separated list of tags that aren't allowed in the channel"],
+                       "full-text-search" => ["type" => "varchar(1023)", "comment" => "Full text search pattern, see https://mariadb.com/kb/en/full-text-index-overview/#in-boolean-mode"],
+                       "media-type" => ["type" => "smallint unsigned", "comment" => "Filtered media types"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["id"],
+                       "uid" => ["uid"],
+               ]
+       ],
        "config" => [
                "comment" => "main configuration storage",
                "fields" => [
@@ -1328,11 +1347,13 @@ return [
                "comment" => "Engagement data per post",
                "fields" => [
                        "uri-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1",  "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"],
-                       "owner-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id", "on delete" => "restrict"], "comment" => "Item owner"],
+                       "owner-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "comment" => "Item owner"],
                        "contact-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Person, organisation, news, community, relay"],
                        "media-type" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => "Type of media in a bit array (1 = image, 2 = video, 4 = audio"],
                        "language" => ["type" => "varbinary(128)", "comment" => "Language information about this post"],
+                       "searchtext" => ["type" => "mediumtext", "comment" => "Simplified text for the full text search"],
                        "created" => ["type" => "datetime", "comment" => ""],
+                       "restricted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "If true, this post is either unlisted or not from a federated network"],
                        "comments" => ["type" => "mediumint unsigned", "comment" => "Number of comments"],
                        "activities" => ["type" => "mediumint unsigned", "comment" => "Number of activities (like, dislike, ...)"],
                ],
@@ -1340,6 +1361,7 @@ return [
                        "PRIMARY" => ["uri-id"],
                        "owner-id" => ["owner-id"],
                        "created" => ["created"],
+                       "searchtext" => ["FULLTEXT", "searchtext"],
                ]
        ],
        "post-history" => [
@@ -1529,7 +1551,8 @@ return [
                        "event-id" => ["event-id"],
                        "psid" => ["psid"],
                        "author-id_uid" => ["author-id", "uid"],
-                       "author-id_received" => ["author-id", "received"],
+                       "author-id_created" => ["author-id", "created"],
+                       "owner-id_created" => ["owner-id", "created"],
                        "parent-uri-id_uid" => ["parent-uri-id", "uid"],
                        "uid_wall_received" => ["uid", "wall", "received"],
                        "uid_contactid" => ["uid", "contact-id"],
@@ -1578,11 +1601,19 @@ return [
                        "psid" => ["psid"],
                        "post-user-id" => ["post-user-id"],
                        "commented" => ["commented"],
+                       "received" => ["received"],
+                       "author-id_created" => ["author-id", "created"],
+                       "owner-id_created" => ["owner-id", "created"],
                        "uid_received" => ["uid", "received"],
                        "uid_wall_received" => ["uid", "wall", "received"],
                        "uid_commented" => ["uid", "commented"],
+                       "uid_received" => ["uid", "received"],
+                       "uid_created" => ["uid", "created"],
                        "uid_starred" => ["uid", "starred"],
                        "uid_mention" => ["uid", "mention"],
+                       "contact-id_commented" => ["contact-id", "commented"],
+                       "contact-id_received" => ["contact-id", "received"],
+                       "contact-id_created" => ["contact-id", "created"],
                ]
        ],
        "post-user-notification" => [
@@ -1728,15 +1759,15 @@ return [
                        "cid" => ["type" => "int unsigned", "not null" => "1", "foreign" => ["contact" => "id"], "comment" => "Reported contact"],
                        "gsid" => ["type" => "int unsigned", "foreign" => ["gserver" => "id"], "comment" => "Reported contact server"],
                        "comment" => ["type" => "text", "comment" => "Report"],
-                       "category-id" => ["type" => "int unsigned", "not null" => 1, "default" => \Friendica\Moderation\Entity\Report::CATEGORY_OTHER, "comment" => "Report category, one of Entity\Report::CATEGORY_*"],
+                       "category-id" => ["type" => "int unsigned", "not null" => 1, "default" => \Friendica\Moderation\Entity\Report::CATEGORY_OTHER, "comment" => "Report category, one of Entity Report::CATEGORY_*"],
                        "forward" => ["type" => "boolean", "comment" => "Forward the report to the remote server"],
                        "public-remarks" => ["type" => "text", "comment" => "Remarks shared with the reporter"],
                        "private-remarks" => ["type" => "text", "comment" => "Remarks shared with the moderation team"],
                        "last-editor-uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Last editor user"],
                        "assigned-uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Assigned moderator user"],
-                       "status" => ["type" => "tinyint unsigned", "not null" => "1", "comment" => "Status of the report, one of Entity\Report::STATUS_*"],
-                       "resolution" => ["type" => "tinyint unsigned", "comment" => "Resolution of the report, one of Entity\Report::RESOLUTION_*"],
-                       "created" => ["type" => "datetime(6)", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
+                       "status" => ["type" => "tinyint unsigned", "not null" => "1", "comment" => "Status of the report, one of Entity Report::STATUS_*"],
+                       "resolution" => ["type" => "tinyint unsigned", "comment" => "Resolution of the report, one of Entity Report::RESOLUTION_*"],
+                       "created" => ["type" => "datetime(6)", "not null" => "1", "default" => DBA::NULL_DATETIME6, "comment" => ""],
                        "edited" => ["type" => "datetime(6)", "comment" => "Last time the report has been edited"],
                ],
                "indexes" => [
@@ -1835,6 +1866,17 @@ return [
                        "uid_application-id" => ["uid", "application-id"],
                ]
        ],
+       "check-full-text-search" => [
+               "comment" => "Check for a full text search match in user defined channels before storing the message in the system",
+               "fields" => [
+                       "pid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => "The ID of the process"],
+                       "searchtext" => ["type" => "mediumtext", "comment" => "Simplified text for the full text search"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["pid"],
+                       "searchtext" => ["FULLTEXT", "searchtext"],
+               ],
+       ],
        "userd" => [
                "comment" => "Deleted usernames",
                "fields" => [
@@ -1857,6 +1899,7 @@ return [
                        "collapsed" => ["type" => "boolean", "comment" => "Posts from this contact are collapsed"],
                        "hidden" => ["type" => "boolean", "comment" => "This contact is hidden from the others"],
                        "is-blocked" => ["type" => "boolean", "comment" => "User is blocked by this contact"],
+                       "channel-frequency" => ["type" => "tinyint unsigned", "comment" => "Controls the frequency of the appearance of this contact in channels"],
                        "pending" => ["type" => "boolean", "comment" => ""],
                        "rel" => ["type" => "tinyint unsigned", "comment" => "The kind of the relation between the user and the contact"],
                        "info" => ["type" => "mediumtext", "comment" => ""],