]> git.mxchange.org Git - friendica.git/blobdiff - static/dbstructure.config.php
Escape the "share" as well
[friendica.git] / static / dbstructure.config.php
index 409829acd3914ac384b4047c7727ae8d1e3c3f9c..bf85bb56c793c62020fbe5f13585efad0d60df1e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -55,7 +55,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-       define('DB_UPDATE_VERSION', 1443);
+       define('DB_UPDATE_VERSION', 1464);
 }
 
 return [
@@ -71,6 +71,11 @@ return [
                        "info" => ["type" => "text", "comment" => ""],
                        "register_policy" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""],
                        "registered-users" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "comment" => "Number of registered users"],
+                       "active-week-users" => ["type" => "int unsigned", "comment" => "Number of active users in the last week"],
+                       "active-month-users" => ["type" => "int unsigned", "comment" => "Number of active users in the last month"],
+                       "active-halfyear-users" => ["type" => "int unsigned", "comment" => "Number of active users in the last six month"],
+                       "local-posts" => ["type" => "int unsigned", "comment" => "Number of local posts"],
+                       "local-comments" => ["type" => "int unsigned", "comment" => "Number of local comments"],
                        "directory-type" => ["type" => "tinyint", "default" => "0", "comment" => "Type of directory service (Poco, Mastodon)"],
                        "poco" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "noscrape" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
@@ -284,7 +289,8 @@ return [
                "fields" => [
                        "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => ""],
                        "name" => ["type" => "varchar(96)", "not null" => "1", "default" => "", "comment" => ""],
-                       "url" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => ""]
+                       "url" => ["type" => "varbinary(255)", "not null" => "1", "default" => "", "comment" => ""],
+                       "type" => ["type" => "tinyint unsigned", "comment" => "Type of the tag (Unknown, General Collection, Follower Collection or Account)"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
@@ -389,6 +395,8 @@ return [
                        "inbox" => ["type" => "varchar(255)", "not null" => "1", "comment" => ""],
                        "outbox" => ["type" => "varchar(255)", "comment" => ""],
                        "sharedinbox" => ["type" => "varchar(255)", "comment" => ""],
+                       "featured" => ["type" => "varchar(255)", "comment" => "Address for the collection of featured posts"],
+                       "featured-tags" => ["type" => "varchar(255)", "comment" => "Address for the collection of featured tags"],
                        "manually-approve" => ["type" => "boolean", "comment" => ""],
                        "discoverable" => ["type" => "boolean", "comment" => "Mastodon extension: true if profile is published in their directory"],
                        "nick" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
@@ -610,6 +618,18 @@ return [
                        "PRIMARY" => ["uri-id"]
                ]
        ],
+       "endpoint" => [
+               "comment" => "ActivityPub endpoints - used in the ActivityPub implementation",
+               "fields" => [
+                       "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "URL of the contact"],
+                       "type" => ["type" => "varchar(20)", "not null" => "1", "comment" => ""],
+                       "owner-uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the apcontact url"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["url"],
+                       "owner-uri-id_type" => ["UNIQUE", "owner-uri-id", "type"],
+               ]
+       ],
        "event" => [
                "comment" => "Events",
                "fields" => [
@@ -662,6 +682,9 @@ return [
                        "alias" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
                        "pubkey" => ["type" => "text", "comment" => ""],
                        "updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
+                       "interacting_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of contacts this contact interactes with"],
+                       "interacted_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of contacts that interacted with this contact"],
+                       "post_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of posts and comments"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
@@ -696,11 +719,13 @@ return [
                        "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "foreign" => ["user" => "uid"], "comment" => "Owner User id"],
                        "visible" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the member list is not private"],
                        "deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "1 indicates the group has been deleted"],
+                       "cid" => ["type" => "int unsigned", "foreign" => ["contact" => "id"], "comment" => "Contact id of forum. When this field is filled then the members are synced automatically."],
                        "name" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "human readable name of group"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
                        "uid" => ["uid"],
+                       "cid" => ["cid"],
                ]
        ],
        "group_member" => [
@@ -747,6 +772,7 @@ return [
                "comment" => "Status of ActivityPub inboxes",
                "fields" => [
                        "url" => ["type" => "varbinary(255)", "not null" => "1", "primary" => "1", "comment" => "URL of the inbox"],
+                       "uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Item-uri id of inbox url"],
                        "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date of this entry"],
                        "success" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last successful delivery"],
                        "failure" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date of the last failed delivery"],
@@ -755,7 +781,8 @@ return [
                        "shared" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Is it a shared inbox?"]
                ],
                "indexes" => [
-                       "PRIMARY" => ["url"]
+                       "PRIMARY" => ["url"],
+                       "uri-id" => ["uri-id"],
                ]
        ],
        "intro" => [
@@ -880,7 +907,8 @@ return [
                        "target-uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Item-uri id of the related post"],
                        "parent-uri-id" => ["type" => "int unsigned", "foreign" => ["item-uri" => "id"], "comment" => "Item-uri id of the parent of the related post"],
                        "created" => ["type" => "datetime", "comment" => ""],
-                       "seen" => ["type" => "boolean", "default" => "0", "comment" => ""],
+                       "seen" => ["type" => "boolean", "default" => "0", "comment" => "Seen on the desktop"],
+                       "dismissed" => ["type" => "boolean", "default" => "0", "comment" => "Dismissed via the API"],
                ],
                "indexes" => [
                        "PRIMARY" => ["id"],
@@ -893,7 +921,7 @@ return [
                ]
        ],
        "notify" => [
-               "comment" => "notifications",
+               "comment" => "[Deprecated] User notifications",
                "fields" => [
                        "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
                        "type" => ["type" => "smallint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
@@ -1086,8 +1114,19 @@ return [
                ],
                "indexes" => [
                        "PRIMARY" => ["uri-id", "uid", "type", "tid"],
-                       "uri-id" => ["tid"],
-                       "uid" => ["uid"],
+                       "tid" => ["tid"],
+                       "uid_uri-id" => ["uid", "uri-id"],
+               ]
+       ],
+       "post-collection" => [
+               "comment" => "Collection of posts",
+               "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"],
+                       "type" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "comment" => "0 - Featured"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["uri-id", "type"],
+                       "type" => ["type"],
                ]
        ],
        "post-content" => [
@@ -1118,6 +1157,23 @@ return [
                        "title-content-warning-body" => ["FULLTEXT", "title", "content-warning", "body"],
                ]
        ],
+       "post-delivery" => [
+               "comment" => "Delivery data for posts for the batch processing",
+               "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"],
+                       "inbox-id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Item-uri id of inbox url"],
+                       "uid" => ["type" => "mediumint unsigned", "foreign" => ["user" => "uid"], "comment" => "Delivering user"],
+                       "created" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => ""],
+                       "command" => ["type" => "varbinary(32)", "comment" => ""],
+                       "failed" => ["type" => "tinyint", "default" => 0, "comment" => "Number of times the delivery has failed"],
+                       "receivers" => ["type" => "mediumtext", "comment" => "JSON encoded array with the receiving contacts"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["uri-id", "inbox-id"],
+                       "inbox-id_created" => ["inbox-id", "created"],
+                       "uid" => ["uid"],
+               ]
+       ],
        "post-delivery-data" => [
                "comment" => "Delivery data for items",
                "fields" => [
@@ -1137,6 +1193,32 @@ return [
                        "PRIMARY" => ["uri-id"],
                ]
        ],
+       "post-history" => [
+               "comment" => "Post history",
+               "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"],
+                       "edited" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "primary" => "1", "comment" => "Date of edit"],
+                       "title" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "item title"],
+                       "content-warning" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => ""],
+                       "body" => ["type" => "mediumtext", "comment" => "item body content"],
+                       "raw-body" => ["type" => "mediumtext", "comment" => "Body without embedded media links"],
+                       "location" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "text location where this item originated"],
+                       "coord" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "longitude/latitude pair representing location where this item originated"],
+                       "language" => ["type" => "text", "comment" => "Language information about this post"],
+                       "app" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "application which generated this item"],
+                       "rendered-hash" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""],
+                       "rendered-html" => ["type" => "mediumtext", "comment" => "item.body converted to html"],
+                       "object-type" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams object type"],
+                       "object" => ["type" => "text", "comment" => "JSON encoded object structure unless it is an implied object (normal post)"],
+                       "target-type" => ["type" => "varchar(100)", "not null" => "1", "default" => "", "comment" => "ActivityStreams target type if applicable (URI)"],
+                       "target" => ["type" => "text", "comment" => "JSON encoded target structure if used"],
+                       "resource-id" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => "Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type"],
+                       "plink" => ["type" => "varchar(255)", "not null" => "1", "default" => "", "comment" => "permalink or URL to a displayable copy of the message at its source"]
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["uri-id", "edited"],
+               ]
+       ],
        "post-link" => [
                "comment" => "Post related external links",
                "fields" => [
@@ -1176,6 +1258,33 @@ return [
                "indexes" => [
                        "PRIMARY" => ["id"],
                        "uri-id-url" => ["UNIQUE", "uri-id", "url"],
+                       "uri-id-id" => ["uri-id", "id"],
+               ]
+       ],
+       "post-question" => [
+               "comment" => "Question",
+               "fields" => [
+                       "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "sequential ID"],
+                       "uri-id" => ["type" => "int unsigned", "not null" => "1", "foreign" => ["item-uri" => "id"], "comment" => "Id of the item-uri table entry that contains the item uri"],
+                       "multiple" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Multiple choice"],
+                       "voters" => ["type" => "int unsigned", "comment" => "Number of voters for this question"],
+                       "end-time" => ["type" => "datetime", "default" => DBA::NULL_DATETIME, "comment" => "Question end time"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["id"],
+                       "uri-id" => ["UNIQUE", "uri-id"],
+               ]
+       ],
+       "post-question-option" => [
+               "comment" => "Question option",
+               "fields" => [
+                       "id" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => "Id of the question"],
+                       "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"],
+                       "name" => ["type" => "varchar(255)", "comment" => "Name of the option"],
+                       "replies" => ["type" => "int unsigned", "comment" => "Number of replies for this question option"],
+               ],
+               "indexes" => [
+                       "PRIMARY" => ["uri-id", "id"],
                ]
        ],
        "post-tag" => [
@@ -1284,13 +1393,13 @@ return [
                        "changed" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Date that something in the conversation changed, indicating clients should fetch the conversation again"],
                        "commented" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
                        "uid" => ["type" => "mediumint unsigned", "not null" => "1", "default" => "0", "primary" => "1", "foreign" => ["user" => "uid"], "comment" => "Owner id which owns this copy of the item"],
-                       "pinned" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "The thread is pinned on the profile page"],
+                       "pinned" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "deprecated"],
                        "starred" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
                        "ignored" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Ignore updates for this thread"],
                        "wall" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "This item was posted to the wall of uid"],
                        "mention" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
                        "pubmail" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
-                       "forum_mode" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => ""],
+                       "forum_mode" => ["type" => "tinyint unsigned", "not null" => "1", "default" => "0", "comment" => "Deprecated"],
                        "contact-id" => ["type" => "int unsigned", "not null" => "1", "default" => "0", "foreign" => ["contact" => "id"], "comment" => "contact.id"],
                        "unseen" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "post has not been seen"],
                        "hidden" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "Marker to hide the post from the user"],
@@ -1311,7 +1420,6 @@ return [
                        "commented" => ["commented"],
                        "uid_received" => ["uid", "received"],
                        "uid_wall_received" => ["uid", "wall", "received"],
-                       "uid_pinned" => ["uid", "pinned"],
                        "uid_commented" => ["uid", "commented"],
                        "uid_starred" => ["uid", "starred"],
                        "uid_mention" => ["uid", "mention"],
@@ -1332,8 +1440,8 @@ return [
        "process" => [
                "comment" => "Currently running system processes",
                "fields" => [
-                       "pid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => "The process ID of the current node"],
-                       "hostname" => ["type" => "varchar(32)", "not null" => "1", "primary" => "1", "comment" => "The hostname of the current node"],
+                       "pid" => ["type" => "int unsigned", "not null" => "1", "primary" => "1", "comment" => "The ID of the process"],
+                       "hostname" => ["type" => "varchar(32)", "not null" => "1", "primary" => "1", "comment" => "The name of the host the process is ran on"],
                        "command" => ["type" => "varbinary(32)", "not null" => "1", "default" => "", "comment" => ""],
                        "created" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""],
                ],
@@ -1530,6 +1638,8 @@ return [
                        "blocked" => ["type" => "boolean", "comment" => "Contact is completely blocked for this user"],
                        "ignored" => ["type" => "boolean", "comment" => "Posts from this contact are ignored"],
                        "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"],
                        "pending" => ["type" => "boolean", "comment" => ""],
                        "rel" => ["type" => "tinyint unsigned", "comment" => "The kind of the relation between the user and the contact"],
                        "info" => ["type" => "mediumtext", "comment" => ""],