We can now store incoming questions

This commit is contained in:
Michael 2022-04-20 06:28:02 +00:00
commit 834844573b
10 changed files with 318 additions and 6 deletions

View file

@ -55,7 +55,7 @@
use Friendica\Database\DBA;
if (!defined('DB_UPDATE_VERSION')) {
define('DB_UPDATE_VERSION', 1457);
define('DB_UPDATE_VERSION', 1458);
}
return [
@ -1202,6 +1202,32 @@ return [
"uri-id-url" => ["UNIQUE", "uri-id", "url"],
]
],
"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" => [
"comment" => "post relation to tags",
"fields" => [

View file

@ -186,6 +186,10 @@
"event-type" => ["event", "type"],
"event-nofinish" => ["event", "nofinish"],
"event-ignore" => ["event", "ignore"],
"question-id" => ["post-question", "id"],
"question-multiple" => ["post-question", "multiple"],
"question-voters" => ["post-question", "voters"],
"question-end-time" => ["post-question", "end-time"],
"signed_text" => ["diaspora-interaction", "interaction"],
"parent-guid" => ["parent-item-uri", "guid"],
"parent-network" => ["parent-post", "network"],
@ -212,6 +216,7 @@
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-user`.`uri-id`
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-user`.`uri-id`
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-user`.`uri-id` AND `post-user`.`origin`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-user`.`uri-id`
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-user`.`psid`
LEFT JOIN `post-user` AS `parent-post` ON `parent-post`.`uri-id` = `post-user`.`parent-uri-id` AND `parent-post`.`uid` = `post-user`.`uid`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`"
@ -344,6 +349,10 @@
"event-type" => ["event", "type"],
"event-nofinish" => ["event", "nofinish"],
"event-ignore" => ["event", "ignore"],
"question-id" => ["post-question", "id"],
"question-multiple" => ["post-question", "multiple"],
"question-voters" => ["post-question", "voters"],
"question-end-time" => ["post-question", "end-time"],
"signed_text" => ["diaspora-interaction", "interaction"],
"parent-guid" => ["parent-item-uri", "guid"],
"parent-network" => ["parent-post", "network"],
@ -369,6 +378,7 @@
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-thread-user`.`uri-id`
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-thread-user`.`uri-id`
LEFT JOIN `post-delivery-data` ON `post-delivery-data`.`uri-id` = `post-thread-user`.`uri-id` AND `post-thread-user`.`origin`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread-user`.`uri-id`
LEFT JOIN `permissionset` ON `permissionset`.`id` = `post-thread-user`.`psid`
LEFT JOIN `post-user` AS `parent-post` ON `parent-post`.`uri-id` = `post-user`.`parent-uri-id` AND `parent-post`.`uid` = `post-thread-user`.`uid`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`"
@ -468,6 +478,10 @@
"causer-blocked" => ["causer", "blocked"],
"causer-hidden" => ["causer", "hidden"],
"causer-contact-type" => ["causer", "contact-type"],
"question-id" => ["post-question", "id"],
"question-multiple" => ["post-question", "multiple"],
"question-voters" => ["post-question", "voters"],
"question-end-time" => ["post-question", "end-time"],
"signed_text" => ["diaspora-interaction", "interaction"],
"parent-guid" => ["parent-item-uri", "guid"],
"parent-network" => ["parent-post", "network"],
@ -490,6 +504,7 @@
LEFT JOIN `verb` ON `verb`.`id` = `post`.`vid`
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post`.`uri-id`
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post`.`uri-id`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post`.`uri-id`
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`"
],
@ -588,6 +603,10 @@
"causer-blocked" => ["causer", "blocked"],
"causer-hidden" => ["causer", "hidden"],
"causer-contact-type" => ["causer", "contact-type"],
"question-id" => ["post-question", "id"],
"question-multiple" => ["post-question", "multiple"],
"question-voters" => ["post-question", "voters"],
"question-end-time" => ["post-question", "end-time"],
"signed_text" => ["diaspora-interaction", "interaction"],
"parent-guid" => ["parent-item-uri", "guid"],
"parent-network" => ["parent-post", "network"],
@ -610,6 +629,7 @@
LEFT JOIN `verb` ON `verb`.`id` = `post`.`vid`
LEFT JOIN `diaspora-interaction` ON `diaspora-interaction`.`uri-id` = `post-thread`.`uri-id`
LEFT JOIN `post-content` ON `post-content`.`uri-id` = `post-thread`.`uri-id`
LEFT JOIN `post-question` ON `post-question`.`uri-id` = `post-thread`.`uri-id`
LEFT JOIN `post` AS `parent-post` ON `parent-post`.`uri-id` = `post`.`parent-uri-id`
LEFT JOIN `contact` AS `parent-post-author` ON `parent-post-author`.`id` = `parent-post`.`author-id`"
],