]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - db/laconica_pg.sql
Merge branch 'master' of root@laconi.ca:/var/www/laconi.ca/software/laconica
[quix0rs-gnu-social.git] / db / laconica_pg.sql
index 3538e97ada2e8091f5f92fdd3a83508a7ebc8160..eb0dfc0ee0324241323de8919f5298b052c79296 100644 (file)
@@ -275,8 +275,6 @@ create table foreign_user (
      service int not null /* comment 'foreign key to service' */ references foreign_service(id) ,\r
      uri varchar(255) not null unique /* comment 'identifying URI' */,\r
      nickname varchar(255) /* comment 'nickname on foreign service' */,\r
-     user_id int /* comment 'link to user on this system, if exists' */ references "user" (id),  \r
-     credentials varchar(255) /* comment 'authc credentials, typically a password' */,\r
      created timestamp not null /* comment 'date this record was created' */,\r
      modified timestamp /* comment 'date this record was modified' */,\r
      \r
@@ -284,11 +282,25 @@ create table foreign_user (
 );\r
 create index foreign_user_user_id_idx on foreign_user using btree(user_id);\r
 \r
+create table foreign_link (\r
+     user_id int /* comment 'link to user on this system, if exists' */ references "user" (id),\r
+     foreign_id int /* comment 'link' */ references foreign_user (id),\r
+     service int not null /* comment 'foreign key to service' */ references foreign_service (id),\r
+     credentials varchar(255) /* comment 'authc credentials, typically a password',\r
+     noticesync int not null default 1 /* comment 'notice synchronisation, bit 1 = sync outgoing, bit 2 = sync incoming, bit 3 = filter local replies' */,\r
+     friendsync int not null default 2 /* comment 'friend synchronisation, bit 1 = sync outgoing, bit 2 = sync incoming \r
+     created timestamp not null /* comment 'date this record was created' */,\r
+     modified timestamp not null /* comment 'date this record was modified' */,\r
+\r
+     primary key (user_id,foreign_id,service)\r
+);\r
+create index foreign_user_user_id_idx on foreign_link using btree(user_id);\r
+\r
 create table foreign_subscription (\r
      service int not null /* comment 'service where relationship happens' */ references foreign_service(id) ,\r
      subscriber int not null /* comment 'subscriber on foreign service' */ ,\r
      subscribed int not null /* comment 'subscribed user' */ ,\r
-     created timestamp not null /* comment 'date this record was created' */,\r
+     created timestamp not null /* comment 'date this record was created' /,\r
      \r
      primary key (service, subscriber, subscribed)\r
 );\r
@@ -324,6 +336,38 @@ create index message_from_idx on message using btree(from_profile);
 create index message_to_idx on message using btree(to_profile);\r
 create index message_created_idx on message using btree(created);\r
 \r
+create table notice_inbox (\r
+\r
+    user_id integer not null /* comment 'user receiving the message' */ references user (id),\r
+    notice_id integer not null /* comment 'notice received' */ references notice (id),\r
+    created datetime not null /* comment 'date the notice was created' */,\r
+    source integer default 1 /* comment 'reason it is in the inbox; 1=subscription' */,\r
+\r
+    primary key (user_id, notice_id)\r
+);\r
+create index notice_inbox_notice_id_idx (notice_id) on notice_inbox using btree(notice_id);\r
+\r
+create table profile_tag (\r
+   tagger integer not null /* comment 'user making the tag' */ references "user" (id),\r
+   tagged integer not null /* comment 'profile tagged' */ references profile (id),\r
+   tag varchar(64) not null /* comment 'hash tag associated with this notice' */,\r
+   modified timestamp /* comment 'date the tag was added' */,\r
+\r
+   primary key (tagger, tagged, tag)\r
+);\r
+create index profile_tag_modified_idx on profile_tag using btree(modified);\r
+create index profile_tag_tagger_tag_idx on profile_tag using btree(tagger,tag);\r
+\r
+create table profile_block (\r
+\r
+   blocker integer not null i/* comment 'user making the block' */ references user (id),\r
+   blocked integer not null /* comment 'profile that is blocked' */ references profile (id),\r
+   modified timestamp /* comment 'date of blocking' */,\r
+\r
+   primary key (blocker, blocked)\r
+\r
+);\r
+\r
 /* Textsearch stuff */\r
 \r
 create index textsearch_idx on profile using gist(textsearch);\r