Merge remote-tracking branch 'upstream/2021.06-rc' into issue-10386
This commit is contained in:
commit
bc58cb9b94
93 changed files with 3085 additions and 1125 deletions
120
doc/database.md
120
doc/database.md
|
@ -3,50 +3,76 @@ Database Tables
|
||||||
|
|
||||||
* [Home](help)
|
* [Home](help)
|
||||||
|
|
||||||
| Table | Description |
|
| Table | Description |
|
||||||
|------------------------------------------------------|--------------------------------------------------|
|
|-------|-------------|
|
||||||
| [addon](help/database/db_addon) | registered addons |
|
| [2fa_app_specific_password](help/database/db_2fa_app_specific_password) | Two-factor app-specific _password |
|
||||||
| [attach](help/database/db_attach) | file attachments |
|
| [2fa_recovery_codes](help/database/db_2fa_recovery_codes) | Two-factor authentication recovery codes |
|
||||||
| [auth_codes](help/database/db_auth_codes) | OAuth usage |
|
| [2fa_trusted_browser](help/database/db_2fa_trusted_browser) | Two-factor authentication trusted browsers |
|
||||||
| [cache](help/database/db_cache) | OEmbed cache |
|
| [addon](help/database/db_addon) | registered addons |
|
||||||
| [challenge](help/database/db_challenge) | |
|
| [apcontact](help/database/db_apcontact) | ActivityPub compatible contacts - used in the ActivityPub implementation |
|
||||||
| [clients](help/database/db_clients) | OAuth usage |
|
| [application](help/database/db_application) | OAuth application |
|
||||||
| [config](help/database/db_config) | main configuration storage |
|
| [application-token](help/database/db_application-token) | OAuth user token |
|
||||||
| [contact](help/database/db_contact) | contact table |
|
| [attach](help/database/db_attach) | file attachments |
|
||||||
| [conv](help/database/db_conv) | private messages |
|
| [auth_codes](help/database/db_auth_codes) | OAuth usage |
|
||||||
| [conversation](help/database/db_conversation) | Raw data and structure information for messages |
|
| [cache](help/database/db_cache) | Stores temporary data |
|
||||||
| [event](help/database/db_event) | Events |
|
| [challenge](help/database/db_challenge) | |
|
||||||
| [fcontact](help/database/db_fcontact) | friend suggestion stuff |
|
| [clients](help/database/db_clients) | OAuth usage |
|
||||||
| [fsuggest](help/database/db_fsuggest) | friend suggestion stuff |
|
| [config](help/database/db_config) | main configuration storage |
|
||||||
| [group](help/database/db_group) | privacy groups, group info |
|
| [contact](help/database/db_contact) | contact table |
|
||||||
| [group_member](help/database/db_group_member) | privacy groups, member info |
|
| [contact-relation](help/database/db_contact-relation) | Contact relations |
|
||||||
| [gserver](help/database/db_gserver) | |
|
| [conv](help/database/db_conv) | private messages |
|
||||||
| [hook](help/database/db_hook) | addon hook registry |
|
| [conversation](help/database/db_conversation) | Raw data and structure information for messages |
|
||||||
| [intro](help/database/db_intro) | |
|
| [delayed-post](help/database/db_delayed-post) | Posts that are about to be distributed at a later time |
|
||||||
| [item](help/database/db_item) | all posts |
|
| [diaspora-interaction](help/database/db_diaspora-interaction) | Signed Diaspora Interaction |
|
||||||
| [locks](help/database/db_locks) | |
|
| [event](help/database/db_event) | Events |
|
||||||
| [mail](help/database/db_mail) | private messages |
|
| [fcontact](help/database/db_fcontact) | Diaspora compatible contacts - used in the Diaspora implementation |
|
||||||
| [mailacct](help/database/db_mailacct) | |
|
| [fsuggest](help/database/db_fsuggest) | friend suggestion stuff |
|
||||||
| [manage](help/database/db_manage) | table of accounts that can "su" each other |
|
| [group](help/database/db_group) | privacy groups, group info |
|
||||||
| [notify](help/database/db_notify) | notifications |
|
| [group_member](help/database/db_group_member) | privacy groups, member info |
|
||||||
| [notify-threads](help/database/db_notify-threads) | |
|
| [gserver](help/database/db_gserver) | Global servers |
|
||||||
| [oembed](help/database/db_oembed) | cache for OEmbed queries |
|
| [gserver-tag](help/database/db_gserver-tag) | Tags that the server has subscribed |
|
||||||
| [parsed_url](help/database/db_parsed_url) | cache for "parse_url" queries |
|
| [hook](help/database/db_hook) | addon hook registry |
|
||||||
| [pconfig](help/database/db_pconfig) | personal (per user) configuration storage |
|
| [host](help/database/db_host) | Hostname |
|
||||||
| [photo](help/database/db_photo) | photo storage |
|
| [inbox-status](help/database/db_inbox-status) | Status of ActivityPub inboxes |
|
||||||
| [poll](help/database/db_poll) | data for polls |
|
| [intro](help/database/db_intro) | |
|
||||||
| [poll_result](help/database/db_poll_result) | data for poll elements |
|
| [item-uri](help/database/db_item-uri) | URI and GUID for items |
|
||||||
| [profile](help/database/db_profile) | user profiles data |
|
| [locks](help/database/db_locks) | |
|
||||||
| [profile_check](help/database/db_profile_check) | DFRN remote auth use |
|
| [mail](help/database/db_mail) | private messages |
|
||||||
| [push_subscriber](help/database/db_push_subscriber) | |
|
| [mailacct](help/database/db_mailacct) | Mail account data for fetching mails |
|
||||||
| [queue](help/database/db_queue) | |
|
| [manage](help/database/db_manage) | table of accounts that can manage each other |
|
||||||
| [register](help/database/db_register) | registrations requiring admin approval |
|
| [notification](help/database/db_notification) | notifications |
|
||||||
| [search](help/database/db_search) | |
|
| [notify](help/database/db_notify) | notifications |
|
||||||
| [session](help/database/db_session) | web session storage |
|
| [notify-threads](help/database/db_notify-threads) | |
|
||||||
| [sign](help/database/db_sign) | Diaspora signatures |
|
| [oembed](help/database/db_oembed) | cache for OEmbed queries |
|
||||||
| [term](help/database/db_term) | item taxonomy (categories, tags, etc.) table |
|
| [openwebauth-token](help/database/db_openwebauth-token) | Store OpenWebAuth token to verify contacts |
|
||||||
| [thread](help/database/db_thread) | |
|
| [parsed_url](help/database/db_parsed_url) | cache for 'parse_url' queries |
|
||||||
| [tokens](help/database/db_tokens) | OAuth usage |
|
| [pconfig](help/database/db_pconfig) | personal (per user) configuration storage |
|
||||||
| [user](help/database/db_user) | local user table |
|
| [permissionset](help/database/db_permissionset) | |
|
||||||
| [userd](help/database/db_userd) | |
|
| [photo](help/database/db_photo) | photo storage |
|
||||||
| [workerqueue](help/database/db_workerqueue) | |
|
| [post](help/database/db_post) | Structure for all posts |
|
||||||
|
| [post-category](help/database/db_post-category) | post relation to categories |
|
||||||
|
| [post-content](help/database/db_post-content) | Content for all posts |
|
||||||
|
| [post-delivery-data](help/database/db_post-delivery-data) | Delivery data for items |
|
||||||
|
| [post-media](help/database/db_post-media) | Attached media |
|
||||||
|
| [post-tag](help/database/db_post-tag) | post relation to tags |
|
||||||
|
| [post-thread](help/database/db_post-thread) | Thread related data |
|
||||||
|
| [post-thread-user](help/database/db_post-thread-user) | Thread related data per user |
|
||||||
|
| [post-user](help/database/db_post-user) | User specific post data |
|
||||||
|
| [post-user-notification](help/database/db_post-user-notification) | User post notifications |
|
||||||
|
| [process](help/database/db_process) | Currently running system processes |
|
||||||
|
| [profile](help/database/db_profile) | user profiles data |
|
||||||
|
| [profile_check](help/database/db_profile_check) | DFRN remote auth use |
|
||||||
|
| [profile_field](help/database/db_profile_field) | Custom profile fields |
|
||||||
|
| [push_subscriber](help/database/db_push_subscriber) | Used for OStatus: Contains feed subscribers |
|
||||||
|
| [register](help/database/db_register) | registrations requiring admin approval |
|
||||||
|
| [search](help/database/db_search) | |
|
||||||
|
| [session](help/database/db_session) | web session storage |
|
||||||
|
| [storage](help/database/db_storage) | Data stored by Database storage backend |
|
||||||
|
| [tag](help/database/db_tag) | tags and mentions |
|
||||||
|
| [tokens](help/database/db_tokens) | OAuth usage |
|
||||||
|
| [user](help/database/db_user) | The local users |
|
||||||
|
| [user-contact](help/database/db_user-contact) | User specific public contact data |
|
||||||
|
| [userd](help/database/db_userd) | Deleted usernames |
|
||||||
|
| [verb](help/database/db_verb) | Activity Verbs |
|
||||||
|
| [worker-ipc](help/database/db_worker-ipc) | Inter process communication between the frontend and the worker |
|
||||||
|
| [workerqueue](help/database/db_workerqueue) | Background tasks queue entries |
|
||||||
|
|
33
doc/database/db_2fa_app_specific_password.md
Normal file
33
doc/database/db_2fa_app_specific_password.md
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
Table 2fa_app_specific_password
|
||||||
|
===========
|
||||||
|
|
||||||
|
Two-factor app-specific _password
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------------- | ---------------------------------------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | Password ID for revocation | mediumint unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | User ID | mediumint unsigned | NO | | NULL | |
|
||||||
|
| description | Description of the usage of the password | varchar(255) | YES | | NULL | |
|
||||||
|
| hashed_password | Hashed password | varchar(255) | NO | | NULL | |
|
||||||
|
| generated | Datetime the password was generated | datetime | NO | | NULL | |
|
||||||
|
| last_used | Datetime the password was last used | datetime | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------------- | --------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_description | uid, description(190) |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
30
doc/database/db_2fa_recovery_codes.md
Normal file
30
doc/database/db_2fa_recovery_codes.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
Table 2fa_recovery_codes
|
||||||
|
===========
|
||||||
|
|
||||||
|
Two-factor authentication recovery codes
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------- | ------------------------------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
|
| uid | User ID | mediumint unsigned | NO | PRI | NULL | |
|
||||||
|
| code | Recovery code string | varchar(50) | NO | PRI | NULL | |
|
||||||
|
| generated | Datetime the code was generated | datetime | NO | | NULL | |
|
||||||
|
| used | Datetime the code was used | datetime | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | --------- |
|
||||||
|
| PRIMARY | uid, code |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
32
doc/database/db_2fa_trusted_browser.md
Normal file
32
doc/database/db_2fa_trusted_browser.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
Table 2fa_trusted_browser
|
||||||
|
===========
|
||||||
|
|
||||||
|
Two-factor authentication trusted browsers
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----------- | ------------------------------------------ | ------------------ | ---- | --- | ------- | ----- |
|
||||||
|
| cookie_hash | Trusted cookie hash | varchar(80) | NO | PRI | NULL | |
|
||||||
|
| uid | User ID | mediumint unsigned | NO | | NULL | |
|
||||||
|
| user_agent | User agent string | text | YES | | NULL | |
|
||||||
|
| created | Datetime the trusted browser was recorded | datetime | NO | | NULL | |
|
||||||
|
| last_used | Datetime the trusted browser was last used | datetime | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ----------- |
|
||||||
|
| PRIMARY | cookie_hash |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,17 +1,29 @@
|
||||||
Table addon
|
Table addon
|
||||||
===========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
registered addons
|
||||||
| ------------- | --------------------------------------------- | ---------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| name | addon base (file)name | char(255) | NO | | | |
|
------
|
||||||
| version | currently unused | char(255) | NO | | | |
|
|
||||||
| installed | currently always 1 | tinyint(1) | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| hidden | currently unused | tinyint(1) | NO | | 0 | |
|
| ------------ | --------------------------------------------- | ------------ | ---- | --- | ------- | -------------- |
|
||||||
| timestamp | file timestamp to check for reloads | bigint(20) | NO | | 0 | |
|
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| plugin_admin | 1 = has admin config, 0 = has no admin config | tinyint(1) | NO | | 0 | |
|
| name | addon base (file)name | varchar(50) | NO | | | |
|
||||||
|
| version | currently unused | varchar(50) | NO | | | |
|
||||||
|
| installed | currently always 1 | boolean | NO | | 0 | |
|
||||||
|
| hidden | currently unused | boolean | NO | | 0 | |
|
||||||
|
| timestamp | file timestamp to check for reloads | int unsigned | NO | | 0 | |
|
||||||
|
| plugin_admin | 1 = has admin config, 0 = has no admin config | boolean | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------------- | --------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| installed_name | installed, name |
|
||||||
|
| name | UNIQUE, name |
|
||||||
|
|
||||||
Notes:
|
|
||||||
These are addons which have been enabled by the site administrator on the addon page
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
56
doc/database/db_apcontact.md
Normal file
56
doc/database/db_apcontact.md
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
Table apcontact
|
||||||
|
===========
|
||||||
|
|
||||||
|
ActivityPub compatible contacts - used in the ActivityPub implementation
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ---------------- | ---------------------------- | -------------- | ---- | --- | ------------------- | ----- |
|
||||||
|
| url | URL of the contact | varbinary(255) | NO | PRI | NULL | |
|
||||||
|
| uuid | | varchar(255) | YES | | NULL | |
|
||||||
|
| type | | varchar(20) | NO | | NULL | |
|
||||||
|
| following | | varchar(255) | YES | | NULL | |
|
||||||
|
| followers | | varchar(255) | YES | | NULL | |
|
||||||
|
| inbox | | varchar(255) | NO | | NULL | |
|
||||||
|
| outbox | | varchar(255) | YES | | NULL | |
|
||||||
|
| sharedinbox | | varchar(255) | YES | | NULL | |
|
||||||
|
| manually-approve | | boolean | YES | | NULL | |
|
||||||
|
| nick | | varchar(255) | NO | | | |
|
||||||
|
| name | | varchar(255) | YES | | NULL | |
|
||||||
|
| about | | text | YES | | NULL | |
|
||||||
|
| photo | | varchar(255) | YES | | NULL | |
|
||||||
|
| addr | | varchar(255) | YES | | NULL | |
|
||||||
|
| alias | | varchar(255) | YES | | NULL | |
|
||||||
|
| pubkey | | text | YES | | NULL | |
|
||||||
|
| subscribe | | varchar(255) | YES | | NULL | |
|
||||||
|
| baseurl | baseurl of the ap contact | varchar(255) | YES | | NULL | |
|
||||||
|
| gsid | Global Server ID | int unsigned | YES | | NULL | |
|
||||||
|
| generator | Name of the contact's system | varchar(255) | YES | | NULL | |
|
||||||
|
| following_count | Number of following contacts | int unsigned | YES | | 0 | |
|
||||||
|
| followers_count | Number of followers | int unsigned | YES | | 0 | |
|
||||||
|
| statuses_count | Number of posts | int unsigned | YES | | 0 | |
|
||||||
|
| updated | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ----------- | ---------------- |
|
||||||
|
| PRIMARY | url |
|
||||||
|
| addr | addr(32) |
|
||||||
|
| alias | alias(190) |
|
||||||
|
| followers | followers(190) |
|
||||||
|
| baseurl | baseurl(190) |
|
||||||
|
| sharedinbox | sharedinbox(190) |
|
||||||
|
| gsid | gsid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| gsid | [gserver](help/database/db_gserver) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
38
doc/database/db_application-token.md
Normal file
38
doc/database/db_application-token.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
Table application-token
|
||||||
|
===========
|
||||||
|
|
||||||
|
OAuth user token
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| -------------- | ------------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
|
| application-id | | int unsigned | NO | PRI | NULL | |
|
||||||
|
| uid | Owner User id | mediumint unsigned | NO | PRI | NULL | |
|
||||||
|
| code | | varchar(64) | NO | | NULL | |
|
||||||
|
| access_token | | varchar(64) | NO | | NULL | |
|
||||||
|
| created_at | creation time | datetime | NO | | NULL | |
|
||||||
|
| scopes | | varchar(255) | YES | | NULL | |
|
||||||
|
| read | Read scope | boolean | YES | | NULL | |
|
||||||
|
| write | Write scope | boolean | YES | | NULL | |
|
||||||
|
| follow | Follow scope | boolean | YES | | NULL | |
|
||||||
|
| push | Push scope | boolean | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------------------- |
|
||||||
|
| PRIMARY | application-id, uid |
|
||||||
|
| uid_id | uid, application-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| application-id | [application](help/database/db_application) | id |
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
32
doc/database/db_application.md
Normal file
32
doc/database/db_application.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
Table application
|
||||||
|
===========
|
||||||
|
|
||||||
|
OAuth application
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------------- | --------------- | ------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | generated index | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| client_id | | varchar(64) | NO | | NULL | |
|
||||||
|
| client_secret | | varchar(64) | NO | | NULL | |
|
||||||
|
| name | | varchar(255) | NO | | NULL | |
|
||||||
|
| redirect_uri | | varchar(255) | NO | | NULL | |
|
||||||
|
| website | | varchar(255) | YES | | NULL | |
|
||||||
|
| scopes | | varchar(255) | YES | | NULL | |
|
||||||
|
| read | Read scope | boolean | YES | | NULL | |
|
||||||
|
| write | Write scope | boolean | YES | | NULL | |
|
||||||
|
| follow | Follow scope | boolean | YES | | NULL | |
|
||||||
|
| push | Push scope | boolean | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------- | ----------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| client_id | UNIQUE, client_id |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,22 +1,42 @@
|
||||||
Table attach
|
Table attach
|
||||||
============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
file attachments
|
||||||
| ---------- | ------------------------------------------------------| ------------ | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | generated index | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| uid | user_id of owner | int(11) | NO | | 0 | |
|
|
||||||
| hash | hash | varchar(64) | NO | | | |
|
|
||||||
| filename | filename of original | varchar(255) | NO | | | |
|
|
||||||
| filetype | mimetype | varchar(64) | NO | | | |
|
|
||||||
| filesize | size in bytes | int(11) | NO | | 0 | |
|
|
||||||
| data | file data | longblob | NO | | NULL | |
|
|
||||||
| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| allow_cid | Access Control - list of allowed contact.id '<19><78> | mediumtext | NO | | NULL | |
|
|
||||||
| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | |
|
|
||||||
| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | |
|
|
||||||
| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | |
|
|
||||||
|
|
||||||
Notes: Permissions are surrounded by angle chars. e.g. <4>
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------------- | ----------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | generated index | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| hash | hash | varchar(64) | NO | | | |
|
||||||
|
| filename | filename of original | varchar(255) | NO | | | |
|
||||||
|
| filetype | mimetype | varchar(64) | NO | | | |
|
||||||
|
| filesize | size in bytes | int unsigned | NO | | 0 | |
|
||||||
|
| data | file data | longblob | NO | | NULL | |
|
||||||
|
| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| allow_cid | Access Control - list of allowed contact.id '<19><78> | mediumtext | YES | | NULL | |
|
||||||
|
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
|
||||||
|
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
|
||||||
|
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
|
||||||
|
| backend-class | Storage backend class | tinytext | YES | | NULL | |
|
||||||
|
| backend-ref | Storage backend data reference | text | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,14 +1,32 @@
|
||||||
Table auth_codes
|
Table auth_codes
|
||||||
================
|
===========
|
||||||
|
|
||||||
OAuth2 authorisation register - currently implemented but unused
|
OAuth usage
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
Fields
|
||||||
| ------------- | ----------- | ------------ | ---- | --- | ------- | ----- |
|
------
|
||||||
| id | | varchar(40) | NO | PRI | NULL | |
|
|
||||||
| client_id | | varchar(20) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| redirect_uri | | varchar(200) | NO | | | |
|
| ------------ | ----------- | ------------ | ---- | --- | ------- | ----- |
|
||||||
| expires | | int(11) | NO | | 0 | |
|
| id | | varchar(40) | NO | PRI | NULL | |
|
||||||
| scope | | varchar(250) | NO | | | |
|
| client_id | | varchar(20) | NO | | | |
|
||||||
|
| redirect_uri | | varchar(200) | NO | | | |
|
||||||
|
| expires | | int | NO | | 0 | |
|
||||||
|
| scope | | varchar(250) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------- | --------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| client_id | client_id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| client_id | [clients](help/database/db_clients) | client_id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -3,11 +3,23 @@ Table cache
|
||||||
|
|
||||||
Stores temporary data
|
Stores temporary data
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
Fields
|
||||||
| ------------ | ---------------------------------- | ------------ | ---- | --- | ------------------- | ----- |
|
------
|
||||||
| k | cache key | varchar(255) | NO | PRI | NULL | |
|
|
||||||
| v | cached serialized value | text | NO | | NULL | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| expires | datetime of cache expiration | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
| ------- | ---------------------------- | -------------- | ---- | --- | ------------------- | ----- |
|
||||||
| updated | datetime of cache insertion | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
| k | cache key | varbinary(255) | NO | PRI | NULL | |
|
||||||
|
| v | cached serialized value | mediumtext | YES | | NULL | |
|
||||||
|
| expires | datetime of cache expiration | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| updated | datetime of cache insertion | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------- | ---------- |
|
||||||
|
| PRIMARY | k |
|
||||||
|
| k_expires | k, expires |
|
||||||
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,13 +1,27 @@
|
||||||
Table challenge
|
Table challenge
|
||||||
===============
|
===========
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----------- | ------------- | ------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| challenge | | varchar(255) | NO | | | |
|
||||||
|
| dfrn-id | | varchar(255) | NO | | | |
|
||||||
|
| expire | | int unsigned | NO | | 0 | |
|
||||||
|
| type | | varchar(255) | NO | | | |
|
||||||
|
| last_update | | varchar(255) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| expire | expire |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|-------------|------------------|------------------|------|-----|---------|----------------|
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
|
||||||
| challenge | | varchar(255) | NO | | | |
|
|
||||||
| dfrn-id | | varchar(255) | NO | | | |
|
|
||||||
| expire | | int(11) | NO | | 0 | |
|
|
||||||
| type | | varchar(255) | NO | | | |
|
|
||||||
| last_update | | varchar(255) | NO | | | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,13 +1,33 @@
|
||||||
Table clients
|
Table clients
|
||||||
=============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
OAuth usage
|
||||||
| ------------- | ----------- | ------------ | ---- | --- | ------- | ----- |
|
|
||||||
| client_id | | varchar(20) | NO | PRI | NULL | |
|
Fields
|
||||||
| pw | | varchar(20) | NO | | | |
|
------
|
||||||
| redirect_uri | | varchar(200) | NO | | | |
|
|
||||||
| name | | text | YES | | NULL | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| icon | | text | YES | | NULL | |
|
| ------------ | ----------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
| uid | | int(11) | NO | | 0 | |
|
| client_id | | varchar(20) | NO | PRI | NULL | |
|
||||||
|
| pw | | varchar(20) | NO | | | |
|
||||||
|
| redirect_uri | | varchar(200) | NO | | | |
|
||||||
|
| name | | text | YES | | NULL | |
|
||||||
|
| icon | | text | YES | | NULL | |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | --------- |
|
||||||
|
| PRIMARY | client_id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,11 +1,25 @@
|
||||||
Table config
|
Table config
|
||||||
============
|
===========
|
||||||
|
|
||||||
|
main configuration storage
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ----------- | ------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| cat | | varbinary(50) | NO | | | |
|
||||||
|
| k | | varbinary(50) | NO | | | |
|
||||||
|
| v | | mediumtext | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | -------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| cat_k | UNIQUE, cat, k |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
| ----- | ----------- | ---------------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
|
||||||
| cat | | char(255) | NO | MUL | | |
|
|
||||||
| k | | char(255) | NO | | | |
|
|
||||||
| v | | text | NO | | NULL | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
33
doc/database/db_contact-relation.md
Normal file
33
doc/database/db_contact-relation.md
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
Table contact-relation
|
||||||
|
===========
|
||||||
|
|
||||||
|
Contact relations
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ---------------- | --------------------------------------------------- | ------------ | ---- | --- | ------------------- | ----- |
|
||||||
|
| cid | contact the related contact had interacted with | int unsigned | NO | PRI | 0 | |
|
||||||
|
| relation-cid | related contact who had interacted with the contact | int unsigned | NO | PRI | 0 | |
|
||||||
|
| last-interaction | Date of the last interaction | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| follow-updated | Date of the last update of the contact relationship | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| follows | | boolean | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------ | ----------------- |
|
||||||
|
| PRIMARY | cid, relation-cid |
|
||||||
|
| relation-cid | relation-cid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| cid | [contact](help/database/db_contact) | id |
|
||||||
|
| relation-cid | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,72 +1,129 @@
|
||||||
Table contact
|
Table contact
|
||||||
=============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
contact table
|
||||||
|---------------------------|-----------------------------------------------------------|--------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id of the owner of this data | int(11) | NO | MUL | 0 | |
|
------
|
||||||
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| self | 1 if the contact is the user him/her self | tinyint(1) | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| remote_self | | tinyint(1) | NO | | 0 | |
|
| ------------------------- | --------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| rel | The kind of the relation between the user and the contact | tinyint(1) | NO | | 0 | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| duplex | | tinyint(1) | NO | | 0 | |
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
| network | Network protocol of the contact | varchar(255) | NO | | | |
|
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| name | Name that this contact is known by | varchar(255) | NO | | | |
|
| updated | Date of last contact update | datetime | YES | | 0001-01-01 00:00:00 | |
|
||||||
| nick | Nick- and user name of the contact | varchar(255) | NO | | | |
|
| self | 1 if the contact is the user him/her self | boolean | NO | | 0 | |
|
||||||
| location | | varchar(255) | NO | | | |
|
| remote_self | | boolean | NO | | 0 | |
|
||||||
| about | | text | NO | | NULL | |
|
| rel | The kind of the relation between the user and the contact | tinyint unsigned | NO | | 0 | |
|
||||||
| keywords | public keywords (interests) of the contact | text | NO | | NULL | |
|
| duplex | | boolean | NO | | 0 | |
|
||||||
| gender | | varchar(32) | NO | | | |
|
| network | Network of the contact | char(4) | NO | | | |
|
||||||
| attag | | varchar(255) | NO | | | |
|
| protocol | Protocol of the contact | char(4) | NO | | | |
|
||||||
| photo | Link to the profile photo of the contact | text | NO | | NULL | |
|
| name | Name that this contact is known by | varchar(255) | NO | | | |
|
||||||
| thumb | Link to the profile photo (thumb size) | text | NO | | NULL | |
|
| nick | Nick- and user name of the contact | varchar(255) | NO | | | |
|
||||||
| micro | Link to the profile photo (micro size) | text | NO | | NULL | |
|
| location | | varchar(255) | YES | | | |
|
||||||
| site-pubkey | | text | NO | | NULL | |
|
| about | | text | YES | | NULL | |
|
||||||
| issued-id | | varchar(255) | NO | | | |
|
| keywords | public keywords (interests) of the contact | text | YES | | NULL | |
|
||||||
| dfrn-id | | varchar(255) | NO | | | |
|
| gender | Deprecated | varchar(32) | NO | | | |
|
||||||
| url | | varchar(255) | NO | | | |
|
| xmpp | | varchar(255) | NO | | | |
|
||||||
| nurl | | varchar(255) | NO | | | |
|
| attag | | varchar(255) | NO | | | |
|
||||||
| addr | | varchar(255) | NO | | | |
|
| avatar | | varchar(255) | NO | | | |
|
||||||
| alias | | varchar(255) | NO | | | |
|
| photo | Link to the profile photo of the contact | varchar(255) | YES | | | |
|
||||||
| pubkey | RSA public key 4096 bit | text | NO | | NULL | |
|
| thumb | Link to the profile photo (thumb size) | varchar(255) | YES | | | |
|
||||||
| prvkey | RSA private key 4096 bit | text | NO | | NULL | |
|
| micro | Link to the profile photo (micro size) | varchar(255) | YES | | | |
|
||||||
| batch | | varchar(255) | NO | | | |
|
| site-pubkey | | text | YES | | NULL | |
|
||||||
| request | | text | NO | | NULL | |
|
| issued-id | | varchar(255) | NO | | | |
|
||||||
| notify | | text | NO | | NULL | |
|
| dfrn-id | | varchar(255) | NO | | | |
|
||||||
| poll | | text | NO | | NULL | |
|
| url | | varchar(255) | NO | | | |
|
||||||
| confirm | | text | NO | | NULL | |
|
| nurl | | varchar(255) | NO | | | |
|
||||||
| poco | | text | NO | | NULL | |
|
| addr | | varchar(255) | NO | | | |
|
||||||
| aes_allow | | tinyint(1) | NO | | 0 | |
|
| alias | | varchar(255) | NO | | | |
|
||||||
| ret-aes | | tinyint(1) | NO | | 0 | |
|
| pubkey | RSA public key 4096 bit | text | YES | | NULL | |
|
||||||
| usehub | | tinyint(1) | NO | | 0 | |
|
| prvkey | RSA private key 4096 bit | text | YES | | NULL | |
|
||||||
| subhub | | tinyint(1) | NO | | 0 | |
|
| batch | | varchar(255) | NO | | | |
|
||||||
| hub-verify | | varchar(255) | NO | | | |
|
| request | | varchar(255) | YES | | NULL | |
|
||||||
| last-update | Date of the last try to update the contact info | datetime | NO | | 0001-01-01 00:00:00 | |
|
| notify | | varchar(255) | YES | | NULL | |
|
||||||
| success_update | Date of the last successful contact update | datetime | NO | | 0001-01-01 00:00:00 | |
|
| poll | | varchar(255) | YES | | NULL | |
|
||||||
| failure_update | Date of the last failed update | datetime | NO | | 0001-01-01 00:00:00 | |
|
| confirm | | varchar(255) | YES | | NULL | |
|
||||||
| name-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| subscribe | | varchar(255) | YES | | NULL | |
|
||||||
| uri-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| poco | | varchar(255) | YES | | NULL | |
|
||||||
| avatar-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| aes_allow | | boolean | NO | | 0 | |
|
||||||
| term-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| ret-aes | | boolean | NO | | 0 | |
|
||||||
| last-item | date of the last post | datetime | NO | | 0001-01-01 00:00:00 | |
|
| usehub | | boolean | NO | | 0 | |
|
||||||
| priority | | tinyint(3) | NO | | 0 | |
|
| subhub | | boolean | NO | | 0 | |
|
||||||
| blocked | | tinyint(1) | NO | | 1 | |
|
| hub-verify | | varchar(255) | NO | | | |
|
||||||
| readonly | posts of the contact are readonly | tinyint(1) | NO | | 0 | |
|
| last-update | Date of the last try to update the contact info | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| writable | | tinyint(1) | NO | | 0 | |
|
| success_update | Date of the last successful contact update | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| forum | contact is a forum | tinyint(1) | NO | | 0 | |
|
| failure_update | Date of the last failed update | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| prv | contact is a private group | tinyint(1) | NO | | 0 | |
|
| failed | Connection failed | boolean | YES | | NULL | |
|
||||||
| hidden | | tinyint(1) | NO | | 0 | |
|
| name-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| archive | | tinyint(1) | NO | | 0 | |
|
| uri-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| pending | | tinyint(1) | NO | | 1 | |
|
| avatar-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| rating | | tinyint(1) | NO | | 0 | |
|
| term-date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| reason | | text | NO | | NULL | |
|
| last-item | date of the last post | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| closeness | | tinyint(2) | NO | | 99 | |
|
| last-discovery | date of the last follower discovery | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| info | | mediumtext | NO | | NULL | |
|
| priority | | tinyint unsigned | NO | | 0 | |
|
||||||
| profile-id | | int(11) | NO | | 0 | |
|
| blocked | Node-wide block status | boolean | NO | | 1 | |
|
||||||
| bdyear | | varchar(4) | NO | | | |
|
| block_reason | Node-wide block reason | text | YES | | NULL | |
|
||||||
| bd | | date | NO | | 0001-01-01 | |
|
| readonly | posts of the contact are readonly | boolean | NO | | 0 | |
|
||||||
| notify_new_posts | | tinyint(1) | NO | | 0 | |
|
| writable | | boolean | NO | | 0 | |
|
||||||
| fetch_further_information | | tinyint(1) | NO | | 0 | |
|
| forum | contact is a forum | boolean | NO | | 0 | |
|
||||||
| ffi_keyword_denylist | | mediumtext | NO | | NULL | |
|
| prv | contact is a private group | boolean | NO | | 0 | |
|
||||||
|
| contact-type | | tinyint | NO | | 0 | |
|
||||||
|
| manually-approve | | boolean | YES | | NULL | |
|
||||||
|
| hidden | | boolean | NO | | 0 | |
|
||||||
|
| archive | | boolean | NO | | 0 | |
|
||||||
|
| pending | | boolean | NO | | 1 | |
|
||||||
|
| deleted | Contact has been deleted | boolean | NO | | 0 | |
|
||||||
|
| rating | | tinyint | NO | | 0 | |
|
||||||
|
| unsearchable | Contact prefers to not be searchable | boolean | NO | | 0 | |
|
||||||
|
| sensitive | Contact posts sensitive content | boolean | NO | | 0 | |
|
||||||
|
| baseurl | baseurl of the contact | varchar(255) | YES | | | |
|
||||||
|
| gsid | Global Server ID | int unsigned | YES | | NULL | |
|
||||||
|
| reason | | text | YES | | NULL | |
|
||||||
|
| closeness | | tinyint unsigned | NO | | 99 | |
|
||||||
|
| info | | mediumtext | YES | | NULL | |
|
||||||
|
| profile-id | Deprecated | int unsigned | YES | | NULL | |
|
||||||
|
| bdyear | | varchar(4) | NO | | | |
|
||||||
|
| bd | | date | NO | | 0001-01-01 | |
|
||||||
|
| notify_new_posts | | boolean | NO | | 0 | |
|
||||||
|
| fetch_further_information | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| ffi_keyword_denylist | | text | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------------------------- | ------------------------------------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_name | uid, name(190) |
|
||||||
|
| self_uid | self, uid |
|
||||||
|
| alias_uid | alias(128), uid |
|
||||||
|
| pending_uid | pending, uid |
|
||||||
|
| blocked_uid | blocked, uid |
|
||||||
|
| uid_rel_network_poll | uid, rel, network, poll(64), archive |
|
||||||
|
| uid_network_batch | uid, network, batch(64) |
|
||||||
|
| batch_contact-type | batch(64), contact-type |
|
||||||
|
| addr_uid | addr(128), uid |
|
||||||
|
| nurl_uid | nurl(128), uid |
|
||||||
|
| nick_uid | nick(128), uid |
|
||||||
|
| attag_uid | attag(96), uid |
|
||||||
|
| dfrn-id | dfrn-id(64) |
|
||||||
|
| issued-id | issued-id(64) |
|
||||||
|
| network_uid_lastupdate | network, uid, last-update |
|
||||||
|
| uid_network_self_lastupdate | uid, network, self, last-update |
|
||||||
|
| uid_lastitem | uid, last-item |
|
||||||
|
| baseurl | baseurl(64) |
|
||||||
|
| uid_contact-type | uid, contact-type |
|
||||||
|
| uid_self_contact-type | uid, self, contact-type |
|
||||||
|
| self_network_uid | self, network, uid |
|
||||||
|
| gsid | gsid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| gsid | [gserver](help/database/db_gserver) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,15 +1,35 @@
|
||||||
Table conv
|
Table conv
|
||||||
==========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
private messages
|
||||||
| ------- | ----------------------------------------- | ---------------- | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| guid | A unique identifier for this conversation | varchar(64) | NO | | | |
|
------
|
||||||
| recips | sender_handle;recipient_handle | mediumtext | NO | | NULL | |
|
|
||||||
| uid | user_id of the owner of this data | int(11) | NO | MUL | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| creator | handle of creator | varchar(255) | NO | | | |
|
| ------- | ----------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| created | creation timestamp | datetime | NO | | 0001-01-01 00:00:00 | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| updated | edited timestamp | datetime | NO | | 0001-01-01 00:00:00 | |
|
| guid | A unique identifier for this conversation | varchar(255) | NO | | | |
|
||||||
| subject | subject of initial message | mediumtext | NO | | NULL | |
|
| recips | sender_handle;recipient_handle | text | YES | | NULL | |
|
||||||
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| creator | handle of creator | varchar(255) | NO | | | |
|
||||||
|
| created | creation timestamp | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| updated | edited timestamp | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| subject | subject of initial message | text | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,14 +1,30 @@
|
||||||
Table conversation
|
Table conversation
|
||||||
==================
|
===========
|
||||||
|
|
||||||
|
Raw data and structure information for messages
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----------------- | -------------------------------------------------------------------- | ---------------- | ---- | --- | ------------------- | ----- |
|
||||||
|
| item-uri | Original URI of the item - unrelated to the table with the same name | varbinary(255) | NO | PRI | NULL | |
|
||||||
|
| reply-to-uri | URI to which this item is a reply | varbinary(255) | NO | | | |
|
||||||
|
| conversation-uri | GNU Social conversation URI | varbinary(255) | NO | | | |
|
||||||
|
| conversation-href | GNU Social conversation link | varbinary(255) | NO | | | |
|
||||||
|
| protocol | The protocol of the item | tinyint unsigned | NO | | 255 | |
|
||||||
|
| direction | How the message arrived here: 1=push, 2=pull | tinyint unsigned | NO | | 0 | |
|
||||||
|
| source | Original source | mediumtext | YES | | NULL | |
|
||||||
|
| received | Receiving date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ---------------- | ---------------- |
|
||||||
|
| PRIMARY | item-uri |
|
||||||
|
| conversation-uri | conversation-uri |
|
||||||
|
| received | received |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|-------------------| ---------------------------------- |---------------------|------|-----|---------------------|----------------|
|
|
||||||
| item-uri | URI of the item | varbinary(255) | NO | PRI | NULL | |
|
|
||||||
| reply-to-uri | URI to which this item is a reply | varbinary(255) | NO | | | |
|
|
||||||
| conversation-uri | GNU Social conversation URI | varbinary(255) | NO | | | |
|
|
||||||
| conversation-href | GNU Social conversation link | varbinary(255) | NO | | | |
|
|
||||||
| protocol | The protocol of the item | tinyint(1) unsigned | NO | | 0 | |
|
|
||||||
| source | Original source | mediumtext | NO | | | |
|
|
||||||
| received | Receiving date | datetime | NO | | 0001-01-01 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
31
doc/database/db_delayed-post.md
Normal file
31
doc/database/db_delayed-post.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
Table delayed-post
|
||||||
|
===========
|
||||||
|
|
||||||
|
Posts that are about to be distributed at a later time
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------- | ---------------------------------------------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uri | URI of the post that will be distributed later | varchar(255) | YES | | NULL | |
|
||||||
|
| uid | Owner User id | mediumint unsigned | YES | | NULL | |
|
||||||
|
| delayed | delay time | datetime | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | --------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_uri | UNIQUE, uid, uri(190) |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
28
doc/database/db_diaspora-interaction.md
Normal file
28
doc/database/db_diaspora-interaction.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
Table diaspora-interaction
|
||||||
|
===========
|
||||||
|
|
||||||
|
Signed Diaspora Interaction
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----------- | --------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| interaction | The Diaspora interaction | mediumtext | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | uri-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,26 +1,49 @@
|
||||||
Table event
|
Table event
|
||||||
===========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
Events
|
||||||
| ---------- | ----------------------------------------------- -------| ------------------- | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user_id of the owner of this data | int(11) | NO | MUL | 0 | |
|
------
|
||||||
| cid | contact_id (ID of the contact in contact table) | int(11) | NO | | 0 | |
|
|
||||||
| uri | | varchar(255) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | |
|
| --------- | ------------------------------------------------------ | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| start | event start time | datetime | NO | | 0001-01-01 00:00:00 | |
|
| guid | | varchar(255) | NO | | | |
|
||||||
| finish | event end time | datetime | NO | | 0001-01-01 00:00:00 | |
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
| summary | short description or title of the event | text | NO | | NULL | |
|
| cid | contact_id (ID of the contact in contact table) | int unsigned | NO | | 0 | |
|
||||||
| desc | event description | text | NO | | NULL | |
|
| uri | | varchar(255) | NO | | | |
|
||||||
| location | event location | text | NO | | NULL | |
|
| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| type | event or birthday | varchar(255) | NO | | | |
|
| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| nofinish | if event does have no end this is 1 | tinyint(1) | NO | | 0 | |
|
| start | event start time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| adjust | adjust to timezone of the recipient (0 or 1) | tinyint(1) | NO | | 1 | |
|
| finish | event end time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| ignore | 0 or 1 | tinyint(1) unsigned | NO | | 0 | |
|
| summary | short description or title of the event | text | YES | | NULL | |
|
||||||
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | NO | | NULL | |
|
| desc | event description | text | YES | | NULL | |
|
||||||
| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | |
|
| location | event location | text | YES | | NULL | |
|
||||||
| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | |
|
| type | event or birthday | varchar(20) | NO | | | |
|
||||||
| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | |
|
| nofinish | if event does have no end this is 1 | boolean | NO | | 0 | |
|
||||||
|
| adjust | adjust to timezone of the recipient (0 or 1) | boolean | NO | | 1 | |
|
||||||
|
| ignore | 0 or 1 | boolean | NO | | 0 | |
|
||||||
|
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | |
|
||||||
|
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
|
||||||
|
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
|
||||||
|
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------- | ---------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_start | uid, start |
|
||||||
|
| cid | cid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| cid | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,24 +1,39 @@
|
||||||
Table fcontact
|
Table fcontact
|
||||||
==============
|
===========
|
||||||
|
|
||||||
|
Diaspora compatible contacts - used in the Diaspora implementation
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| -------- | ------------- | ---------------- | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| guid | unique id | varchar(255) | NO | | | |
|
||||||
|
| url | | varchar(255) | NO | | | |
|
||||||
|
| name | | varchar(255) | NO | | | |
|
||||||
|
| photo | | varchar(255) | NO | | | |
|
||||||
|
| request | | varchar(255) | NO | | | |
|
||||||
|
| nick | | varchar(255) | NO | | | |
|
||||||
|
| addr | | varchar(255) | NO | | | |
|
||||||
|
| batch | | varchar(255) | NO | | | |
|
||||||
|
| notify | | varchar(255) | NO | | | |
|
||||||
|
| poll | | varchar(255) | NO | | | |
|
||||||
|
| confirm | | varchar(255) | NO | | | |
|
||||||
|
| priority | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| network | | char(4) | NO | | | |
|
||||||
|
| alias | | varchar(255) | NO | | | |
|
||||||
|
| pubkey | | text | YES | | NULL | |
|
||||||
|
| updated | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ---------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| addr | addr(32) |
|
||||||
|
| url | UNIQUE, url(190) |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
| -------- | ------------- | ---------------- | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
|
||||||
| guid | unique id | varchar(64) | NO | | | |
|
|
||||||
| url | | varchar(255) | NO | | | |
|
|
||||||
| name | | varchar(255) | NO | | | |
|
|
||||||
| photo | | varchar(255) | NO | | | |
|
|
||||||
| request | | varchar(255) | NO | | | |
|
|
||||||
| nick | | varchar(255) | NO | | | |
|
|
||||||
| addr | | varchar(255) | NO | MUL | | |
|
|
||||||
| batch | | varchar(255) | NO | | | |
|
|
||||||
| notify | | varchar(255) | NO | | | |
|
|
||||||
| poll | | varchar(255) | NO | | | |
|
|
||||||
| confirm | | varchar(255) | NO | | | |
|
|
||||||
| priority | | tinyint(1) | NO | | 0 | |
|
|
||||||
| network | | varchar(32) | NO | | | |
|
|
||||||
| alias | | varchar(255) | NO | | | |
|
|
||||||
| pubkey | | text | NO | | NULL | |
|
|
||||||
| updated | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,16 +1,38 @@
|
||||||
Table fsuggest
|
Table fsuggest
|
||||||
==============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
friend suggestion stuff
|
||||||
| ------- | ----------- | ------------ | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | | int(11) | NO | | 0 | |
|
------
|
||||||
| cid | | int(11) | NO | | 0 | |
|
|
||||||
| name | | varchar(255) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| url | | varchar(255) | NO | | | |
|
| ------- | ----------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| request | | varchar(255) | NO | | | |
|
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| photo | | varchar(255) | NO | | | |
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
| note | | text | NO | | NULL | |
|
| cid | | int unsigned | NO | | 0 | |
|
||||||
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| name | | varchar(255) | NO | | | |
|
||||||
|
| url | | varchar(255) | NO | | | |
|
||||||
|
| request | | varchar(255) | NO | | | |
|
||||||
|
| photo | | varchar(255) | NO | | | |
|
||||||
|
| note | | text | YES | | NULL | |
|
||||||
|
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| cid | cid |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| cid | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,12 +1,32 @@
|
||||||
Table group
|
Table group
|
||||||
===========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
privacy groups, group info
|
||||||
| ------- | ------------------------------------------ | ---------------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id owning this data | int(10) unsigned | NO | MUL | 0 | |
|
------
|
||||||
| visible | 1 indicates the member list is not private | tinyint(1) | NO | | 0 | |
|
|
||||||
| deleted | 1 indicates the group has been deleted | tinyint(1) | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| name | human readable name of group | varchar(255) | NO | | | |
|
| ------- | ------------------------------------------ | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| visible | 1 indicates the member list is not private | boolean | NO | | 0 | |
|
||||||
|
| deleted | 1 indicates the group has been deleted | boolean | NO | | 0 | |
|
||||||
|
| name | human readable name of group | varchar(255) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,11 +1,32 @@
|
||||||
Table group_member
|
Table group_member
|
||||||
==================
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
privacy groups, member info
|
||||||
| ---------- | ----------------------------------------------------------- | ---------------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id of the owner of this data | int(10) unsigned | NO | MUL | 0 | |
|
------
|
||||||
| gid | groups.id of the associated group | int(10) unsigned | NO | | 0 | |
|
|
||||||
| contact-id | contact.id of the member assigned to the associated group | int(10) unsigned | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ---------- | --------------------------------------------------------- | ------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| gid | groups.id of the associated group | int unsigned | NO | | 0 | |
|
||||||
|
| contact-id | contact.id of the member assigned to the associated group | int unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------- | ----------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| contactid | contact-id |
|
||||||
|
| gid_contactid | UNIQUE, gid, contact-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| gid | [group](help/database/db_group) | id |
|
||||||
|
| contact-id | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
29
doc/database/db_gserver-tag.md
Normal file
29
doc/database/db_gserver-tag.md
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
Table gserver-tag
|
||||||
|
===========
|
||||||
|
|
||||||
|
Tags that the server has subscribed
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ---------- | ---------------------------------- | ------------ | ---- | --- | ------- | ----- |
|
||||||
|
| gserver-id | The id of the gserver | int unsigned | NO | PRI | 0 | |
|
||||||
|
| tag | Tag that the server has subscribed | varchar(100) | NO | PRI | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | --------------- |
|
||||||
|
| PRIMARY | gserver-id, tag |
|
||||||
|
| tag | tag |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| gserver-id | [gserver](help/database/db_gserver) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,24 +1,46 @@
|
||||||
Table gserver
|
Table gserver
|
||||||
=============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
Global servers
|
||||||
|------------------|---------------------------|------------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| url | | varchar(255) | NO | | | |
|
------
|
||||||
| nurl | | varchar(255) | NO | MUL | | |
|
|
||||||
| version | | varchar(255) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| site_name | | varchar(255) | NO | | | |
|
| ---------------- | -------------------------------------------------- | ---------------- | ---- | --- | ------------------- | -------------- |
|
||||||
| info | | text | NO | | NULL | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| register_policy | | tinyint(1) | NO | | 0 | |
|
| url | | varchar(255) | NO | | | |
|
||||||
| registered-users |Number of registered users | int(10) | NO | | 0 | |
|
| nurl | | varchar(255) | NO | | | |
|
||||||
| poco | | varchar(255) | NO | | | |
|
| version | | varchar(255) | NO | | | |
|
||||||
| noscrape | | varchar(255) | NO | | | |
|
| site_name | | varchar(255) | NO | | | |
|
||||||
| network | | varchar(32) | NO | | | |
|
| info | | text | YES | | NULL | |
|
||||||
| platform | | varchar(255) | NO | | | |
|
| register_policy | | tinyint | NO | | 0 | |
|
||||||
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| registered-users | Number of registered users | int unsigned | NO | | 0 | |
|
||||||
| last_poco_query | | datetime | YES | | 0001-01-01 00:00:00 | |
|
| directory-type | Type of directory service (Poco, Mastodon) | tinyint | YES | | 0 | |
|
||||||
| last_contact | | datetime | YES | | 0001-01-01 00:00:00 | |
|
| poco | | varchar(255) | NO | | | |
|
||||||
| last_failure | | datetime | YES | | 0001-01-01 00:00:00 | |
|
| noscrape | | varchar(255) | NO | | | |
|
||||||
|
| network | | char(4) | NO | | | |
|
||||||
|
| protocol | The protocol of the server | tinyint unsigned | YES | | NULL | |
|
||||||
|
| platform | | varchar(255) | NO | | | |
|
||||||
|
| relay-subscribe | Has the server subscribed to the relay system | boolean | NO | | 0 | |
|
||||||
|
| relay-scope | The scope of messages that the server wants to get | varchar(10) | NO | | | |
|
||||||
|
| detection-method | Method that had been used to detect that server | tinyint unsigned | YES | | NULL | |
|
||||||
|
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| last_poco_query | | datetime | YES | | 0001-01-01 00:00:00 | |
|
||||||
|
| last_contact | Last successful connection request | datetime | YES | | 0001-01-01 00:00:00 | |
|
||||||
|
| last_failure | Last failed connection request | datetime | YES | | 0001-01-01 00:00:00 | |
|
||||||
|
| failed | Connection failed | boolean | YES | | NULL | |
|
||||||
|
| next_contact | Next connection request | datetime | YES | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------ | ----------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| nurl | UNIQUE, nurl(190) |
|
||||||
|
| next_contact | next_contact |
|
||||||
|
| network | network |
|
||||||
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,12 +1,27 @@
|
||||||
Table hook
|
Table hook
|
||||||
==========
|
===========
|
||||||
|
|
||||||
|
addon hook registry
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| -------- | ---------------------------------------------------------------------------------------------------------- | ----------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| hook | name of hook | varbinary(100) | NO | | | |
|
||||||
|
| file | relative filename of hook handler | varbinary(200) | NO | | | |
|
||||||
|
| function | function name of hook handler | varbinary(200) | NO | | | |
|
||||||
|
| priority | not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order | smallint unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------------ | ---------------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| priority | priority |
|
||||||
|
| hook_file_function | UNIQUE, hook, file, function |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
| -------- | ---------------------------------------------------------------------------------------------------------- | ---------------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| hook | name of hook | varchar(255) | NO | MUL | | |
|
|
||||||
| file | relative filename of hook handler | varchar(255) | NO | | | |
|
|
||||||
| function | function name of hook handler | varchar(255) | NO | | | |
|
|
||||||
| priority | not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order | int(11) unsigned | NO | | 0 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
23
doc/database/db_host.md
Normal file
23
doc/database/db_host.md
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Table host
|
||||||
|
===========
|
||||||
|
|
||||||
|
Hostname
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ------------- | ---------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | tinyint unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| name | The hostname | varchar(128) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| name | UNIQUE, name |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
27
doc/database/db_inbox-status.md
Normal file
27
doc/database/db_inbox-status.md
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
Table inbox-status
|
||||||
|
===========
|
||||||
|
|
||||||
|
Status of ActivityPub inboxes
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| -------- | ------------------------------------ | -------------- | ---- | --- | ------------------- | ----- |
|
||||||
|
| url | URL of the inbox | varbinary(255) | NO | PRI | NULL | |
|
||||||
|
| created | Creation date of this entry | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| success | Date of the last successful delivery | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| failure | Date of the last failed delivery | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| previous | Previous delivery date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| archive | Is the inbox archived? | boolean | NO | | 0 | |
|
||||||
|
| shared | Is it a shared inbox? | boolean | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | url |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,18 +1,40 @@
|
||||||
Table intro
|
Table intro
|
||||||
===========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|------------|------------------|------------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | | int(10) unsigned | NO | | 0 | |
|
------
|
||||||
| fid | | int(11) | NO | | 0 | |
|
|
||||||
| contact-id | | int(11) | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| knowyou | | tinyint(1) | NO | | 0 | |
|
| ---------- | ------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| duplex | | tinyint(1) | NO | | 0 | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| note | | text | NO | | NULL | |
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
| hash | | varchar(255) | NO | | | |
|
| fid | | int unsigned | YES | | NULL | |
|
||||||
| datetime | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| contact-id | | int unsigned | NO | | 0 | |
|
||||||
| blocked | | tinyint(1) | NO | | 1 | |
|
| knowyou | | boolean | NO | | 0 | |
|
||||||
| ignore | | tinyint(1) | NO | | 0 | |
|
| duplex | | boolean | NO | | 0 | |
|
||||||
|
| note | | text | YES | | NULL | |
|
||||||
|
| hash | | varchar(255) | NO | | | |
|
||||||
|
| datetime | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| blocked | | boolean | NO | | 1 | |
|
||||||
|
| ignore | | boolean | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ---------- | ---------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| contact-id | contact-id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| contact-id | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
25
doc/database/db_item-uri.md
Normal file
25
doc/database/db_item-uri.md
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
Table item-uri
|
||||||
|
===========
|
||||||
|
|
||||||
|
URI and GUID for items
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ------------------------------- | -------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uri | URI of an item | varbinary(255) | NO | | NULL | |
|
||||||
|
| guid | A unique identifier for an item | varbinary(255) | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ----------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uri | UNIQUE, uri |
|
||||||
|
| guid | guid |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,72 +0,0 @@
|
||||||
Table item
|
|
||||||
==========
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
|
||||||
| guid | A unique identifier for this item | varchar(255) | NO | MUL | | |
|
|
||||||
| uri | | varchar(255) | NO | MUL | | |
|
|
||||||
| uid | user.id which owns this copy of the item | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
| contact-id | contact.id | int(11) | NO | MUL | 0 | |
|
|
||||||
| gcontact-id | ID of the global contact | int(11) | NO | MUL | 0 | |
|
|
||||||
| type | | varchar(255) | NO | | | |
|
|
||||||
| wall | This item was posted to the wall of uid | tinyint(1) | NO | MUL | 0 | |
|
|
||||||
| gravity | | tinyint(1) | NO | | 0 | |
|
|
||||||
| parent | item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
| parent-uri | uri of the parent to this item | varchar(255) | NO | MUL | | |
|
|
||||||
| extid | | varchar(255 | NO | MUL | | |
|
|
||||||
| thr-parent | If the parent of this item is not the top-level item in the conversation, the uri of the immediate parent; otherwise set to parent-uri | varchar(255) | NO | | | |
|
|
||||||
| created | Creation timestamp. | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| edited | Date of last edit (default is created) | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| commented | Date of last comment/reply to this item | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| received | datetime | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| changed | Date that something in the conversation changed, indicating clients should fetch the conversation again | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| owner-name | Name of the owner of this item | varchar(255) | NO | | | |
|
|
||||||
| owner-link | Link to the profile page of the owner of this item | varchar(255) | NO | | | |
|
|
||||||
| owner-avatar | Link to the avatar picture of the owner of this item | varchar(255) | NO | | | |
|
|
||||||
| owner-id | Link to the contact table with uid=0 of the owner of this item | int(11) | NO | MUL | 0 | |
|
|
||||||
| author-name | Name of the author of this item | varchar(255) | NO | | | |
|
|
||||||
| author-link | Link to the profile page of the author of this item | varchar(255) | NO | | | |
|
|
||||||
| author-avatar | Link to the avatar picture of the author of this item | varchar(255) | NO | | | |
|
|
||||||
| author-id | Link to the contact table with uid=0 of the author of this item | int(11) | NO | MUL | 0 | |
|
|
||||||
| title | item title | varchar(255) | NO | | | |
|
|
||||||
| body | item body content | mediumtext | NO | | NULL | |
|
|
||||||
| app | application which generated this item | varchar(255) | NO | | | |
|
|
||||||
| verb | ActivityStreams verb | varchar(255) | NO | | | |
|
|
||||||
| object-type | ActivityStreams object type | varchar(255) | NO | | | |
|
|
||||||
| object | JSON encoded object structure unless it is an implied object (normal post) | text | NO | | NULL | |
|
|
||||||
| target-type | ActivityStreams target type if applicable (URI) | varchar(255) | NO | | | |
|
|
||||||
| target | JSON encoded target structure if used | text | NO | | NULL | |
|
|
||||||
| postopts | External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery | text | NO | | NULL | |
|
|
||||||
| plink | permalink or URL toa displayable copy of the message at its source | varchar(255) | NO | | | |
|
|
||||||
| resource-id | Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type | varchar(255) | NO | MUL | | |
|
|
||||||
| event-id | Used to link to the event.id | int(11) | NO | | 0 | |
|
|
||||||
| tag | | mediumtext | NO | | NULL | |
|
|
||||||
| attach | JSON structure representing attachments to this item | mediumtext | NO | | NULL | |
|
|
||||||
| inform | | mediumtext | NO | | NULL | |
|
|
||||||
| file | | mediumtext | NO | | NULL | |
|
|
||||||
| location | text location where this item originated | varchar(255) | NO | | | |
|
|
||||||
| coord | longitude/latitude pair representing location where this item originated | varchar(255) | NO | | | |
|
|
||||||
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | NO | | NULL | |
|
|
||||||
| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | |
|
|
||||||
| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | |
|
|
||||||
| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | |
|
|
||||||
| private | distribution is restricted | tinyint(1) | NO | | 0 | |
|
|
||||||
| pubmail | | tinyint(1) | NO | | 0 | |
|
|
||||||
| moderated | | tinyint(1) | NO | | 0 | |
|
|
||||||
| visible | | tinyint(1) | NO | | 0 | |
|
|
||||||
| spam | | tinyint(1) | NO | | 0 | |
|
|
||||||
| starred | item has been favourited | tinyint(1) | NO | | 0 | |
|
|
||||||
| bookmark | item has been bookmarked | tinyint(1) | NO | | 0 | |
|
|
||||||
| unseen | item has not been seen | tinyint(1) | NO | | 1 | |
|
|
||||||
| deleted | item has been deleted | tinyint(1) | NO | MUL | 0 | |
|
|
||||||
| origin | item originated at this site | tinyint(1) | NO | | 0 | |
|
|
||||||
| forum_mode | | tinyint(1) | NO | | 0 | |
|
|
||||||
| last-child | | tinyint(1) unsigned | NO | | 1 | |
|
|
||||||
| mention | The owner of this item was mentioned in it | tinyint(1) | NO | | 0 | |
|
|
||||||
| network | Network from where the item comes from | varchar(32) | NO | | | |
|
|
||||||
| rendered-hash | | varchar(32) | NO | | | |
|
|
||||||
| rendered-html | item.body converted to html | mediumtext | NO | | NULL | |
|
|
||||||
| global | | tinyint(1) | NO | | 0 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
|
@ -1,11 +1,26 @@
|
||||||
Table locks
|
Table locks
|
||||||
===========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|---------|------------------|------------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| name | | varchar(128) | NO | | | |
|
------
|
||||||
| locked | | tinyint(1) | NO | | 0 | |
|
|
||||||
| pid | Process ID | int(10) unsigned | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------- | ---------------------------- | ------------ | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| name | | varchar(128) | NO | | | |
|
||||||
|
| locked | | boolean | NO | | 0 | |
|
||||||
|
| pid | Process ID | int unsigned | NO | | 0 | |
|
||||||
|
| expires | datetime of cache expiration | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------ | ------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| name_expires | name, expires |
|
||||||
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,24 +1,61 @@
|
||||||
Table mail
|
Table mail
|
||||||
==========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
private messages
|
||||||
| ---------- | -------------------------------------------- | ---------------- | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id of the owner of this data | int(10) unsigned | NO | MUL | 0 | |
|
------
|
||||||
| guid | A unique identifier for this private message | int(10) unsigned | NO | MUL | | |
|
|
||||||
| from-name | name of the sender | varchar(255) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| from-photo | contact photo link of the sender | varchar(255) | NO | | | |
|
| ------------- | -------------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| from-url | profile linke of the sender | varchar(255) | NO | | | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| contact-id | contact.id | varchar(255) | NO | | | |
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
| convid | conv.id | int(11) unsigned | NO | MUL | 0 | |
|
| guid | A unique identifier for this private message | varchar(255) | NO | | | |
|
||||||
| title | | varchar(255) | NO | | | |
|
| from-name | name of the sender | varchar(255) | NO | | | |
|
||||||
| body | | mediumtext | NO | | NULL | |
|
| from-photo | contact photo link of the sender | varchar(255) | NO | | | |
|
||||||
| seen | if message visited it is 1 | varchar(255) | NO | | 0 | |
|
| from-url | profile linke of the sender | varchar(255) | NO | | | |
|
||||||
| reply | | varchar(255) | NO | MUL | 0 | |
|
| contact-id | contact.id | varchar(255) | YES | | NULL | |
|
||||||
| replied | | varchar(255) | NO | | 0 | |
|
| author-id | Link to the contact table with uid=0 of the author of the mail | int unsigned | YES | | NULL | |
|
||||||
| unknown | if sender not in the contact table this is 1 | varchar(255) | NO | | 0 | |
|
| convid | conv.id | int unsigned | YES | | NULL | |
|
||||||
| uri | | varchar(255) | NO | MUL | | |
|
| title | | varchar(255) | NO | | | |
|
||||||
| parent-uri | | varchar(255) | NO | MUL | | |
|
| body | | mediumtext | YES | | NULL | |
|
||||||
| created | creation time of the private message | datetime | NO | | 0001-01-01 00:00:00 | |
|
| seen | if message visited it is 1 | boolean | NO | | 0 | |
|
||||||
|
| reply | | boolean | NO | | 0 | |
|
||||||
|
| replied | | boolean | NO | | 0 | |
|
||||||
|
| unknown | if sender not in the contact table this is 1 | boolean | NO | | 0 | |
|
||||||
|
| uri | | varchar(255) | NO | | | |
|
||||||
|
| uri-id | Item-uri id of the related mail | int unsigned | YES | | NULL | |
|
||||||
|
| parent-uri | | varchar(255) | NO | | | |
|
||||||
|
| parent-uri-id | Item-uri id of the parent of the related mail | int unsigned | YES | | NULL | |
|
||||||
|
| thr-parent | | varchar(255) | YES | | NULL | |
|
||||||
|
| thr-parent-id | Id of the item-uri table that contains the thread parent uri | int unsigned | YES | | NULL | |
|
||||||
|
| created | creation time of the private message | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------- | -------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_seen | uid, seen |
|
||||||
|
| convid | convid |
|
||||||
|
| uri | uri(64) |
|
||||||
|
| parent-uri | parent-uri(64) |
|
||||||
|
| contactid | contact-id(32) |
|
||||||
|
| author-id | author-id |
|
||||||
|
| uri-id | uri-id |
|
||||||
|
| parent-uri-id | parent-uri-id |
|
||||||
|
| thr-parent-id | thr-parent-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| author-id | [contact](help/database/db_contact) | id |
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| parent-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| thr-parent-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,20 +1,40 @@
|
||||||
Table mailacct
|
Table mailacct
|
||||||
==============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
Mail account data for fetching mails
|
||||||
|--------------|------------------|--------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | | int(11) | NO | | 0 | |
|
------
|
||||||
| server | | varchar(255) | NO | | | |
|
|
||||||
| port | | int(11) | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| ssltype | | varchar(16) | NO | | | |
|
| ------------ | ------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| mailbox | | varchar(255) | NO | | | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| user | | varchar(255) | NO | | | |
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
| pass | | text | NO | | NULL | |
|
| server | | varchar(255) | NO | | | |
|
||||||
| reply_to | | varchar(255) | NO | | | |
|
| port | | smallint unsigned | NO | | 0 | |
|
||||||
| action | | int(11) | NO | | 0 | |
|
| ssltype | | varchar(16) | NO | | | |
|
||||||
| movetofolder | | varchar(255) | NO | | | |
|
| mailbox | | varchar(255) | NO | | | |
|
||||||
| pubmail | | tinyint(1) | NO | | 0 | |
|
| user | | varchar(255) | NO | | | |
|
||||||
| last_check | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| pass | | text | YES | | NULL | |
|
||||||
|
| reply_to | | varchar(255) | NO | | | |
|
||||||
|
| action | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| movetofolder | | varchar(255) | NO | | | |
|
||||||
|
| pubmail | | boolean | NO | | 0 | |
|
||||||
|
| last_check | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,10 +1,32 @@
|
||||||
Table manage
|
Table manage
|
||||||
============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
table of accounts that can manage each other
|
||||||
| ----- | ------------- | ------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id | int(11) | NO | MUL | 0 | |
|
------
|
||||||
| mid | | int(11) | NO | | 0 | |
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ------------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| mid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ---------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_mid | UNIQUE, uid, mid |
|
||||||
|
| mid | mid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| mid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
45
doc/database/db_notification.md
Normal file
45
doc/database/db_notification.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
Table notification
|
||||||
|
===========
|
||||||
|
|
||||||
|
notifications
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------------- | ------------------------------------------------------------------------------ | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | Owner User id | mediumint unsigned | YES | | NULL | |
|
||||||
|
| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | YES | | NULL | |
|
||||||
|
| type | | tinyint unsigned | YES | | NULL | |
|
||||||
|
| actor-id | Link to the contact table with uid=0 of the actor that caused the notification | int unsigned | YES | | NULL | |
|
||||||
|
| target-uri-id | Item-uri id of the related post | int unsigned | YES | | NULL | |
|
||||||
|
| parent-uri-id | Item-uri id of the parent of the related post | int unsigned | YES | | NULL | |
|
||||||
|
| created | | datetime | YES | | NULL | |
|
||||||
|
| seen | | boolean | YES | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ----------------------------------- | ----------------------------------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_vid_type_actor-id_target-uri-id | UNIQUE, uid, vid, type, actor-id, target-uri-id |
|
||||||
|
| vid | vid |
|
||||||
|
| actor-id | actor-id |
|
||||||
|
| target-uri-id | target-uri-id |
|
||||||
|
| parent-uri-id | parent-uri-id |
|
||||||
|
| seen_uid | seen, uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| vid | [verb](help/database/db_verb) | id |
|
||||||
|
| actor-id | [contact](help/database/db_contact) | id |
|
||||||
|
| target-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| parent-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,12 +1,37 @@
|
||||||
Table notify-threads
|
Table notify-threads
|
||||||
====================
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|--------------------|------------------|------------------|------|-----|---------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| notify-id | | int(11) | NO | | 0 | |
|
------
|
||||||
| master-parent-item | | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
| parent-item | | int(10) unsigned | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| receiver-uid | | int(11) | NO | MUL | 0 | |
|
| -------------------- | --------------------------------------------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| notify-id | | int unsigned | NO | | 0 | |
|
||||||
|
| master-parent-item | Deprecated | int unsigned | YES | | NULL | |
|
||||||
|
| master-parent-uri-id | Item-uri id of the parent of the related post | int unsigned | YES | | NULL | |
|
||||||
|
| parent-item | | int unsigned | NO | | 0 | |
|
||||||
|
| receiver-uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------------------- | -------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| master-parent-uri-id | master-parent-uri-id |
|
||||||
|
| receiver-uid | receiver-uid |
|
||||||
|
| notify-id | notify-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| notify-id | [notify](help/database/db_notify) | id |
|
||||||
|
| master-parent-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| receiver-uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,24 +1,51 @@
|
||||||
Table notify
|
Table notify
|
||||||
============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
notifications
|
||||||
| ---------- | --------------------------------- | ------------ | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| hash | | varchar(64) | NO | | | |
|
------
|
||||||
| type | | int(11) | NO | | 0 | |
|
|
||||||
| name | | varchar(255) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| url | | varchar(255) | NO | | | |
|
| ------------- | --------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| photo | | varchar(255) | NO | | | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
| type | | smallint unsigned | NO | | 0 | |
|
||||||
| msg | | mediumtext | YES | | NULL | |
|
| name | | varchar(255) | NO | | | |
|
||||||
| uid | user.id of the owner of this data | int(11) | NO | MUL | 0 | |
|
| url | | varchar(255) | NO | | | |
|
||||||
| link | | varchar(255) | NO | | | |
|
| photo | | varchar(255) | NO | | | |
|
||||||
| iid | item.id | int(11) | NO | | 0 | |
|
| date | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| parent | | int(11) | NO | | 0 | |
|
| msg | | mediumtext | YES | | NULL | |
|
||||||
| seen | | tinyint(1) | NO | | 0 | |
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
| verb | | varchar(255) | NO | | | |
|
| link | | varchar(255) | NO | | | |
|
||||||
| otype | | varchar(16) | NO | | | |
|
| iid | | int unsigned | YES | | NULL | |
|
||||||
| name_cache | Cached bbcode parsing of name | tinytext | YES | | NULL | |
|
| parent | | int unsigned | YES | | NULL | |
|
||||||
| msg_cache | Cached bbcode parsing of msg | mediumtext | YES | | NULL | |
|
| uri-id | Item-uri id of the related post | int unsigned | YES | | NULL | |
|
||||||
|
| parent-uri-id | Item-uri id of the parent of the related post | int unsigned | YES | | NULL | |
|
||||||
|
| seen | | boolean | NO | | 0 | |
|
||||||
|
| verb | | varchar(100) | NO | | | |
|
||||||
|
| otype | | varchar(10) | NO | | | |
|
||||||
|
| name_cache | Cached bbcode parsing of name | tinytext | YES | | NULL | |
|
||||||
|
| msg_cache | Cached bbcode parsing of msg | mediumtext | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------- | -------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| seen_uid_date | seen, uid, date |
|
||||||
|
| uid_date | uid, date |
|
||||||
|
| uid_type_link | uid, type, link(190) |
|
||||||
|
| uri-id | uri-id |
|
||||||
|
| parent-uri-id | parent-uri-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| parent-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,11 +1,25 @@
|
||||||
Table oembed
|
Table oembed
|
||||||
============
|
===========
|
||||||
|
|
||||||
|
cache for OEmbed queries
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| -------- | ------------------------------ | ------------------ | ---- | --- | ------------------- | ----- |
|
||||||
|
| url | page url | varbinary(255) | NO | PRI | NULL | |
|
||||||
|
| maxwidth | Maximum width passed to Oembed | mediumint unsigned | NO | PRI | NULL | |
|
||||||
|
| content | OEmbed data of the page | mediumtext | YES | | NULL | |
|
||||||
|
| created | datetime of creation | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------------- |
|
||||||
|
| PRIMARY | url, maxwidth |
|
||||||
|
| created | created |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
| ------------ | ---------------------------------- | ------------ | ---- | --- | ------------------- | ----- |
|
|
||||||
| url | page url | varchar(255) | NO | PRI | NULL | |
|
|
||||||
| maxwidth | Maximum width passed to Oembed | int(11) | NO | PRI | 0 | |
|
|
||||||
| content | OEmbed data of the page | text | NO | | NULL | |
|
|
||||||
| created | datetime of creation | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
33
doc/database/db_openwebauth-token.md
Normal file
33
doc/database/db_openwebauth-token.md
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
Table openwebauth-token
|
||||||
|
===========
|
||||||
|
|
||||||
|
Store OpenWebAuth token to verify contacts
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------- | -------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | User id - currently unused | mediumint unsigned | NO | | 0 | |
|
||||||
|
| type | Verify type | varchar(32) | NO | | | |
|
||||||
|
| token | A generated token | varchar(255) | NO | | | |
|
||||||
|
| meta | | varchar(255) | NO | | | |
|
||||||
|
| created | datetime of creation | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,12 +1,29 @@
|
||||||
Table parsed_url
|
Table parsed_url
|
||||||
================
|
===========
|
||||||
|
|
||||||
|
cache for 'parse_url' queries
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| -------- | --------------------------------- | ---------- | ---- | --- | ------------------- | ----- |
|
||||||
|
| url_hash | page url hash | binary(64) | NO | PRI | NULL | |
|
||||||
|
| guessing | is the 'guessing' mode active? | boolean | NO | PRI | 0 | |
|
||||||
|
| oembed | is the data the result of oembed? | boolean | NO | PRI | 0 | |
|
||||||
|
| url | page url | text | NO | | NULL | |
|
||||||
|
| content | page data | mediumtext | YES | | NULL | |
|
||||||
|
| created | datetime of creation | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| expires | datetime of expiration | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | -------------------------- |
|
||||||
|
| PRIMARY | url_hash, guessing, oembed |
|
||||||
|
| created | created |
|
||||||
|
| expires | expires |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
| ------------ | ---------------------------------- | ------------ | ---- | --- | ------------------- | ----- |
|
|
||||||
| url | page url | varchar(255) | NO | PRI | NULL | |
|
|
||||||
| guessing | is the "guessing" mode active? | tinyint(1) | NO | PRI | 0 | |
|
|
||||||
| oembed | is the data the result of oembed? | tinyint(1) | NO | PRI | 0 | |
|
|
||||||
| content | page data | text | NO | | NULL | |
|
|
||||||
| created | datetime of creation | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,12 +1,32 @@
|
||||||
Table pconfic
|
Table pconfig
|
||||||
=============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
personal (per user) configuration storage
|
||||||
|-------|-------------|------------|------|-----|---------|----------------|
|
|
||||||
| id | | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | | int(11) | NO | MUL | 0 | |
|
------
|
||||||
| cat | | char(255) | NO | | | |
|
|
||||||
| k | | char(255) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| v | | mediumtext | NO | | NULL | |
|
| ----- | ----------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | Primary key | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| cat | Category | varchar(50) | NO | | | |
|
||||||
|
| k | Key | varchar(100) | NO | | | |
|
||||||
|
| v | Value | mediumtext | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------- | ------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_cat_k | UNIQUE, uid, cat, k |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
33
doc/database/db_permissionset.md
Normal file
33
doc/database/db_permissionset.md
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
Table permissionset
|
||||||
|
===========
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------- | ------------------------------------------------------ | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | Owner id of this permission set | mediumint unsigned | NO | | 0 | |
|
||||||
|
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | |
|
||||||
|
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
|
||||||
|
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
|
||||||
|
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ----------------------------------------- | ------------------------------------------------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_allow_cid_allow_gid_deny_cid_deny_gid | uid, allow_cid(50), allow_gid(30), deny_cid(50), deny_gid(30) |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,29 +1,60 @@
|
||||||
Table photo
|
Table photo
|
||||||
===========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
photo storage
|
||||||
| ----------- | ------------------------------------------------------ | ---------------- | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id of the owner of this data | int(10) unsigned | NO | MUL | 0 | |
|
------
|
||||||
| contact-id | contact.id | int(10) unsigned | NO | | 0 | |
|
|
||||||
| guid | A unique identifier for this photo | varchar(64) | NO | MUL | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| resource-id | | varchar(255) | NO | MUL | | |
|
| ------------- | ------------------------------------------------------ | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| created | creation date | datetime | NO | | 0001-01-01 00:00:00 | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| edited | last edited date | datetime | NO | | 0001-01-01 00:00:00 | |
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
| title | | varchar(255) | NO | | | |
|
| contact-id | contact.id | int unsigned | NO | | 0 | |
|
||||||
| desc | | text | NO | | NULL | |
|
| guid | A unique identifier for this photo | char(16) | NO | | | |
|
||||||
| album | The name of the album to which the photo belongs | varchar(255) | NO | | | |
|
| resource-id | | char(32) | NO | | | |
|
||||||
| filename | | varchar(255) | NO | | | |
|
| hash | hash value of the photo | char(32) | YES | | NULL | |
|
||||||
| type | image type | varchar(128) | NO | | image/jpeg | |
|
| created | creation date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| height | | smallint(6) | NO | | 0 | |
|
| edited | last edited date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
| width | | smallint(6) | NO | | 0 | |
|
| title | | varchar(255) | NO | | | |
|
||||||
| size | | int(10) unsigned | NO | | 0 | |
|
| desc | | text | YES | | NULL | |
|
||||||
| data | | mediumblob | NO | | NULL | |
|
| album | The name of the album to which the photo belongs | varchar(255) | NO | | | |
|
||||||
| scale | | tinyint(3) | NO | | 0 | |
|
| filename | | varchar(255) | NO | | | |
|
||||||
| profile | | tinyint(1) | NO | | 0 | |
|
| type | | varchar(30) | NO | | image/jpeg | |
|
||||||
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | NO | | NULL | |
|
| height | | smallint unsigned | NO | | 0 | |
|
||||||
| allow_gid | Access Control - list of allowed groups | mediumtext | NO | | NULL | |
|
| width | | smallint unsigned | NO | | 0 | |
|
||||||
| deny_cid | Access Control - list of denied contact.id | mediumtext | NO | | NULL | |
|
| datasize | | int unsigned | NO | | 0 | |
|
||||||
| deny_gid | Access Control - list of denied groups | mediumtext | NO | | NULL | |
|
| data | | mediumblob | NO | | NULL | |
|
||||||
|
| scale | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| profile | | boolean | NO | | 0 | |
|
||||||
|
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | |
|
||||||
|
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
|
||||||
|
| deny_cid | Access Control - list of denied contact.id | mediumtext | YES | | NULL | |
|
||||||
|
| deny_gid | Access Control - list of denied groups | mediumtext | YES | | NULL | |
|
||||||
|
| accessible | Make photo publicly accessible, ignoring permissions | boolean | NO | | 0 | |
|
||||||
|
| backend-class | Storage backend class | tinytext | YES | | NULL | |
|
||||||
|
| backend-ref | Storage backend data reference | text | YES | | NULL | |
|
||||||
|
| updated | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ----------------------------- | ------------------------------------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| contactid | contact-id |
|
||||||
|
| uid_contactid | uid, contact-id |
|
||||||
|
| uid_profile | uid, profile |
|
||||||
|
| uid_album_scale_created | uid, album(32), scale, created |
|
||||||
|
| uid_album_resource-id_created | uid, album(32), resource-id, created |
|
||||||
|
| resource-id | resource-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| contact-id | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
Table poll
|
|
||||||
==========
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|-------|-------------|------------|------|-----|---------|----------------|
|
|
||||||
| id | | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| uid | | int(11) | NO | MUL | 0 | |
|
|
||||||
| q0 | | mediumtext | NO | | NULL | |
|
|
||||||
| q1 | | mediumtext | NO | | NULL | |
|
|
||||||
| q2 | | mediumtext | NO | | NULL | |
|
|
||||||
| q3 | | mediumtext | NO | | NULL | |
|
|
||||||
| q4 | | mediumtext | NO | | NULL | |
|
|
||||||
| q5 | | mediumtext | NO | | NULL | |
|
|
||||||
| q6 | | mediumtext | NO | | NULL | |
|
|
||||||
| q7 | | mediumtext | NO | | NULL | |
|
|
||||||
| q8 | | mediumtext | NO | | NULL | |
|
|
||||||
| q9 | | mediumtext | NO | | NULL | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
|
@ -1,10 +0,0 @@
|
||||||
Table poll_result
|
|
||||||
=================
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|---------|------------------|---------|------|-----|---------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| poll_id | | int(11) | NO | MUL | 0 | |
|
|
||||||
| choice | | int(11) | NO | MUL | 0 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
34
doc/database/db_post-category.md
Normal file
34
doc/database/db_post-category.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
Table post-category
|
||||||
|
===========
|
||||||
|
|
||||||
|
post relation to categories
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------ | --------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| uid | User id | mediumint unsigned | NO | PRI | 0 | |
|
||||||
|
| type | | tinyint unsigned | NO | PRI | 0 | |
|
||||||
|
| tid | | int unsigned | NO | PRI | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ---------------------- |
|
||||||
|
| PRIMARY | uri-id, uid, type, tid |
|
||||||
|
| uri-id | tid |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| tid | [tag](help/database/db_tag) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
46
doc/database/db_post-content.md
Normal file
46
doc/database/db_post-content.md
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
Table post-content
|
||||||
|
===========
|
||||||
|
|
||||||
|
Content for all posts
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| title | item title | varchar(255) | NO | | | |
|
||||||
|
| content-warning | | varchar(255) | NO | | | |
|
||||||
|
| body | item body content | mediumtext | YES | | NULL | |
|
||||||
|
| raw-body | Body without embedded media links | mediumtext | YES | | NULL | |
|
||||||
|
| location | text location where this item originated | varchar(255) | NO | | | |
|
||||||
|
| coord | longitude/latitude pair representing location where this item originated | varchar(255) | NO | | | |
|
||||||
|
| language | Language information about this post | text | YES | | NULL | |
|
||||||
|
| app | application which generated this item | varchar(255) | NO | | | |
|
||||||
|
| rendered-hash | | varchar(32) | NO | | | |
|
||||||
|
| rendered-html | item.body converted to html | mediumtext | YES | | NULL | |
|
||||||
|
| object-type | ActivityStreams object type | varchar(100) | NO | | | |
|
||||||
|
| object | JSON encoded object structure unless it is an implied object (normal post) | text | YES | | NULL | |
|
||||||
|
| target-type | ActivityStreams target type if applicable (URI) | varchar(100) | NO | | | |
|
||||||
|
| target | JSON encoded target structure if used | text | YES | | NULL | |
|
||||||
|
| resource-id | Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type | varchar(32) | NO | | | |
|
||||||
|
| plink | permalink or URL to a displayable copy of the message at its source | varchar(255) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------------------------- | -------------------------------------- |
|
||||||
|
| PRIMARY | uri-id |
|
||||||
|
| plink | plink(191) |
|
||||||
|
| resource-id | resource-id |
|
||||||
|
| title-content-warning-body | FULLTEXT, title, content-warning, body |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
37
doc/database/db_post-delivery-data.md
Normal file
37
doc/database/db_post-delivery-data.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
Table post-delivery-data
|
||||||
|
===========
|
||||||
|
|
||||||
|
Delivery data for items
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---- | --- | ------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| postopts | External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery | text | YES | | NULL | |
|
||||||
|
| inform | Additional receivers of the linked item | mediumtext | YES | | NULL | |
|
||||||
|
| queue_count | Initial number of delivery recipients, used as item.delivery_queue_count | mediumint | NO | | 0 | |
|
||||||
|
| queue_done | Number of successful deliveries, used as item.delivery_queue_done | mediumint | NO | | 0 | |
|
||||||
|
| queue_failed | Number of unsuccessful deliveries, used as item.delivery_queue_failed | mediumint | NO | | 0 | |
|
||||||
|
| activitypub | Number of successful deliveries via ActivityPub | mediumint | NO | | 0 | |
|
||||||
|
| dfrn | Number of successful deliveries via DFRN | mediumint | NO | | 0 | |
|
||||||
|
| legacy_dfrn | Number of successful deliveries via legacy DFRN | mediumint | NO | | 0 | |
|
||||||
|
| diaspora | Number of successful deliveries via Diaspora | mediumint | NO | | 0 | |
|
||||||
|
| ostatus | Number of successful deliveries via OStatus | mediumint | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | uri-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
46
doc/database/db_post-media.md
Normal file
46
doc/database/db_post-media.md
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
Table post-media
|
||||||
|
===========
|
||||||
|
|
||||||
|
Attached media
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------------- | --------------------------------------------------------- | ----------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | | NULL | |
|
||||||
|
| url | Media URL | varbinary(511) | NO | | NULL | |
|
||||||
|
| type | Media type | tinyint unsigned | NO | | 0 | |
|
||||||
|
| mimetype | | varchar(60) | YES | | NULL | |
|
||||||
|
| height | Height of the media | smallint unsigned | YES | | NULL | |
|
||||||
|
| width | Width of the media | smallint unsigned | YES | | NULL | |
|
||||||
|
| size | Media size | int unsigned | YES | | NULL | |
|
||||||
|
| preview | Preview URL | varbinary(255) | YES | | NULL | |
|
||||||
|
| preview-height | Height of the preview picture | smallint unsigned | YES | | NULL | |
|
||||||
|
| preview-width | Width of the preview picture | smallint unsigned | YES | | NULL | |
|
||||||
|
| description | | text | YES | | NULL | |
|
||||||
|
| name | Name of the media | varchar(255) | YES | | NULL | |
|
||||||
|
| author-url | URL of the author of the media | varbinary(255) | YES | | NULL | |
|
||||||
|
| author-name | Name of the author of the media | varchar(255) | YES | | NULL | |
|
||||||
|
| author-image | Image of the author of the media | varbinary(255) | YES | | NULL | |
|
||||||
|
| publisher-url | URL of the publisher of the media | varbinary(255) | YES | | NULL | |
|
||||||
|
| publisher-name | Name of the publisher of the media | varchar(255) | YES | | NULL | |
|
||||||
|
| publisher-image | Image of the publisher of the media | varbinary(255) | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ---------- | ------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uri-id-url | UNIQUE, uri-id, url |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
34
doc/database/db_post-tag.md
Normal file
34
doc/database/db_post-tag.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
Table post-tag
|
||||||
|
===========
|
||||||
|
|
||||||
|
post relation to tags
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------ | --------------------------------------------------------- | ---------------- | ---- | --- | ------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| type | | tinyint unsigned | NO | PRI | 0 | |
|
||||||
|
| tid | | int unsigned | NO | PRI | 0 | |
|
||||||
|
| cid | Contact id of the mentioned public contact | int unsigned | NO | PRI | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ---------------------- |
|
||||||
|
| PRIMARY | uri-id, type, tid, cid |
|
||||||
|
| tid | tid |
|
||||||
|
| cid | cid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| tid | [tag](help/database/db_tag) | id |
|
||||||
|
| cid | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
70
doc/database/db_post-thread-user.md
Normal file
70
doc/database/db_post-thread-user.md
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
Table post-thread-user
|
||||||
|
===========
|
||||||
|
|
||||||
|
Thread related data per user
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------------ | ------------------------------------------------------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| owner-id | Item owner | int unsigned | NO | | 0 | |
|
||||||
|
| author-id | Item author | int unsigned | NO | | 0 | |
|
||||||
|
| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | |
|
||||||
|
| network | | char(4) | NO | | | |
|
||||||
|
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| received | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| changed | Date that something in the conversation changed, indicating clients should fetch the conversation again | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| commented | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| uid | Owner id which owns this copy of the item | mediumint unsigned | NO | PRI | 0 | |
|
||||||
|
| pinned | The thread is pinned on the profile page | boolean | NO | | 0 | |
|
||||||
|
| starred | | boolean | NO | | 0 | |
|
||||||
|
| ignored | Ignore updates for this thread | boolean | NO | | 0 | |
|
||||||
|
| wall | This item was posted to the wall of uid | boolean | NO | | 0 | |
|
||||||
|
| mention | | boolean | NO | | 0 | |
|
||||||
|
| pubmail | | boolean | NO | | 0 | |
|
||||||
|
| forum_mode | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| contact-id | contact.id | int unsigned | NO | | 0 | |
|
||||||
|
| unseen | post has not been seen | boolean | NO | | 1 | |
|
||||||
|
| hidden | Marker to hide the post from the user | boolean | NO | | 0 | |
|
||||||
|
| origin | item originated at this site | boolean | NO | | 0 | |
|
||||||
|
| psid | ID of the permission set of this post | int unsigned | YES | | NULL | |
|
||||||
|
| post-user-id | Id of the post-user table | int unsigned | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------- | -------------- |
|
||||||
|
| PRIMARY | uid, uri-id |
|
||||||
|
| uri-id | uri-id |
|
||||||
|
| owner-id | owner-id |
|
||||||
|
| author-id | author-id |
|
||||||
|
| causer-id | causer-id |
|
||||||
|
| uid | uid |
|
||||||
|
| contact-id | contact-id |
|
||||||
|
| psid | psid |
|
||||||
|
| post-user-id | post-user-id |
|
||||||
|
| commented | commented |
|
||||||
|
| uid_received | uid, received |
|
||||||
|
| uid_pinned | uid, pinned |
|
||||||
|
| uid_commented | uid, commented |
|
||||||
|
| uid_starred | uid, starred |
|
||||||
|
| uid_mention | uid, mention |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| owner-id | [contact](help/database/db_contact) | id |
|
||||||
|
| author-id | [contact](help/database/db_contact) | id |
|
||||||
|
| causer-id | [contact](help/database/db_contact) | id |
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| contact-id | [contact](help/database/db_contact) | id |
|
||||||
|
| psid | [permissionset](help/database/db_permissionset) | id |
|
||||||
|
| post-user-id | [post-user](help/database/db_post-user) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
43
doc/database/db_post-thread.md
Normal file
43
doc/database/db_post-thread.md
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
Table post-thread
|
||||||
|
===========
|
||||||
|
|
||||||
|
Thread related data
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------- | ------------------------------------------------------------------------------------------------------- | ------------ | ---- | --- | ------------------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| owner-id | Item owner | int unsigned | NO | | 0 | |
|
||||||
|
| author-id | Item author | int unsigned | NO | | 0 | |
|
||||||
|
| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | |
|
||||||
|
| network | | char(4) | NO | | | |
|
||||||
|
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| received | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| changed | Date that something in the conversation changed, indicating clients should fetch the conversation again | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| commented | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------- | --------- |
|
||||||
|
| PRIMARY | uri-id |
|
||||||
|
| owner-id | owner-id |
|
||||||
|
| author-id | author-id |
|
||||||
|
| causer-id | causer-id |
|
||||||
|
| received | received |
|
||||||
|
| commented | commented |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| owner-id | [contact](help/database/db_contact) | id |
|
||||||
|
| author-id | [contact](help/database/db_contact) | id |
|
||||||
|
| causer-id | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
31
doc/database/db_post-user-notification.md
Normal file
31
doc/database/db_post-user-notification.md
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
Table post-user-notification
|
||||||
|
===========
|
||||||
|
|
||||||
|
User post notifications
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----------------- | --------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| uid | Owner id which owns this copy of the item | mediumint unsigned | NO | PRI | NULL | |
|
||||||
|
| notification-type | | tinyint unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ----------- |
|
||||||
|
| PRIMARY | uid, uri-id |
|
||||||
|
| uri-id | uri-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
86
doc/database/db_post-user.md
Normal file
86
doc/database/db_post-user.md
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
Table post-user
|
||||||
|
===========
|
||||||
|
|
||||||
|
User specific post data
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----------------- | --------------------------------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | | NULL | |
|
||||||
|
| parent-uri-id | Id of the item-uri table that contains the parent uri | int unsigned | YES | | NULL | |
|
||||||
|
| thr-parent-id | Id of the item-uri table that contains the thread parent uri | int unsigned | YES | | NULL | |
|
||||||
|
| external-id | Id of the item-uri table entry that contains the external uri | int unsigned | YES | | NULL | |
|
||||||
|
| created | Creation timestamp. | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| edited | Date of last edit (default is created) | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| received | datetime | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| gravity | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| network | Network from where the item comes from | char(4) | NO | | | |
|
||||||
|
| owner-id | Link to the contact table with uid=0 of the owner of this item | int unsigned | NO | | 0 | |
|
||||||
|
| author-id | Link to the contact table with uid=0 of the author of this item | int unsigned | NO | | 0 | |
|
||||||
|
| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | |
|
||||||
|
| post-type | Post type (personal note, image, article, ...) | tinyint unsigned | NO | | 0 | |
|
||||||
|
| post-reason | Reason why the post arrived at the user | tinyint unsigned | NO | | 0 | |
|
||||||
|
| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | YES | | NULL | |
|
||||||
|
| private | 0=public, 1=private, 2=unlisted | tinyint unsigned | NO | | 0 | |
|
||||||
|
| global | | boolean | NO | | 0 | |
|
||||||
|
| visible | | boolean | NO | | 0 | |
|
||||||
|
| deleted | item has been marked for deletion | boolean | NO | | 0 | |
|
||||||
|
| uid | Owner id which owns this copy of the item | mediumint unsigned | NO | | NULL | |
|
||||||
|
| protocol | Protocol used to deliver the item for this user | tinyint unsigned | YES | | NULL | |
|
||||||
|
| contact-id | contact.id | int unsigned | NO | | 0 | |
|
||||||
|
| event-id | Used to link to the event.id | int unsigned | YES | | NULL | |
|
||||||
|
| unseen | post has not been seen | boolean | NO | | 1 | |
|
||||||
|
| hidden | Marker to hide the post from the user | boolean | NO | | 0 | |
|
||||||
|
| notification-type | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| wall | This item was posted to the wall of uid | boolean | NO | | 0 | |
|
||||||
|
| origin | item originated at this site | boolean | NO | | 0 | |
|
||||||
|
| psid | ID of the permission set of this post | int unsigned | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------------------- | ----------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_uri-id | UNIQUE, uid, uri-id |
|
||||||
|
| uri-id | uri-id |
|
||||||
|
| parent-uri-id | parent-uri-id |
|
||||||
|
| thr-parent-id | thr-parent-id |
|
||||||
|
| external-id | external-id |
|
||||||
|
| owner-id | owner-id |
|
||||||
|
| author-id | author-id |
|
||||||
|
| causer-id | causer-id |
|
||||||
|
| vid | vid |
|
||||||
|
| contact-id | contact-id |
|
||||||
|
| event-id | event-id |
|
||||||
|
| psid | psid |
|
||||||
|
| author-id_uid | author-id, uid |
|
||||||
|
| author-id_received | author-id, received |
|
||||||
|
| parent-uri-id_uid | parent-uri-id, uid |
|
||||||
|
| uid_contactid | uid, contact-id |
|
||||||
|
| uid_unseen_contactid | uid, unseen, contact-id |
|
||||||
|
| uid_unseen | uid, unseen |
|
||||||
|
| uid_hidden_uri-id | uid, hidden, uri-id |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| parent-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| thr-parent-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| external-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| owner-id | [contact](help/database/db_contact) | id |
|
||||||
|
| author-id | [contact](help/database/db_contact) | id |
|
||||||
|
| causer-id | [contact](help/database/db_contact) | id |
|
||||||
|
| vid | [verb](help/database/db_verb) | id |
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| contact-id | [contact](help/database/db_contact) | id |
|
||||||
|
| event-id | [event](help/database/db_event) | id |
|
||||||
|
| psid | [permissionset](help/database/db_permissionset) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
58
doc/database/db_post.md
Normal file
58
doc/database/db_post.md
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
Table post
|
||||||
|
===========
|
||||||
|
|
||||||
|
Structure for all posts
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------------- | --------------------------------------------------------------------------------- | ----------------- | ---- | --- | ------------------- | ----- |
|
||||||
|
| uri-id | Id of the item-uri table entry that contains the item uri | int unsigned | NO | PRI | NULL | |
|
||||||
|
| parent-uri-id | Id of the item-uri table that contains the parent uri | int unsigned | YES | | NULL | |
|
||||||
|
| thr-parent-id | Id of the item-uri table that contains the thread parent uri | int unsigned | YES | | NULL | |
|
||||||
|
| external-id | Id of the item-uri table entry that contains the external uri | int unsigned | YES | | NULL | |
|
||||||
|
| created | Creation timestamp. | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| edited | Date of last edit (default is created) | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| received | datetime | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| gravity | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| network | Network from where the item comes from | char(4) | NO | | | |
|
||||||
|
| owner-id | Link to the contact table with uid=0 of the owner of this item | int unsigned | NO | | 0 | |
|
||||||
|
| author-id | Link to the contact table with uid=0 of the author of this item | int unsigned | NO | | 0 | |
|
||||||
|
| causer-id | Link to the contact table with uid=0 of the contact that caused the item creation | int unsigned | YES | | NULL | |
|
||||||
|
| post-type | Post type (personal note, image, article, ...) | tinyint unsigned | NO | | 0 | |
|
||||||
|
| vid | Id of the verb table entry that contains the activity verbs | smallint unsigned | YES | | NULL | |
|
||||||
|
| private | 0=public, 1=private, 2=unlisted | tinyint unsigned | NO | | 0 | |
|
||||||
|
| global | | boolean | NO | | 0 | |
|
||||||
|
| visible | | boolean | NO | | 0 | |
|
||||||
|
| deleted | item has been marked for deletion | boolean | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------- | ------------- |
|
||||||
|
| PRIMARY | uri-id |
|
||||||
|
| parent-uri-id | parent-uri-id |
|
||||||
|
| thr-parent-id | thr-parent-id |
|
||||||
|
| external-id | external-id |
|
||||||
|
| owner-id | owner-id |
|
||||||
|
| author-id | author-id |
|
||||||
|
| causer-id | causer-id |
|
||||||
|
| vid | vid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| parent-uri-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| thr-parent-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| external-id | [item-uri](help/database/db_item-uri) | id |
|
||||||
|
| owner-id | [contact](help/database/db_contact) | id |
|
||||||
|
| author-id | [contact](help/database/db_contact) | id |
|
||||||
|
| causer-id | [contact](help/database/db_contact) | id |
|
||||||
|
| vid | [verb](help/database/db_verb) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
24
doc/database/db_process.md
Normal file
24
doc/database/db_process.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
Table process
|
||||||
|
===========
|
||||||
|
|
||||||
|
Currently running system processes
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------- | ----------- | ------------- | ---- | --- | ------------------- | ----- |
|
||||||
|
| pid | | int unsigned | NO | PRI | NULL | |
|
||||||
|
| command | | varbinary(32) | NO | | | |
|
||||||
|
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------- |
|
||||||
|
| PRIMARY | pid |
|
||||||
|
| command | command |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,48 +1,70 @@
|
||||||
Table profile
|
Table profile
|
||||||
=============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
user profiles data
|
||||||
|--------------|-----------------------------------------------|--------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id of the owner of this data | int(11) | NO | | 0 | |
|
------
|
||||||
| profile-name | Name of the profile | varchar(255) | NO | | | |
|
|
||||||
| is-default | Mark this profile as default profile | tinyint(1) | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| hide-friends | Hide friend list from viewers of this profile | tinyint(1) | NO | | 0 | |
|
| ------------ | --------------------------------------------- | ------------------ | ---- | --- | ---------- | -------------- |
|
||||||
| name | | varchar(255) | NO | | | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
| pdesc | Deprecated | varchar(255) | NO | | | |
|
| uid | Owner User id | mediumint unsigned | NO | | 0 | |
|
||||||
| dob | Day of birth | varchar(32) | NO | | 0001-01-01 | |
|
| profile-name | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| address | | varchar(255) | NO | | | |
|
| is-default | Deprecated | boolean | YES | | NULL | |
|
||||||
| locality | | varchar(255) | NO | | | |
|
| hide-friends | Hide friend list from viewers of this profile | boolean | NO | | 0 | |
|
||||||
| region | | varchar(255) | NO | | | |
|
| name | | varchar(255) | NO | | | |
|
||||||
| postal-code | | varchar(32) | NO | | | |
|
| pdesc | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| country-name | | varchar(255) | NO | | | |
|
| dob | Day of birth | varchar(32) | NO | | 0000-00-00 | |
|
||||||
| hometown | Deprecated | varchar(255) | NO | MUL | | |
|
| address | | varchar(255) | NO | | | |
|
||||||
| gender | Deprecated | varchar(32) | NO | | | |
|
| locality | | varchar(255) | NO | | | |
|
||||||
| marital | Deprecated | varchar(255) | NO | | | |
|
| region | | varchar(255) | NO | | | |
|
||||||
| with | Deprecated | text | NO | | NULL | |
|
| postal-code | | varchar(32) | NO | | | |
|
||||||
| howlong | Deprecated | datetime | NO | | 0001-01-01 00:00:00 | |
|
| country-name | | varchar(255) | NO | | | |
|
||||||
| sexual | Deprecated | varchar(255) | NO | | | |
|
| hometown | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| politic | Deprecated | varchar(255) | NO | | | |
|
| gender | Deprecated | varchar(32) | YES | | NULL | |
|
||||||
| religion | Deprecated | varchar(255) | NO | | | |
|
| marital | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| pub_keywords | | text | NO | | NULL | |
|
| with | Deprecated | text | YES | | NULL | |
|
||||||
| prv_keywords | | text | NO | | NULL | |
|
| howlong | Deprecated | datetime | YES | | NULL | |
|
||||||
| likes | Deprecated | text | NO | | NULL | |
|
| sexual | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| dislikes | Deprecated | text | NO | | NULL | |
|
| politic | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| about | Profile description | text | NO | | | |
|
| religion | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| summary | Deprecated | varchar(255) | NO | | | |
|
| pub_keywords | | text | YES | | NULL | |
|
||||||
| music | Deprecated | text | NO | | NULL | |
|
| prv_keywords | | text | YES | | NULL | |
|
||||||
| book | Deprecated | text | NO | | NULL | |
|
| likes | Deprecated | text | YES | | NULL | |
|
||||||
| tv | Deprecated | text | NO | | NULL | |
|
| dislikes | Deprecated | text | YES | | NULL | |
|
||||||
| film | Deprecated | text | NO | | NULL | |
|
| about | Profile description | text | YES | | NULL | |
|
||||||
| interest | Deprecated | text | NO | | NULL | |
|
| summary | Deprecated | varchar(255) | YES | | NULL | |
|
||||||
| romance | Deprecated | text | NO | | NULL | |
|
| music | Deprecated | text | YES | | NULL | |
|
||||||
| work | Deprecated | text | NO | | NULL | |
|
| book | Deprecated | text | YES | | NULL | |
|
||||||
| education | Deprecated | text | NO | | NULL | |
|
| tv | Deprecated | text | YES | | NULL | |
|
||||||
| contact | Deprecated | text | NO | | NULL | |
|
| film | Deprecated | text | YES | | NULL | |
|
||||||
| homepage | | varchar(255) | NO | | | |
|
| interest | Deprecated | text | YES | | NULL | |
|
||||||
| photo | | varchar(255) | NO | | | |
|
| romance | Deprecated | text | YES | | NULL | |
|
||||||
| thumb | | varchar(255) | NO | | | |
|
| work | Deprecated | text | YES | | NULL | |
|
||||||
| publish | publish default profile in local directory | tinyint(1) | NO | | 0 | |
|
| education | Deprecated | text | YES | | NULL | |
|
||||||
| net-publish | publish profile in global directory | tinyint(1) | NO | | 0 | |
|
| contact | Deprecated | text | YES | | NULL | |
|
||||||
|
| homepage | | varchar(255) | NO | | | |
|
||||||
|
| xmpp | | varchar(255) | NO | | | |
|
||||||
|
| photo | | varchar(255) | NO | | | |
|
||||||
|
| thumb | | varchar(255) | NO | | | |
|
||||||
|
| publish | publish default profile in local directory | boolean | NO | | 0 | |
|
||||||
|
| net-publish | publish profile in global directory | boolean | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------------- | ---------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_is-default | uid, is-default |
|
||||||
|
| pub_keywords | FULLTEXT, pub_keywords |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,13 +1,35 @@
|
||||||
Table profile_check
|
Table profile_check
|
||||||
===================
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
DFRN remote auth use
|
||||||
| -------- | ------------- | ---------------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | user.id | int(10) unsigned | NO | | 0 | |
|
------
|
||||||
| cid | contact.id | int(10) unsigned | NO | | 0 | |
|
|
||||||
| dfrn_id | | varchar(255) | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| sec | | varchar(255) | NO | | 0 | |
|
| ------- | ------------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
| expire | | int(11) | NO | | NULL | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| cid | contact.id | int unsigned | NO | | 0 | |
|
||||||
|
| dfrn_id | | varchar(255) | NO | | | |
|
||||||
|
| sec | | varchar(255) | NO | | | |
|
||||||
|
| expire | | int unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
| cid | cid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| cid | [contact](help/database/db_contact) | id |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
38
doc/database/db_profile_field.md
Normal file
38
doc/database/db_profile_field.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
Table profile_field
|
||||||
|
===========
|
||||||
|
|
||||||
|
Custom profile fields
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------- | ----------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | Owner user id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| order | Field ordering per user | mediumint unsigned | NO | | 1 | |
|
||||||
|
| psid | ID of the permission set of this profile field - 0 = public | int unsigned | YES | | NULL | |
|
||||||
|
| label | Label of the field | varchar(255) | NO | | | |
|
||||||
|
| value | Value of the field | text | YES | | NULL | |
|
||||||
|
| created | creation time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| edited | last edit time | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
| order | order |
|
||||||
|
| psid | psid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
| psid | [permissionset](help/database/db_permissionset) | id |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,10 +1,38 @@
|
||||||
Table push_subscriber
|
Table push_subscriber
|
||||||
=====================
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
Used for OStatus: Contains feed subscribers
|
||||||
|---------|------------------|---------|------|-----|---------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| poll_id | | int(11) | NO | MUL | 0 | |
|
------
|
||||||
| choice | | int(11) | NO | MUL | 0 | |
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------------ | --------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| callback_url | | varchar(255) | NO | | | |
|
||||||
|
| topic | | varchar(255) | NO | | | |
|
||||||
|
| nickname | | varchar(255) | NO | | | |
|
||||||
|
| push | Retrial counter | tinyint | NO | | 0 | |
|
||||||
|
| last_update | Date of last successful trial | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| next_try | Next retrial date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| renewed | Date of last subscription renewal | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| secret | | varchar(255) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------- | -------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| next_try | next_try |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Table queue
|
|
||||||
===========
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|---------|------------------|-------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| cid | | int(11) | NO | MUL | 0 | |
|
|
||||||
| network | | varchar(32) | NO | MUL | | |
|
|
||||||
| created | | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
|
||||||
| last | | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
|
||||||
| content | | mediumtext | NO | | NULL | |
|
|
||||||
| batch | | tinyint(1) | NO | MUL | 0 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
|
@ -1,13 +1,34 @@
|
||||||
Table register
|
Table register
|
||||||
==============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
registrations requiring admin approval
|
||||||
| -------- | ------------- | ---------------- | ---- | --- | ------------------- | --------------- |
|
|
||||||
| id | sequential ID | int(11) unsigned | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| hash | | varchar(255) | NO | | | |
|
------
|
||||||
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| uid | user.id | int(11) unsigned | NO | | | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| password | | varchar(255) | NO | | | |
|
| -------- | ------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
| language | | varchar(16) | NO | | | |
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| hash | | varchar(255) | NO | | | |
|
||||||
|
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| password | | varchar(255) | NO | | | |
|
||||||
|
| language | | varchar(16) | NO | | | |
|
||||||
|
| note | | text | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,10 +1,31 @@
|
||||||
Table search
|
Table search
|
||||||
============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|-------|------------------|--------------|------|-----|---------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| uid | | int(11) | NO | MUL | 0 | |
|
------
|
||||||
| term | | varchar(255) | NO | MUL | | |
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ------------- | ------------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
| term | | varchar(255) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------- | ------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| uid_term | uid, term(64) |
|
||||||
|
| term | term(64) |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,11 +1,26 @@
|
||||||
Table session
|
Table session
|
||||||
=============
|
===========
|
||||||
|
|
||||||
|
web session storage
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ------ | ------------- | --------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | bigint unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| sid | | varbinary(255) | NO | | | |
|
||||||
|
| data | | text | YES | | NULL | |
|
||||||
|
| expire | | int unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| sid | sid(64) |
|
||||||
|
| expire | expire |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
| ------ | ------------- | ------------------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | sequential ID | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
|
|
||||||
| sid | | varchar(255) | NO | MUL | | |
|
|
||||||
| data | | text | NO | | NULL | |
|
|
||||||
| expire | | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
Table sign
|
|
||||||
==========
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
| ------------ | ------------- | ---------------- | ---- | --- | ------- | --------------- |
|
|
||||||
| id | sequential ID | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
|
||||||
| iid | item.id | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
| signed_text | | mediumtext | NO | | NULL | |
|
|
||||||
| signature | | text | NO | | NULL | |
|
|
||||||
| signer | | varchar(255) | NO | | | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
22
doc/database/db_storage.md
Normal file
22
doc/database/db_storage.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
Table storage
|
||||||
|
===========
|
||||||
|
|
||||||
|
Data stored by Database storage backend
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ------------------------------ | ------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | Auto incremented image data id | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| data | file data | longblob | NO | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
25
doc/database/db_tag.md
Normal file
25
doc/database/db_tag.md
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
Table tag
|
||||||
|
===========
|
||||||
|
|
||||||
|
tags and mentions
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ----------- | -------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| name | | varchar(96) | NO | | | |
|
||||||
|
| url | | varbinary(255) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------------- | ----------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| type_name_url | UNIQUE, name, url |
|
||||||
|
| url | url |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,19 +0,0 @@
|
||||||
Table term
|
|
||||||
==========
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|----------| ------------- |---------------------|------|-----|---------------------|----------------|
|
|
||||||
| tid | | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
|
||||||
| oid | | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
| otype | | tinyint(3) unsigned | NO | MUL | 0 | |
|
|
||||||
| type | | tinyint(3) unsigned | NO | MUL | 0 | |
|
|
||||||
| term | | varchar(255) | NO | | | |
|
|
||||||
| url | | varchar(255) | NO | | | |
|
|
||||||
| aid | | int(10) unsigned | NO | | 0 | |
|
|
||||||
| uid | | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
| guid | | varchar(255) | NO | MUL | | |
|
|
||||||
| created | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| received | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| global | | tinyint(1) | NO | | 0 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
|
@ -1,33 +0,0 @@
|
||||||
Table thread
|
|
||||||
============
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|-------------|------------------|------------------|------|-----|---------------------|-------|
|
|
||||||
| iid | sequential ID | int(10) unsigned | NO | PRI | 0 | |
|
|
||||||
| uid | | int(10) unsigned | NO | MUL | 0 | |
|
|
||||||
| contact-id | | int(11) unsigned | NO | | 0 | |
|
|
||||||
| gcontact-id | Global Contact | int(11) unsigned | NO | | 0 | |
|
|
||||||
| owner-id | Item owner | int(11) unsigned | NO | MUL | 0 | |
|
|
||||||
| author-id | Item author | int(11) unsigned | NO | MUL | 0 | |
|
|
||||||
| created | | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
|
||||||
| edited | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| commented | | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
|
||||||
| received | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| changed | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| wall | | tinyint(1) | NO | MUL | 0 | |
|
|
||||||
| private | | tinyint(1) | NO | | 0 | |
|
|
||||||
| pubmail | | tinyint(1) | NO | | 0 | |
|
|
||||||
| moderated | | tinyint(1) | NO | | 0 | |
|
|
||||||
| visible | | tinyint(1) | NO | | 0 | |
|
|
||||||
| spam | | tinyint(1) | NO | | 0 | |
|
|
||||||
| starred | | tinyint(1) | NO | | 0 | |
|
|
||||||
| ignored | | tinyint(1) | NO | | 0 | |
|
|
||||||
| bookmark | | tinyint(1) | NO | | 0 | |
|
|
||||||
| unseen | | tinyint(1) | NO | | 1 | |
|
|
||||||
| deleted | | tinyint(1) | NO | | 0 | |
|
|
||||||
| origin | | tinyint(1) | NO | | 0 | |
|
|
||||||
| forum_mode | | tinyint(1) | NO | | 0 | |
|
|
||||||
| mention | | tinyint(1) | NO | | 0 | |
|
|
||||||
| network | | varchar(32) | NO | | | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
|
@ -1,13 +1,35 @@
|
||||||
Table tokens
|
Table tokens
|
||||||
============
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
OAuth usage
|
||||||
| ---------- | ----------- | ------------ | ---- | --- | ------- | ----- |
|
|
||||||
| id | | varchar(40) | NO | PRI | NULL | |
|
Fields
|
||||||
| secret | | text | NO | | NULL | |
|
------
|
||||||
| client_id | | varchar(20) | NO | | | |
|
|
||||||
| expires | | int(11) | NO | | 0 | |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
| scope | | varchar(200) | NO | | | |
|
| --------- | ----------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
| uid | | int(11) | NO | | 0 | |
|
| id | | varchar(40) | NO | PRI | NULL | |
|
||||||
|
| secret | | text | YES | | NULL | |
|
||||||
|
| client_id | | varchar(20) | NO | | | |
|
||||||
|
| expires | | int | NO | | 0 | |
|
||||||
|
| scope | | varchar(200) | NO | | | |
|
||||||
|
| uid | User id | mediumint unsigned | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| --------- | --------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| client_id | client_id |
|
||||||
|
| uid | uid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| client_id | [clients](help/database/db_clients) | client_id |
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
33
doc/database/db_user-contact.md
Normal file
33
doc/database/db_user-contact.md
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
Table user-contact
|
||||||
|
===========
|
||||||
|
|
||||||
|
User specific public contact data
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------- | ------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
|
||||||
|
| cid | Contact id of the linked public contact | int unsigned | NO | PRI | 0 | |
|
||||||
|
| uid | User id | mediumint unsigned | NO | PRI | 0 | |
|
||||||
|
| blocked | Contact is completely blocked for this user | boolean | YES | | NULL | |
|
||||||
|
| ignored | Posts from this contact are ignored | boolean | YES | | NULL | |
|
||||||
|
| collapsed | Posts from this contact are collapsed | boolean | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | -------- |
|
||||||
|
| PRIMARY | uid, cid |
|
||||||
|
| cid | cid |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| cid | [contact](help/database/db_contact) | id |
|
||||||
|
| uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,77 +1,75 @@
|
||||||
Table user
|
Table user
|
||||||
==========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
The local users
|
||||||
|--------------------------|-----------------------------------------------------------------------------------------|---------------------|------|-----|---------------------|----------------|
|
|
||||||
| uid | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| guid | A unique identifier for this user | varchar(64) | NO | | | |
|
|
||||||
| username | Name that this user is known by | varchar(255) | NO | | | |
|
|
||||||
| password | encrypted password | varchar(255) | NO | | | |
|
|
||||||
| nickname | nick- and user name | varchar(255) | NO | MUL | | |
|
|
||||||
| email | the users email address | varchar(255) | NO | | | |
|
|
||||||
| openid | | varchar(255) | NO | | | |
|
|
||||||
| timezone | PHP-legal timezone | varchar(128) | NO | | | |
|
|
||||||
| language | default language | varchar(32) | NO | | en | |
|
|
||||||
| register_date | timestamp of registration | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| login_date | timestamp of last login | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| default-location | Default for item.location | varchar(255) | NO | | | |
|
|
||||||
| allow_location | 1 allows to display the location | tinyint(1) | NO | | 0 | |
|
|
||||||
| theme | user theme preference | varchar(255) | NO | | | |
|
|
||||||
| pubkey | RSA public key 4096 bit | text | NO | | NULL | |
|
|
||||||
| prvkey | RSA private key 4096 bit | text | NO | | NULL | |
|
|
||||||
| spubkey | | text | NO | | NULL | |
|
|
||||||
| sprvkey | | text | NO | | NULL | |
|
|
||||||
| verified | user is verified through email | tinyint(1) unsigned | NO | | 0 | |
|
|
||||||
| blocked | 1 for user is blocked | tinyint(1) unsigned | NO | | 0 | |
|
|
||||||
| blockwall | Prohibit contacts to post to the profile page of the user | tinyint(1) unsigned | NO | | 0 | |
|
|
||||||
| hidewall | Hide profile details from unkown viewers | tinyint(1) unsigned | NO | | 0 | |
|
|
||||||
| blocktags | Prohibit contacts to tag the post of this user | tinyint(1) unsigned | NO | | 0 | |
|
|
||||||
| unkmail | Permit unknown people to send private mails to this user | tinyint(1) | NO | | 0 | |
|
|
||||||
| cntunkmail | | int(11) | NO | | 10 | |
|
|
||||||
| notify-flags | email notification options | int(11) unsigned | NO | | 65535 | |
|
|
||||||
| page-flags | page/profile type | int(11) unsigned | NO | | 0 | |
|
|
||||||
| prvnets | | tinyint(1) | NO | | 0 | |
|
|
||||||
| pwdreset | | varchar(255) | NO | | | |
|
|
||||||
| maxreq | | int(11) | NO | | 10 | |
|
|
||||||
| expire | | int(11) unsigned | NO | | 0 | |
|
|
||||||
| account_removed | if 1 the account is removed | tinyint(1) | NO | | 0 | |
|
|
||||||
| account_expired | | tinyint(1) | NO | | 0 | |
|
|
||||||
| account_expires_on | timestamp when account expires and will be deleted | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| expire_notification_sent | timestamp of last warning of account expiration | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| def_gid | | int(11) | NO | | 0 | |
|
|
||||||
| allow_cid | default permission for this user | mediumtext | NO | | NULL | |
|
|
||||||
| allow_gid | default permission for this user | mediumtext | NO | | NULL | |
|
|
||||||
| deny_cid | default permission for this user | mediumtext | NO | | NULL | |
|
|
||||||
| deny_gid | default permission for this user | mediumtext | NO | | NULL | |
|
|
||||||
| openidserver | | text | NO | | NULL | |
|
|
||||||
|
|
||||||
```
|
Fields
|
||||||
/**
|
------
|
||||||
* page-flags
|
|
||||||
*/
|
|
||||||
define ( 'PAGE_NORMAL', 0 );
|
|
||||||
define ( 'PAGE_SOAPBOX', 1 );
|
|
||||||
define ( 'PAGE_COMMUNITY', 2 );
|
|
||||||
define ( 'PAGE_FREELOVE', 3 );
|
|
||||||
define ( 'PAGE_BLOG', 4 );
|
|
||||||
define ( 'PAGE_PRVGROUP', 5 );
|
|
||||||
|
|
||||||
/**
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
* notify-flags
|
| ------------------------ | --------------------------------------------------------- | ------------------ | ---- | --- | ------------------- | -------------- |
|
||||||
*/
|
| uid | sequential ID | mediumint unsigned | NO | PRI | NULL | auto_increment |
|
||||||
define ( 'NOTIFY_INTRO', 0x0001 );
|
| parent-uid | The parent user that has full control about this user | mediumint unsigned | YES | | NULL | |
|
||||||
define ( 'NOTIFY_CONFIRM', 0x0002 );
|
| guid | A unique identifier for this user | varchar(64) | NO | | | |
|
||||||
define ( 'NOTIFY_WALL', 0x0004 );
|
| username | Name that this user is known by | varchar(255) | NO | | | |
|
||||||
define ( 'NOTIFY_COMMENT', 0x0008 );
|
| password | encrypted password | varchar(255) | NO | | | |
|
||||||
define ( 'NOTIFY_MAIL', 0x0010 );
|
| legacy_password | Is the password hash double-hashed? | boolean | NO | | 0 | |
|
||||||
define ( 'NOTIFY_SUGGEST', 0x0020 );
|
| nickname | nick- and user name | varchar(255) | NO | | | |
|
||||||
define ( 'NOTIFY_PROFILE', 0x0040 );
|
| email | the users email address | varchar(255) | NO | | | |
|
||||||
define ( 'NOTIFY_TAGSELF', 0x0080 );
|
| openid | | varchar(255) | NO | | | |
|
||||||
define ( 'NOTIFY_TAGSHARE', 0x0100 );
|
| timezone | PHP-legal timezone | varchar(128) | NO | | | |
|
||||||
define ( 'NOTIFY_POKE', 0x0200 );
|
| language | default language | varchar(32) | NO | | en | |
|
||||||
define ( 'NOTIFY_SHARE', 0x0400 );
|
| register_date | timestamp of registration | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| login_date | timestamp of last login | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| default-location | Default for item.location | varchar(255) | NO | | | |
|
||||||
|
| allow_location | 1 allows to display the location | boolean | NO | | 0 | |
|
||||||
|
| theme | user theme preference | varchar(255) | NO | | | |
|
||||||
|
| pubkey | RSA public key 4096 bit | text | YES | | NULL | |
|
||||||
|
| prvkey | RSA private key 4096 bit | text | YES | | NULL | |
|
||||||
|
| spubkey | | text | YES | | NULL | |
|
||||||
|
| sprvkey | | text | YES | | NULL | |
|
||||||
|
| verified | user is verified through email | boolean | NO | | 0 | |
|
||||||
|
| blocked | 1 for user is blocked | boolean | NO | | 0 | |
|
||||||
|
| blockwall | Prohibit contacts to post to the profile page of the user | boolean | NO | | 0 | |
|
||||||
|
| hidewall | Hide profile details from unkown viewers | boolean | NO | | 0 | |
|
||||||
|
| blocktags | Prohibit contacts to tag the post of this user | boolean | NO | | 0 | |
|
||||||
|
| unkmail | Permit unknown people to send private mails to this user | boolean | NO | | 0 | |
|
||||||
|
| cntunkmail | | int unsigned | NO | | 10 | |
|
||||||
|
| notify-flags | email notification options | smallint unsigned | NO | | 65535 | |
|
||||||
|
| page-flags | page/profile type | tinyint unsigned | NO | | 0 | |
|
||||||
|
| account-type | | tinyint unsigned | NO | | 0 | |
|
||||||
|
| prvnets | | boolean | NO | | 0 | |
|
||||||
|
| pwdreset | Password reset request token | varchar(255) | YES | | NULL | |
|
||||||
|
| pwdreset_time | Timestamp of the last password reset request | datetime | YES | | NULL | |
|
||||||
|
| maxreq | | int unsigned | NO | | 10 | |
|
||||||
|
| expire | | int unsigned | NO | | 0 | |
|
||||||
|
| account_removed | if 1 the account is removed | boolean | NO | | 0 | |
|
||||||
|
| account_expired | | boolean | NO | | 0 | |
|
||||||
|
| account_expires_on | timestamp when account expires and will be deleted | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| expire_notification_sent | timestamp of last warning of account expiration | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| def_gid | | int unsigned | NO | | 0 | |
|
||||||
|
| allow_cid | default permission for this user | mediumtext | YES | | NULL | |
|
||||||
|
| allow_gid | default permission for this user | mediumtext | YES | | NULL | |
|
||||||
|
| deny_cid | default permission for this user | mediumtext | YES | | NULL | |
|
||||||
|
| deny_gid | default permission for this user | mediumtext | YES | | NULL | |
|
||||||
|
| openidserver | | text | YES | | NULL | |
|
||||||
|
|
||||||
define ( 'NOTIFY_SYSTEM', 0x8000 );
|
Indexes
|
||||||
```
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ---------- | ------------ |
|
||||||
|
| PRIMARY | uid |
|
||||||
|
| nickname | nickname(32) |
|
||||||
|
| parent-uid | parent-uid |
|
||||||
|
| guid | guid |
|
||||||
|
| email | email(64) |
|
||||||
|
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
| parent-uid | [user](help/database/db_user) | uid |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,9 +1,23 @@
|
||||||
Table userd
|
Table userd
|
||||||
===========
|
===========
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
Deleted usernames
|
||||||
|----------|------------------|--------------|------|-----|---------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
Fields
|
||||||
| username | | varchar(255) | NO | MUL | NULL | |
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| -------- | ------------- | ------------ | ---- | --- | ------- | -------------- |
|
||||||
|
| id | sequential ID | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| username | | varchar(255) | NO | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| -------- | ------------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| username | username(32) |
|
||||||
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
23
doc/database/db_verb.md
Normal file
23
doc/database/db_verb.md
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Table verb
|
||||||
|
===========
|
||||||
|
|
||||||
|
Activity Verbs
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ----------- | ----------------- | ---- | --- | ------- | -------------- |
|
||||||
|
| id | | smallint unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| name | | varchar(100) | NO | | | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| name | name |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
22
doc/database/db_worker-ipc.md
Normal file
22
doc/database/db_worker-ipc.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
Table worker-ipc
|
||||||
|
===========
|
||||||
|
|
||||||
|
Inter process communication between the frontend and the worker
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| ----- | ------------------------- | ------- | ---- | --- | ------- | ----- |
|
||||||
|
| key | | int | NO | PRI | NULL | |
|
||||||
|
| jobs | Flag for outstanding jobs | boolean | YES | | NULL | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ------- | ------ |
|
||||||
|
| PRIMARY | key |
|
||||||
|
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
|
@ -1,14 +1,38 @@
|
||||||
Table workerqueue
|
Table workerqueue
|
||||||
=================
|
===========
|
||||||
|
|
||||||
|
Background tasks queue entries
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|
| --------- | ------------------------------------------------------- | ---------------- | ---- | --- | ------------------- | -------------- |
|
||||||
|
| id | Auto incremented worker task id | int unsigned | NO | PRI | NULL | auto_increment |
|
||||||
|
| command | Task command | varchar(100) | YES | | NULL | |
|
||||||
|
| parameter | Task parameter | mediumtext | YES | | NULL | |
|
||||||
|
| priority | Task priority | tinyint unsigned | NO | | 0 | |
|
||||||
|
| created | Creation date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| pid | Process id of the worker | int unsigned | NO | | 0 | |
|
||||||
|
| executed | Execution date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| next_try | Next retrial date | datetime | NO | | 0001-01-01 00:00:00 | |
|
||||||
|
| retrial | Retrial counter | tinyint | NO | | 0 | |
|
||||||
|
| done | Marked 1 when the task was done - will be deleted later | boolean | NO | | 0 | |
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Name | Fields |
|
||||||
|
| ----------------------------- | -------------------------------- |
|
||||||
|
| PRIMARY | id |
|
||||||
|
| command | command |
|
||||||
|
| done_command_parameter | done, command, parameter(64) |
|
||||||
|
| done_executed | done, executed |
|
||||||
|
| done_priority_retrial_created | done, priority, retrial, created |
|
||||||
|
| done_priority_next_try | done, priority, next_try |
|
||||||
|
| done_pid_next_try | done, pid, next_try |
|
||||||
|
| done_pid_retrial | done, pid, retrial |
|
||||||
|
| done_pid_priority_created | done, pid, priority, created |
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|-----------|------------------|---------------------|------|-----|---------------------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| parameter | | text | NO | | NULL | |
|
|
||||||
| priority | | tinyint(3) unsigned | NO | | 0 | |
|
|
||||||
| created | | datetime | NO | MUL | 0001-01-01 00:00:00 | |
|
|
||||||
| pid | | int(11) | NO | | 0 | |
|
|
||||||
| executed | | datetime | NO | | 0001-01-01 00:00:00 | |
|
|
||||||
| done | set to 1 if done | tinyint(1) | NO | | 0 | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -120,6 +120,7 @@ HELP;
|
||||||
$output = ob_get_clean();
|
$output = ob_get_clean();
|
||||||
break;
|
break;
|
||||||
case "dumpsql":
|
case "dumpsql":
|
||||||
|
DBStructure::writeStructure();
|
||||||
ob_start();
|
ob_start();
|
||||||
DBStructure::printStructure($basePath);
|
DBStructure::printStructure($basePath);
|
||||||
$output = ob_get_clean();
|
$output = ob_get_clean();
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace Friendica\Database;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Friendica\Core\Hook;
|
use Friendica\Core\Hook;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
|
use Friendica\Core\Renderer;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use Friendica\Model\Item;
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
|
@ -159,6 +160,110 @@ class DBStructure
|
||||||
return DI::l10n()->t('Errors encountered performing database changes: ') . $message . EOL;
|
return DI::l10n()->t('Errors encountered performing database changes: ') . $message . EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function writeStructure()
|
||||||
|
{
|
||||||
|
Renderer::registerTemplateEngine('Friendica\Render\FriendicaSmartyEngine');
|
||||||
|
|
||||||
|
$tables = [];
|
||||||
|
foreach (self::definition(null) as $name => $definition) {
|
||||||
|
$indexes = [[
|
||||||
|
'name' => 'Name',
|
||||||
|
'fields' => 'Fields',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => '-',
|
||||||
|
'fields' => '-',
|
||||||
|
]];
|
||||||
|
|
||||||
|
$lengths = ['name' => 4, 'fields' => 6];
|
||||||
|
foreach ($definition['indexes'] as $key => $value) {
|
||||||
|
$fieldlist = implode(', ', $value);
|
||||||
|
$indexes[] = ['name' => $key, 'fields' => $fieldlist];
|
||||||
|
$lengths['name'] = max($lengths['name'], strlen($key));
|
||||||
|
$lengths['fields'] = max($lengths['fields'], strlen($fieldlist));
|
||||||
|
}
|
||||||
|
|
||||||
|
array_walk_recursive($indexes, function(&$value, $key) use ($lengths)
|
||||||
|
{
|
||||||
|
$value = str_pad($value, $lengths[$key], $value === '-' ? '-' : ' ');
|
||||||
|
});
|
||||||
|
|
||||||
|
$foreign = [];
|
||||||
|
$fields = [[
|
||||||
|
'name' => 'Field',
|
||||||
|
'comment' => 'Description',
|
||||||
|
'type' => 'Type',
|
||||||
|
'null' => 'Null',
|
||||||
|
'primary' => 'Key',
|
||||||
|
'default' => 'Default',
|
||||||
|
'extra' => 'Extra',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => '-',
|
||||||
|
'comment' => '-',
|
||||||
|
'type' => '-',
|
||||||
|
'null' => '-',
|
||||||
|
'primary' => '-',
|
||||||
|
'default' => '-',
|
||||||
|
'extra' => '-',
|
||||||
|
]];
|
||||||
|
$lengths = [
|
||||||
|
'name' => 5,
|
||||||
|
'comment' => 11,
|
||||||
|
'type' => 4,
|
||||||
|
'null' => 4,
|
||||||
|
'primary' => 3,
|
||||||
|
'default' => 7,
|
||||||
|
'extra' => 5,
|
||||||
|
];
|
||||||
|
foreach ($definition['fields'] as $key => $value) {
|
||||||
|
$field = [];
|
||||||
|
$field['name'] = $key;
|
||||||
|
$field['comment'] = $value['comment'] ?? '';
|
||||||
|
$field['type'] = $value['type'];
|
||||||
|
$field['null'] = ($value['not null'] ?? false) ? 'NO' : 'YES';
|
||||||
|
$field['primary'] = ($value['primary'] ?? false) ? 'PRI' : '';
|
||||||
|
$field['default'] = $value['default'] ?? 'NULL';
|
||||||
|
$field['extra'] = $value['extra'] ?? '';
|
||||||
|
|
||||||
|
foreach ($field as $fieldname => $fieldvalue) {
|
||||||
|
$lengths[$fieldname] = max($lengths[$fieldname] ?? 0, strlen($fieldvalue));
|
||||||
|
}
|
||||||
|
$fields[] = $field;
|
||||||
|
|
||||||
|
if (!empty($value['foreign'])) {
|
||||||
|
$foreign[] = [
|
||||||
|
'field' => $key,
|
||||||
|
'targettable' => array_keys($value['foreign'])[0],
|
||||||
|
'targetfield' => array_values($value['foreign'])[0]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
array_walk_recursive($fields, function(&$value, $key) use ($lengths)
|
||||||
|
{
|
||||||
|
$value = str_pad($value, $lengths[$key], $value === '-' ? '-' : ' ');
|
||||||
|
});
|
||||||
|
|
||||||
|
$tables[] = ['name' => $name, 'comment' => $definition['comment']];
|
||||||
|
$content = Renderer::replaceMacros(Renderer::getMarkupTemplate('structure.tpl'), [
|
||||||
|
'$name' => $name,
|
||||||
|
'$comment' => $definition['comment'],
|
||||||
|
'$fields' => $fields,
|
||||||
|
'$indexes' => $indexes,
|
||||||
|
'$foreign' => $foreign,
|
||||||
|
]);
|
||||||
|
$filename = DI::basePath() . '/doc/database/db_' . $name . '.md';
|
||||||
|
file_put_contents($filename, $content);
|
||||||
|
}
|
||||||
|
asort($tables);
|
||||||
|
$content = Renderer::replaceMacros(Renderer::getMarkupTemplate('tables.tpl'), [
|
||||||
|
'$tables' => $tables,
|
||||||
|
]);
|
||||||
|
$filename = DI::basePath() . '/doc/database.md';
|
||||||
|
file_put_contents($filename, $content);
|
||||||
|
}
|
||||||
|
|
||||||
public static function printStructure($basePath)
|
public static function printStructure($basePath)
|
||||||
{
|
{
|
||||||
$database = self::definition($basePath, false);
|
$database = self::definition($basePath, false);
|
||||||
|
@ -1206,7 +1311,7 @@ class DBStructure
|
||||||
if ($verbose) {
|
if ($verbose) {
|
||||||
echo "Zero contact added\n";
|
echo "Zero contact added\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif (self::existsTable('contact') && $verbose) {
|
} elseif (self::existsTable('contact') && $verbose) {
|
||||||
echo "Zero contact already added\n";
|
echo "Zero contact already added\n";
|
||||||
} elseif ($verbose) {
|
} elseif ($verbose) {
|
||||||
|
@ -1230,7 +1335,7 @@ class DBStructure
|
||||||
|
|
||||||
if (self::existsTable('permissionset')) {
|
if (self::existsTable('permissionset')) {
|
||||||
if (!DBA::exists('permissionset', ['id' => 0])) {
|
if (!DBA::exists('permissionset', ['id' => 0])) {
|
||||||
DBA::insert('permissionset', ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '']);
|
DBA::insert('permissionset', ['allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '']);
|
||||||
$lastid = DBA::lastInsertId();
|
$lastid = DBA::lastInsertId();
|
||||||
if ($lastid != 0) {
|
if ($lastid != 0) {
|
||||||
DBA::update('permissionset', ['id' => 0], ['id' => $lastid]);
|
DBA::update('permissionset', ['id' => 0], ['id' => $lastid]);
|
||||||
|
@ -1265,7 +1370,7 @@ class DBStructure
|
||||||
} elseif ($verbose) {
|
} elseif ($verbose) {
|
||||||
echo "permissionset: Table not found\n";
|
echo "permissionset: Table not found\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!self::existsForeignKeyForField('tokens', 'client_id')) {
|
if (!self::existsForeignKeyForField('tokens', 'client_id')) {
|
||||||
$tokens = DBA::p("SELECT `tokens`.`id` FROM `tokens`
|
$tokens = DBA::p("SELECT `tokens`.`id` FROM `tokens`
|
||||||
LEFT JOIN `clients` ON `clients`.`client_id` = `tokens`.`client_id`
|
LEFT JOIN `clients` ON `clients`.`client_id` = `tokens`.`client_id`
|
||||||
|
|
|
@ -586,10 +586,10 @@ class Event
|
||||||
$last_date = '';
|
$last_date = '';
|
||||||
$fmt = DI::l10n()->t('l, F j');
|
$fmt = DI::l10n()->t('l, F j');
|
||||||
foreach ($event_result as $event) {
|
foreach ($event_result as $event) {
|
||||||
$item = Post::selectFirst(['plink', 'author-name', 'author-avatar', 'author-link'], ['id' => $event['itemid']]);
|
$item = Post::selectFirst(['plink', 'author-name', 'author-avatar', 'author-link', 'private'], ['id' => $event['itemid']]);
|
||||||
if (!DBA::isResult($item)) {
|
if (!DBA::isResult($item)) {
|
||||||
// Using default values when no item had been found
|
// Using default values when no item had been found
|
||||||
$item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => ''];
|
$item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => '', 'private' => Item::PUBLIC];
|
||||||
}
|
}
|
||||||
|
|
||||||
$event = array_merge($event, $item);
|
$event = array_merge($event, $item);
|
||||||
|
|
|
@ -32,6 +32,7 @@ use Friendica\Model\Contact;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Module\BaseAdmin;
|
use Friendica\Module\BaseAdmin;
|
||||||
use Friendica\Module\Register;
|
use Friendica\Module\Register;
|
||||||
|
use Friendica\Protocol\Relay;
|
||||||
use Friendica\Util\BasePath;
|
use Friendica\Util\BasePath;
|
||||||
use Friendica\Util\EMailer\MailBuilder;
|
use Friendica\Util\EMailer\MailBuilder;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
@ -208,8 +209,6 @@ class Site extends BaseAdmin
|
||||||
$worker_fastlane = !empty($_POST['worker_fastlane']);
|
$worker_fastlane = !empty($_POST['worker_fastlane']);
|
||||||
|
|
||||||
$relay_directly = !empty($_POST['relay_directly']);
|
$relay_directly = !empty($_POST['relay_directly']);
|
||||||
$relay_server = (!empty($_POST['relay_server']) ? Strings::escapeTags(trim($_POST['relay_server'])) : '');
|
|
||||||
$relay_subscribe = !empty($_POST['relay_subscribe']);
|
|
||||||
$relay_scope = (!empty($_POST['relay_scope']) ? Strings::escapeTags(trim($_POST['relay_scope'])) : '');
|
$relay_scope = (!empty($_POST['relay_scope']) ? Strings::escapeTags(trim($_POST['relay_scope'])) : '');
|
||||||
$relay_server_tags = (!empty($_POST['relay_server_tags']) ? Strings::escapeTags(trim($_POST['relay_server_tags'])) : '');
|
$relay_server_tags = (!empty($_POST['relay_server_tags']) ? Strings::escapeTags(trim($_POST['relay_server_tags'])) : '');
|
||||||
$relay_deny_tags = (!empty($_POST['relay_deny_tags']) ? Strings::escapeTags(trim($_POST['relay_deny_tags'])) : '');
|
$relay_deny_tags = (!empty($_POST['relay_deny_tags']) ? Strings::escapeTags(trim($_POST['relay_deny_tags'])) : '');
|
||||||
|
@ -418,8 +417,6 @@ class Site extends BaseAdmin
|
||||||
DI::config()->set('system', 'worker_fastlane' , $worker_fastlane);
|
DI::config()->set('system', 'worker_fastlane' , $worker_fastlane);
|
||||||
|
|
||||||
DI::config()->set('system', 'relay_directly' , $relay_directly);
|
DI::config()->set('system', 'relay_directly' , $relay_directly);
|
||||||
DI::config()->set('system', 'relay_server' , $relay_server);
|
|
||||||
DI::config()->set('system', 'relay_subscribe' , $relay_subscribe);
|
|
||||||
DI::config()->set('system', 'relay_scope' , $relay_scope);
|
DI::config()->set('system', 'relay_scope' , $relay_scope);
|
||||||
DI::config()->set('system', 'relay_server_tags', $relay_server_tags);
|
DI::config()->set('system', 'relay_server_tags', $relay_server_tags);
|
||||||
DI::config()->set('system', 'relay_deny_tags' , $relay_deny_tags);
|
DI::config()->set('system', 'relay_deny_tags' , $relay_deny_tags);
|
||||||
|
@ -589,6 +586,10 @@ class Site extends BaseAdmin
|
||||||
'$performance' => DI::l10n()->t('Performance'),
|
'$performance' => DI::l10n()->t('Performance'),
|
||||||
'$worker_title' => DI::l10n()->t('Worker'),
|
'$worker_title' => DI::l10n()->t('Worker'),
|
||||||
'$relay_title' => DI::l10n()->t('Message Relay'),
|
'$relay_title' => DI::l10n()->t('Message Relay'),
|
||||||
|
'$relay_description' => DI::l10n()->t('Use the command "console relay" in the command line to add or remove relays.'),
|
||||||
|
'$no_relay_list' => DI::l10n()->t('The system is not subscribed to any relays at the moment.'),
|
||||||
|
'$relay_list_title' => DI::l10n()->t('The system is currently subscribed to the following relays:'),
|
||||||
|
'$relay_list' => Relay::getList(['url']),
|
||||||
'$relocate' => DI::l10n()->t('Relocate Instance'),
|
'$relocate' => DI::l10n()->t('Relocate Instance'),
|
||||||
'$relocate_warning' => DI::l10n()->t('<strong>Warning!</strong> Advanced function. Could make this server unreachable.'),
|
'$relocate_warning' => DI::l10n()->t('<strong>Warning!</strong> Advanced function. Could make this server unreachable.'),
|
||||||
'$baseurl' => DI::baseUrl()->get(true),
|
'$baseurl' => DI::baseUrl()->get(true),
|
||||||
|
@ -688,10 +689,8 @@ class Site extends BaseAdmin
|
||||||
'$worker_queues' => ['worker_queues', DI::l10n()->t('Maximum number of parallel workers'), DI::config()->get('system', 'worker_queues'), DI::l10n()->t('On shared hosters set this to %d. On larger systems, values of %d are great. Default value is %d.', 5, 20, 10)],
|
'$worker_queues' => ['worker_queues', DI::l10n()->t('Maximum number of parallel workers'), DI::config()->get('system', 'worker_queues'), DI::l10n()->t('On shared hosters set this to %d. On larger systems, values of %d are great. Default value is %d.', 5, 20, 10)],
|
||||||
'$worker_fastlane' => ['worker_fastlane', DI::l10n()->t('Enable fastlane'), DI::config()->get('system', 'worker_fastlane'), DI::l10n()->t('When enabed, the fastlane mechanism starts an additional worker if processes with higher priority are blocked by processes of lower priority.')],
|
'$worker_fastlane' => ['worker_fastlane', DI::l10n()->t('Enable fastlane'), DI::config()->get('system', 'worker_fastlane'), DI::l10n()->t('When enabed, the fastlane mechanism starts an additional worker if processes with higher priority are blocked by processes of lower priority.')],
|
||||||
|
|
||||||
'$relay_subscribe' => ['relay_subscribe', DI::l10n()->t('Use relay servers'), DI::config()->get('system', 'relay_subscribe'), DI::l10n()->t('Enables the receiving of public posts from relay servers. They will be included in the search, subscribed tags and on the global community page.')],
|
|
||||||
'$relay_server' => ['relay_server', DI::l10n()->t('"Social Relay" server'), DI::config()->get('system', 'relay_server'), DI::l10n()->t('Address of the "Social Relay" server where public posts should be send to. For example %s. ActivityRelay servers are administrated via the "console relay" command line command.', 'https://social-relay.isurf.ca')],
|
|
||||||
'$relay_directly' => ['relay_directly', DI::l10n()->t('Direct relay transfer'), DI::config()->get('system', 'relay_directly'), DI::l10n()->t('Enables the direct transfer to other servers without using the relay servers')],
|
'$relay_directly' => ['relay_directly', DI::l10n()->t('Direct relay transfer'), DI::config()->get('system', 'relay_directly'), DI::l10n()->t('Enables the direct transfer to other servers without using the relay servers')],
|
||||||
'$relay_scope' => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received.'), ['' => DI::l10n()->t('Disabled'), 'all' => DI::l10n()->t('all'), 'tags' => DI::l10n()->t('tags')]],
|
'$relay_scope' => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received.'), [SR_SCOPE_NONE => DI::l10n()->t('Disabled'), SR_SCOPE_ALL => DI::l10n()->t('all'), SR_SCOPE_TAGS => DI::l10n()->t('tags')]],
|
||||||
'$relay_server_tags' => ['relay_server_tags', DI::l10n()->t('Server tags'), DI::config()->get('system', 'relay_server_tags'), DI::l10n()->t('Comma separated list of tags for the "tags" subscription.')],
|
'$relay_server_tags' => ['relay_server_tags', DI::l10n()->t('Server tags'), DI::config()->get('system', 'relay_server_tags'), DI::l10n()->t('Comma separated list of tags for the "tags" subscription.')],
|
||||||
'$relay_deny_tags' => ['relay_deny_tags', DI::l10n()->t('Deny Server tags'), DI::config()->get('system', 'relay_deny_tags'), DI::l10n()->t('Comma separated list of tags that are rejected.')],
|
'$relay_deny_tags' => ['relay_deny_tags', DI::l10n()->t('Deny Server tags'), DI::config()->get('system', 'relay_deny_tags'), DI::l10n()->t('Comma separated list of tags that are rejected.')],
|
||||||
'$relay_user_tags' => ['relay_user_tags', DI::l10n()->t('Allow user tags'), DI::config()->get('system', 'relay_user_tags'), DI::l10n()->t('If enabled, the tags from the saved searches will used for the "tags" subscription in addition to the "relay_server_tags".')],
|
'$relay_user_tags' => ['relay_user_tags', DI::l10n()->t('Allow user tags'), DI::config()->get('system', 'relay_user_tags'), DI::l10n()->t('If enabled, the tags from the saved searches will used for the "tags" subscription in addition to the "relay_server_tags".')],
|
||||||
|
|
|
@ -35,13 +35,7 @@ class XSocialRelay extends BaseModule
|
||||||
{
|
{
|
||||||
$config = DI::config();
|
$config = DI::config();
|
||||||
|
|
||||||
$subscribe = $config->get('system', 'relay_subscribe', false);
|
$scope = $config->get('system', 'relay_scope');
|
||||||
|
|
||||||
if ($subscribe) {
|
|
||||||
$scope = $config->get('system', 'relay_scope', SR_SCOPE_ALL);
|
|
||||||
} else {
|
|
||||||
$scope = SR_SCOPE_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
$systemTags = [];
|
$systemTags = [];
|
||||||
$userTags = [];
|
$userTags = [];
|
||||||
|
@ -63,7 +57,7 @@ class XSocialRelay extends BaseModule
|
||||||
$tagList = array_unique(array_merge($systemTags, $userTags));
|
$tagList = array_unique(array_merge($systemTags, $userTags));
|
||||||
|
|
||||||
$relay = [
|
$relay = [
|
||||||
'subscribe' => $subscribe,
|
'subscribe' => ($scope != SR_SCOPE_NONE),
|
||||||
'scope' => $scope,
|
'scope' => $scope,
|
||||||
'tags' => $tagList,
|
'tags' => $tagList,
|
||||||
'protocols' => [
|
'protocols' => [
|
||||||
|
|
|
@ -68,13 +68,9 @@ class Transmitter
|
||||||
*/
|
*/
|
||||||
public static function addRelayServerInboxes(array $inboxes = [])
|
public static function addRelayServerInboxes(array $inboxes = [])
|
||||||
{
|
{
|
||||||
$contacts = DBA::select('apcontact', ['inbox'],
|
foreach (Relay::getList(['inbox']) as $contact) {
|
||||||
["`type` = ? AND `url` IN (SELECT `url` FROM `contact` WHERE `uid` = ? AND `rel` = ?)",
|
|
||||||
'Application', 0, Contact::FRIEND]);
|
|
||||||
while ($contact = DBA::fetch($contacts)) {
|
|
||||||
$inboxes[$contact['inbox']] = $contact['inbox'];
|
$inboxes[$contact['inbox']] = $contact['inbox'];
|
||||||
}
|
}
|
||||||
DBA::close($contacts);
|
|
||||||
|
|
||||||
return $inboxes;
|
return $inboxes;
|
||||||
}
|
}
|
||||||
|
@ -92,7 +88,7 @@ class Transmitter
|
||||||
return $inboxes;
|
return $inboxes;
|
||||||
}
|
}
|
||||||
|
|
||||||
$relays = Relay::getList($item_id, [], [Protocol::ACTIVITYPUB]);
|
$relays = Relay::getDirectRelayList($item_id);
|
||||||
if (empty($relays)) {
|
if (empty($relays)) {
|
||||||
return $inboxes;
|
return $inboxes;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,6 @@ use Friendica\DI;
|
||||||
use Friendica\Model\APContact;
|
use Friendica\Model\APContact;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\GServer;
|
use Friendica\Model\GServer;
|
||||||
use Friendica\Model\Item;
|
|
||||||
use Friendica\Model\Post;
|
use Friendica\Model\Post;
|
||||||
use Friendica\Model\Search;
|
use Friendica\Model\Search;
|
||||||
use Friendica\Model\Tag;
|
use Friendica\Model\Tag;
|
||||||
|
@ -54,12 +53,7 @@ class Relay
|
||||||
{
|
{
|
||||||
$config = DI::config();
|
$config = DI::config();
|
||||||
|
|
||||||
$subscribe = $config->get('system', 'relay_subscribe', false);
|
$scope = $config->get('system', 'relay_scope');
|
||||||
if ($subscribe) {
|
|
||||||
$scope = $config->get('system', 'relay_scope', SR_SCOPE_ALL);
|
|
||||||
} else {
|
|
||||||
$scope = SR_SCOPE_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($scope == SR_SCOPE_NONE) {
|
if ($scope == SR_SCOPE_NONE) {
|
||||||
Logger::info('Server does not accept relay posts - rejected', ['network' => $network, 'url' => $url]);
|
Logger::info('Server does not accept relay posts - rejected', ['network' => $network, 'url' => $url]);
|
||||||
|
@ -168,7 +162,7 @@ class Relay
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DBA::isResult($old)) {
|
if (DBA::isResult($old)) {
|
||||||
$fields['updated'] = DateTimeFormat::utcNow();
|
$fields['updated'] = DateTimeFormat::utcNow();
|
||||||
|
|
||||||
Logger::info('Update relay contact', ['server' => $gserver['url'], 'id' => $old['id'], 'fields' => $fields]);
|
Logger::info('Update relay contact', ['server' => $gserver['url'], 'id' => $old['id'], 'fields' => $fields]);
|
||||||
|
@ -224,76 +218,65 @@ class Relay
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a list of relay servers
|
* Return a list of servers that we serve via the direct relay
|
||||||
*
|
|
||||||
* The list contains not only the official relays but also servers that we serve directly
|
|
||||||
*
|
*
|
||||||
* @param integer $item_id id of the item that is sent
|
* @param integer $item_id id of the item that is sent
|
||||||
* @param array $contacts Previously fetched contacts
|
* @param array $contacts Previously fetched contacts
|
||||||
* @param array $networks Networks of the relay servers
|
* @param array $networks Networks of the relay servers
|
||||||
*
|
*
|
||||||
* @return array of relay servers
|
* @return array of relay servers
|
||||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||||
*/
|
*/
|
||||||
public static function getList(int $item_id, array $contacts, array $networks)
|
public static function getDirectRelayList(int $item_id)
|
||||||
{
|
{
|
||||||
$serverlist = [];
|
$serverlist = [];
|
||||||
|
|
||||||
// Fetching relay servers
|
if (!DI::config()->get("system", "relay_directly", false)) {
|
||||||
$serverdata = DI::config()->get("system", "relay_server");
|
return [];
|
||||||
|
|
||||||
if (!empty($serverdata)) {
|
|
||||||
$servers = explode(",", $serverdata);
|
|
||||||
foreach ($servers as $server) {
|
|
||||||
$gserver = DBA::selectFirst('gserver', ['id', 'url', 'network'], ['nurl' => Strings::normaliseLink($server)]);
|
|
||||||
if (DBA::isResult($gserver)) {
|
|
||||||
$serverlist[$gserver['id']] = $gserver;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DI::config()->get("system", "relay_directly", false)) {
|
// We distribute our stuff based on the parent to ensure that the thread will be complete
|
||||||
// We distribute our stuff based on the parent to ensure that the thread will be complete
|
$parent = Post::selectFirst(['uri-id'], ['id' => $item_id]);
|
||||||
$parent = Post::selectFirst(['uri-id'], ['id' => $item_id]);
|
if (!DBA::isResult($parent)) {
|
||||||
if (!DBA::isResult($parent)) {
|
return [];
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Servers that want to get all content
|
// Servers that want to get all content
|
||||||
$servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'all']);
|
$servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'all']);
|
||||||
|
while ($server = DBA::fetch($servers)) {
|
||||||
|
$serverlist[$server['id']] = $server;
|
||||||
|
}
|
||||||
|
DBA::close($servers);
|
||||||
|
|
||||||
|
// All tags of the current post
|
||||||
|
$tags = DBA::select('tag-view', ['name'], ['uri-id' => $parent['uri-id'], 'type' => Tag::HASHTAG]);
|
||||||
|
$taglist = [];
|
||||||
|
while ($tag = DBA::fetch($tags)) {
|
||||||
|
$taglist[] = $tag['name'];
|
||||||
|
}
|
||||||
|
DBA::close($tags);
|
||||||
|
|
||||||
|
// All servers who wants content with this tag
|
||||||
|
$tagserverlist = [];
|
||||||
|
if (!empty($taglist)) {
|
||||||
|
$tagserver = DBA::select('gserver-tag', ['gserver-id'], ['tag' => $taglist]);
|
||||||
|
while ($server = DBA::fetch($tagserver)) {
|
||||||
|
$tagserverlist[] = $server['gserver-id'];
|
||||||
|
}
|
||||||
|
DBA::close($tagserver);
|
||||||
|
}
|
||||||
|
|
||||||
|
// All adresses with the given id
|
||||||
|
if (!empty($tagserverlist)) {
|
||||||
|
$servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'tags', 'id' => $tagserverlist]);
|
||||||
while ($server = DBA::fetch($servers)) {
|
while ($server = DBA::fetch($servers)) {
|
||||||
$serverlist[$server['id']] = $server;
|
$serverlist[$server['id']] = $server;
|
||||||
}
|
}
|
||||||
DBA::close($servers);
|
DBA::close($servers);
|
||||||
|
|
||||||
// All tags of the current post
|
|
||||||
$tags = DBA::select('tag-view', ['name'], ['uri-id' => $parent['uri-id'], 'type' => Tag::HASHTAG]);
|
|
||||||
$taglist = [];
|
|
||||||
while ($tag = DBA::fetch($tags)) {
|
|
||||||
$taglist[] = $tag['name'];
|
|
||||||
}
|
|
||||||
DBA::close($tags);
|
|
||||||
|
|
||||||
// All servers who wants content with this tag
|
|
||||||
$tagserverlist = [];
|
|
||||||
if (!empty($taglist)) {
|
|
||||||
$tagserver = DBA::select('gserver-tag', ['gserver-id'], ['tag' => $taglist]);
|
|
||||||
while ($server = DBA::fetch($tagserver)) {
|
|
||||||
$tagserverlist[] = $server['gserver-id'];
|
|
||||||
}
|
|
||||||
DBA::close($tagserver);
|
|
||||||
}
|
|
||||||
|
|
||||||
// All adresses with the given id
|
|
||||||
if (!empty($tagserverlist)) {
|
|
||||||
$servers = DBA::select('gserver', ['id', 'url', 'network'], ['relay-subscribe' => true, 'relay-scope' => 'tags', 'id' => $tagserverlist]);
|
|
||||||
while ($server = DBA::fetch($servers)) {
|
|
||||||
$serverlist[$server['id']] = $server;
|
|
||||||
}
|
|
||||||
DBA::close($servers);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$contacts = [];
|
||||||
|
|
||||||
// Now we are collecting all relay contacts
|
// Now we are collecting all relay contacts
|
||||||
foreach ($serverlist as $gserver) {
|
foreach ($serverlist as $gserver) {
|
||||||
// We don't send messages to ourselves
|
// We don't send messages to ourselves
|
||||||
|
@ -304,15 +287,24 @@ class Relay
|
||||||
if (empty($contact)) {
|
if (empty($contact)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($contact['network'], $networks) && !in_array($contact['batch'], array_column($contacts, 'batch'))) {
|
|
||||||
$contacts[] = $contact;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $contacts;
|
return $contacts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a list of relay servers
|
||||||
|
*
|
||||||
|
* @param array $fields Field list
|
||||||
|
* @return array
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public static function getList($fields = []):array
|
||||||
|
{
|
||||||
|
return DBA::selectToArray('apcontact', $fields,
|
||||||
|
["`type` = ? AND `url` IN (SELECT `url` FROM `contact` WHERE `uid` = ? AND `rel` = ?)", 'Application', 0, Contact::FRIEND]);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a contact for a given server address or creates a dummy entry
|
* Return a contact for a given server address or creates a dummy entry
|
||||||
*
|
*
|
||||||
|
|
|
@ -39,7 +39,6 @@ use Friendica\Protocol\Activity;
|
||||||
use Friendica\Protocol\ActivityPub;
|
use Friendica\Protocol\ActivityPub;
|
||||||
use Friendica\Protocol\Diaspora;
|
use Friendica\Protocol\Diaspora;
|
||||||
use Friendica\Protocol\OStatus;
|
use Friendica\Protocol\OStatus;
|
||||||
use Friendica\Protocol\Relay;
|
|
||||||
use Friendica\Protocol\Salmon;
|
use Friendica\Protocol\Salmon;
|
||||||
use Friendica\Util\Network;
|
use Friendica\Util\Network;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
@ -442,12 +441,12 @@ class Notifier
|
||||||
$batch_delivery = false;
|
$batch_delivery = false;
|
||||||
|
|
||||||
if ($public_message && !in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) {
|
if ($public_message && !in_array($cmd, [Delivery::MAIL, Delivery::SUGGESTION]) && !$followup) {
|
||||||
$relay_list = [];
|
$participants = [];
|
||||||
|
|
||||||
if ($diaspora_delivery && !$unlisted) {
|
if ($diaspora_delivery && !$unlisted) {
|
||||||
$batch_delivery = true;
|
$batch_delivery = true;
|
||||||
|
|
||||||
$relay_list_stmt = DBA::p(
|
$participants_stmt = DBA::p(
|
||||||
"SELECT
|
"SELECT
|
||||||
`batch`, `network`, `protocol`,
|
`batch`, `network`, `protocol`,
|
||||||
ANY_VALUE(`id`) AS `id`,
|
ANY_VALUE(`id`) AS `id`,
|
||||||
|
@ -466,17 +465,11 @@ class Notifier
|
||||||
$owner['uid'],
|
$owner['uid'],
|
||||||
Contact::SHARING
|
Contact::SHARING
|
||||||
);
|
);
|
||||||
$relay_list = DBA::toArray($relay_list_stmt);
|
$participants = DBA::toArray($participants_stmt);
|
||||||
|
|
||||||
// Fetch the participation list
|
// Fetch the participation list
|
||||||
// The function will ensure that there are no duplicates
|
// The function will ensure that there are no duplicates
|
||||||
$relay_list = Diaspora::participantsForThread($target_item, $relay_list);
|
$participants = Diaspora::participantsForThread($target_item, $participants);
|
||||||
|
|
||||||
// Add the relay to the list, avoid duplicates.
|
|
||||||
// Don't send community posts to the relay. Forum posts via the Diaspora protocol are looking ugly.
|
|
||||||
if (!$followup && !Item::isForumPost($target_item, $owner) && !self::isForumPost($target_item)) {
|
|
||||||
$relay_list = Relay::getList($target_id, $relay_list, [Protocol::DFRN, Protocol::DIASPORA]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$condition = ['network' => Protocol::DFRN, 'uid' => $owner['uid'], 'blocked' => false,
|
$condition = ['network' => Protocol::DFRN, 'uid' => $owner['uid'], 'blocked' => false,
|
||||||
|
@ -484,7 +477,7 @@ class Notifier
|
||||||
|
|
||||||
$contacts = DBA::toArray(DBA::select('contact', ['id', 'url', 'addr', 'name', 'network', 'protocol'], $condition));
|
$contacts = DBA::toArray(DBA::select('contact', ['id', 'url', 'addr', 'name', 'network', 'protocol'], $condition));
|
||||||
|
|
||||||
$conversants = array_merge($contacts, $relay_list);
|
$conversants = array_merge($contacts, $participants);
|
||||||
|
|
||||||
$delivery_queue_count += self::delivery($cmd, $post_uriid, $sender_uid, $target_item, $thr_parent, $owner, $batch_delivery, true, $conversants, $ap_contacts, []);
|
$delivery_queue_count += self::delivery($cmd, $post_uriid, $sender_uid, $target_item, $thr_parent, $owner, $batch_delivery, true, $conversants, $ap_contacts, []);
|
||||||
|
|
||||||
|
|
|
@ -164,9 +164,13 @@ return [
|
||||||
// Comma separated list of tags that are rejected.
|
// Comma separated list of tags that are rejected.
|
||||||
'relay_deny_tags' => '',
|
'relay_deny_tags' => '',
|
||||||
|
|
||||||
// relay_server (String)
|
// relay_directly (Boolean)
|
||||||
// Address of the relay server where public posts should be send to.
|
// Directly transmit content to relay subscribers without using a relay server
|
||||||
'relay_server' => 'https://social-relay.isurf.ca',
|
'relay_directly' => false,
|
||||||
|
|
||||||
|
// relay_scope (SR_SCOPE_NONE, SR_SCOPE_TAGS or SR_SCOPE_ALL)
|
||||||
|
// Defines the scope of accepted posts from the relay servers
|
||||||
|
'relay_scope' => SR_SCOPE_NONE,
|
||||||
|
|
||||||
// relay_server_tags (String)
|
// relay_server_tags (String)
|
||||||
// Comma separated list of tags for the "tags" subscription.
|
// Comma separated list of tags for the "tags" subscription.
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -127,13 +127,22 @@
|
||||||
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}"/></div>
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}"/></div>
|
||||||
|
|
||||||
<h2>{{$relay_title}}</h2>
|
<h2>{{$relay_title}}</h2>
|
||||||
{{include file="field_checkbox.tpl" field=$relay_subscribe}}
|
{{if $relay_list}}
|
||||||
{{include file="field_input.tpl" field=$relay_server}}
|
<p>{{$relay_list_title}}</p>
|
||||||
{{include file="field_checkbox.tpl" field=$relay_directly}}
|
<ul id="relay-list">
|
||||||
|
{{foreach $relay_list as $relay}}
|
||||||
|
<li>{{$relay.url}}</li>
|
||||||
|
{{/foreach}}
|
||||||
|
</ul>
|
||||||
|
{{else}}
|
||||||
|
<p>{{$no_relay_list}}</p>
|
||||||
|
{{/if}}
|
||||||
|
<p>{{$relay_description}}</p>
|
||||||
{{include file="field_select.tpl" field=$relay_scope}}
|
{{include file="field_select.tpl" field=$relay_scope}}
|
||||||
{{include file="field_input.tpl" field=$relay_server_tags}}
|
{{include file="field_input.tpl" field=$relay_server_tags}}
|
||||||
{{include file="field_input.tpl" field=$relay_deny_tags}}
|
{{include file="field_input.tpl" field=$relay_deny_tags}}
|
||||||
{{include file="field_checkbox.tpl" field=$relay_user_tags}}
|
{{include file="field_checkbox.tpl" field=$relay_user_tags}}
|
||||||
|
{{include file="field_checkbox.tpl" field=$relay_directly}}
|
||||||
|
|
||||||
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}"/></div>
|
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}"/></div>
|
||||||
|
|
||||||
|
|
31
view/templates/structure.tpl
Normal file
31
view/templates/structure.tpl
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
Table {{$name nofilter}}
|
||||||
|
===========
|
||||||
|
|
||||||
|
{{$comment nofilter}}
|
||||||
|
|
||||||
|
Fields
|
||||||
|
------
|
||||||
|
|
||||||
|
{{foreach $fields as $field}}
|
||||||
|
| {{$field.name nofilter}} | {{$field.comment nofilter}} | {{$field.type nofilter}} | {{$field.null nofilter}} | {{$field.primary nofilter}} | {{$field.default nofilter}} | {{$field.extra nofilter}} |
|
||||||
|
{{/foreach}}
|
||||||
|
|
||||||
|
Indexes
|
||||||
|
------------
|
||||||
|
|
||||||
|
{{foreach $indexes as $index}}
|
||||||
|
| {{$index.name nofilter}} | {{$index.fields nofilter}} |
|
||||||
|
{{/foreach}}
|
||||||
|
|
||||||
|
{{if $foreign}}
|
||||||
|
Foreign Keys
|
||||||
|
------------
|
||||||
|
|
||||||
|
| Field | Target Table | Target Field |
|
||||||
|
|-------|--------------|--------------|
|
||||||
|
{{foreach $foreign as $key}}
|
||||||
|
| {{$key.field nofilter}} | [{{$key.targettable nofilter}}](help/database/db_{{$key.targettable nofilter}}) | {{$key.targetfield nofilter}} |
|
||||||
|
{{/foreach}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
Return to [database documentation](help/database)
|
10
view/templates/tables.tpl
Normal file
10
view/templates/tables.tpl
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Database Tables
|
||||||
|
===============
|
||||||
|
|
||||||
|
* [Home](help)
|
||||||
|
|
||||||
|
| Table | Description |
|
||||||
|
|-------|-------------|
|
||||||
|
{{foreach $tables as $table}}
|
||||||
|
| [{{$table.name nofilter}}](help/database/db_{{$table.name nofilter}}) | {{$table.comment nofilter}} |
|
||||||
|
{{/foreach}}
|
|
@ -297,13 +297,22 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="admin-settings-relay-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="admin-settings-relay">
|
<div id="admin-settings-relay-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="admin-settings-relay">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
{{include file="field_checkbox.tpl" field=$relay_subscribe}}
|
{{if $relay_list}}
|
||||||
{{include file="field_input.tpl" field=$relay_server}}
|
<p>{{$relay_list_title}}</p>
|
||||||
{{include file="field_checkbox.tpl" field=$relay_directly}}
|
<ul id="relay-list">
|
||||||
|
{{foreach $relay_list as $relay}}
|
||||||
|
<li>{{$relay.url}}</li>
|
||||||
|
{{/foreach}}
|
||||||
|
</ul>
|
||||||
|
{{else}}
|
||||||
|
<p>{{$no_relay_list}}</p>
|
||||||
|
{{/if}}
|
||||||
|
<p>{{$relay_description}}</p>
|
||||||
{{include file="field_select.tpl" field=$relay_scope}}
|
{{include file="field_select.tpl" field=$relay_scope}}
|
||||||
{{include file="field_input.tpl" field=$relay_server_tags}}
|
{{include file="field_input.tpl" field=$relay_server_tags}}
|
||||||
{{include file="field_input.tpl" field=$relay_deny_tags}}
|
{{include file="field_input.tpl" field=$relay_deny_tags}}
|
||||||
{{include file="field_checkbox.tpl" field=$relay_user_tags}}
|
{{include file="field_checkbox.tpl" field=$relay_user_tags}}
|
||||||
|
{{include file="field_checkbox.tpl" field=$relay_directly}}
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer">
|
<div class="panel-footer">
|
||||||
<input type="submit" name="page_site" class="btn btn-primary" value="{{$submit}}"/>
|
<input type="submit" name="page_site" class="btn btn-primary" value="{{$submit}}"/>
|
||||||
|
|
Loading…
Reference in a new issue