mirror of
https://github.com/writefreely/documentation.git
synced 2024-11-14 23:11:03 +00:00
Merge pull request #3 from writefreely/database
Completed collections, posts, and users documentation.
This commit is contained in:
commit
0291c0dfb1
111
developer/database.md
Normal file
111
developer/database.md
Normal file
@ -0,0 +1,111 @@
|
||||
# Database Values
|
||||
|
||||
The following is a description of the various database tables and attributes. (This document is not yet complete).
|
||||
|
||||
## `accesstokens`
|
||||
Generated user access tokens for accessing the API.
|
||||
|
||||
## `appcontent`
|
||||
Instance-level dynamic content, usually created via the admin dashboard, such as the About and Privacy pages.
|
||||
|
||||
## `appmigrations`
|
||||
All database migrations that have been run on this database.
|
||||
|
||||
## `collectionattributes`
|
||||
Used for additional properties on collections.
|
||||
|
||||
## `collectionkeys`
|
||||
Public / private keypairs for all collections on the instance. Used to sign ActivityPub / fediverse requests.
|
||||
|
||||
## `collectionpasswords`
|
||||
Salted and hashed passwords for password-protected collections.
|
||||
|
||||
## `collectionredirects`
|
||||
Data about former `alias`es for collections that have had them changed, so that the old `alias` redirects visitors to the new one.
|
||||
|
||||
## `collections`
|
||||
Table that contains collections (i.e. "Blogs").
|
||||
|
||||
* `id`: *int(6)*. **Primary Key**. Blog id. Instance specific.
|
||||
|
||||
* `alias`: *varchar(100)*. Blog identifier based on the blog’s title when created.
|
||||
|
||||
* `title`: *varchar(255*. **Cannot be null**. Blog name.
|
||||
|
||||
* `description`: *varchar(160)*. **Cannot be null**. User defined description of blog.
|
||||
|
||||
* `style_sheet`: *text*. CSS stylesheet data goes here.
|
||||
|
||||
* `script`: *text*. **Currently unused.**
|
||||
|
||||
* `format`: *varchar(8)*. User defined format (`blog`, `novel`, or `notebook`).
|
||||
|
||||
* `privacy`: *tinyint(1)*. **Cannot be null**. 0=Unlisted. 2=Private. 4=Password Protected.
|
||||
|
||||
* `owner_id`: *int(6)*. **Cannot be null**. The id of the user that published this collection.
|
||||
|
||||
* `view_count`: *int(6)*. **Cannot be null**. How many views this collection has.
|
||||
|
||||
## `posts`
|
||||
Table that contains data for posts within collections.
|
||||
|
||||
* `id`: **Primary Key.** *Char(16)*. Randomly generated id.
|
||||
|
||||
* `slug`: *varchar(100)*. Identifier for post. Smartly generated based on post content, favoring: Title > Text > Id.
|
||||
|
||||
* `modify_token`: *char(32)*.
|
||||
|
||||
* `text_appearance`: *char(4)*. **Cannot be null**. Font class (Serif=`norm`, Sans-serif=`sans`, Monospace=`wrap`)
|
||||
|
||||
* `language`: *char2*. The post’s language.
|
||||
|
||||
* `rtl`: *tinyint(1)*. Value is 0 if the post is written left-to-right, 1 if written right-to-left (e.g. Arabic), and null if user never explicitly provided this value.
|
||||
|
||||
* `privacy`: **Not currently used.**
|
||||
|
||||
* `owner_id`: *int(6)*. Id of the author. Id is instance-specific.
|
||||
|
||||
* `collection_id`: *int(6)*. Id of the blog. Id is instance-specific. Null if post is a Draft.
|
||||
|
||||
* `pinned_position`: *tinyint(1)*. The order the post is "pinned" (zero-indexed). Null if not pinned.
|
||||
|
||||
* `created`: *timestamp*. **Cannot be null**. Time and date of first publish
|
||||
|
||||
* `updated`: *timestamp*. **Cannot be null**. Time and date of last edit
|
||||
|
||||
* `view_count`: *int(6)*. **Cannot be null**. How many views this post has.
|
||||
|
||||
* `title`: *varchar(160)*. **Cannot be null**. Title, if author created one (may be empty string).
|
||||
|
||||
* `content`: *text*. **Cannot be null**. The content of the post in plain text.
|
||||
|
||||
## `remotefollows`
|
||||
Data about which remote, i.e. ActivityPub / fediverse, users are following which collections.
|
||||
|
||||
## `remoteuserkeys`
|
||||
Public keys of all remote users.
|
||||
|
||||
## `remoteusers`
|
||||
Data needed to communicate with remote users.
|
||||
|
||||
## `userattributes`
|
||||
Additional attributes on users.
|
||||
|
||||
## `userinvites`
|
||||
User invite codes and metadata.
|
||||
|
||||
## `users`
|
||||
Table that contains user data.
|
||||
|
||||
* `id`: *int(6)*. **Primary Key**. User id. Instance specific.
|
||||
|
||||
* `username`: *varchar(100)*. **Cannot be null**. Chosen username.
|
||||
|
||||
* `password`: *char(60)*. **Cannot be null**. Salted and hashed password.
|
||||
|
||||
* `email`: *varbinary(255)*. Encrypted email address. (null if not given by user).
|
||||
|
||||
* `created`: *datetime*. **Cannot be null**. Date and time account was created.
|
||||
|
||||
## `usersinvited`
|
||||
Data about which users were brought in by which user-invite.
|
Loading…
Reference in New Issue
Block a user