67
edits
No edit summary |
No edit summary |
||
Line 166: | Line 166: | ||
|int 3 | |int 3 | ||
|Banned IP netmask | |Banned IP netmask | ||
|32 | |32 - single address | ||
|- | |- | ||
|user_id | |user_id | ||
Line 213: | Line 213: | ||
|Privilege | |Privilege | ||
| | | | ||
|- | |- | ||
|created_by | |created_by | ||
Line 262: | Line 257: | ||
|Parent role ID | |Parent role ID | ||
| | | | ||
|- | |- | ||
|created_by | |created_by | ||
Line 292: | Line 282: | ||
This microservice contains the store, ownership and "physical" representation of the games. | This microservice contains the store, ownership and "physical" representation of the games. | ||
==== | ==== Catalog categories ==== | ||
This is for searching content types more easily. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+content category | ||
!Key | !Key | ||
!Type | !Type | ||
Line 302: | Line 293: | ||
|id* | |id* | ||
|PK int 10 | |PK int 10 | ||
| | | | ||
|autoincrement | |||
|- | |- | ||
| | |category* | ||
|text | |text | ||
| | |Category | ||
| | | | ||
|- | |- | ||
|parent_id | |parent_id | ||
|FK int 10 | |FK int 10 | ||
|Parent | |Parent category ID | ||
| | | | ||
|} | |||
{| class="wikitable" | |||
|+content category content type | |||
!Key | |||
!Type | |||
!Description | |||
!Default | |||
|- | |- | ||
| | |id* | ||
| | |PK int 10 | ||
| | | | ||
| | |autoincrement | ||
|- | |- | ||
| | |content_type* | ||
| | |enum | ||
| | |Content.type enum | ||
| | | | ||
|- | |- | ||
| | |category_id | ||
| | |FK int 10 | ||
| | |Category ID | ||
| | | | ||
|} | |||
==== Content ==== | |||
{| class="wikitable" | |||
|+Base object | |||
!Key | |||
!Type | |||
!Description | |||
!Default | |||
|- | |- | ||
| | |id* | ||
| | |PK int 10 | ||
| | |Content ID | ||
| | |||
| | |||
|- | |- | ||
| | |name* | ||
| | |varchar 255 | ||
| | |Item name | ||
| | | | ||
|- | |- | ||
| | |description* | ||
|text | |text | ||
| | |Item description | ||
| | | | ||
|- | |- | ||
| | |user_id | ||
|FK UUID | |FK UUID | ||
| | |Creator ID | ||
| | | | ||
|- | |- | ||
| | |parent_id | ||
|FK | |FK int 10 | ||
| | |Parent content ID | ||
| | | | ||
|- | |- | ||
|created_at | |restricted* | ||
|datetime | |boolean | ||
| | |If true, asset has been restricted by a moderator. | ||
| | |false | ||
|- | |- | ||
|updated_at | |onsale* | ||
|datetime | |boolean | ||
| | |If true, asset is available for sale. If no prices defined, is free. | ||
Field has no effect on games unless prices are also defined. | |||
|false | |||
|- | |||
|published* | |||
|boolean | |||
|If false, only visible to the creator (and moderators) | |||
|false | |||
|- | |||
|comments_enabled* | |||
|boolean | |||
|Comments enabled | |||
|true | |||
|- | |||
|privacy* | |||
|enum (public, friends, unlisted, private) | |||
|Only applies to games(?) | |||
Visibility of content on the platform. | |||
|public | |||
|- | |||
|type* | |||
|enum | |||
|Content type. | |||
* Generic: content | |||
* Character items: character, hat, accessory, front, back, tool | |||
* Creator items: mesh, texture, gameobject, sound, animation | |||
* Comments: comment, status | |||
* Games: game, world | |||
|content | |||
|- | |||
|open_source* | |||
|boolean | |||
|Content is open source - can be downloaded / reused | |||
|false | |||
|- | |||
|tradeable* | |||
|boolean | |||
|Marks this item as tradeable. | |||
Forbidden on: <code>content</code>, Creator items, Comments, Games | |||
|false | |||
|- | |||
|marketable* | |||
|boolean | |||
|If true, users can resell their owned copies of this content. | |||
Doesn't make much sense without a limited stock. | |||
Forbidden on: <code>content</code>, Creator items, Comments, Games | |||
|false | |||
|- | |||
|stock | |||
|int | |||
|Max sold item count. | |||
Forbidden on: <code>content</code>, Creator items, Comments, Games | |||
| | |||
|- | |||
|license | |||
|text | |||
|Optional license text | |||
| | |||
|- | |||
|created_by | |||
|FK UUID | |||
|User id | |||
| | |||
|- | |||
|updated_by | |||
|FK UUID | |||
|User id | |||
| | |||
|- | |||
|created_at | |||
|datetime | |||
| | |||
| | |||
|- | |||
|updated_at | |||
|datetime | |||
| | |||
| | |||
|- | |||
|deleted_at | |||
|datetime | |||
| | |||
| | |||
|} | |||
{| class="wikitable" | |||
|+Content revision | |||
!Key | |||
!Type | |||
!Description | |||
!Default | |||
|- | |||
|id* | |||
|PK int 10 | |||
|Revision ID | |||
| | |||
|- | |||
|content_id* | |||
|FK int 10 | |||
|Content ID | |||
| | |||
|- | |||
|created_by* | |||
|FK UUID | |||
|User ID | |||
| | |||
|- | |||
|updated_by | |||
|FK UUID | |||
| | |||
| | |||
|- | |||
|created_at | |||
|datetime | |||
| | |||
| | |||
|- | |||
|updated_at | |||
|datetime | |||
| | |||
| | |||
|- | |||
|deleted_at | |||
|datetime | |||
| | |||
| | |||
|} | |||
{| class="wikitable" | |||
|+Content relation | |||
!Key | |||
!Type | |||
!Description | |||
!Default | |||
|- | |||
|id* | |||
|PK int 10 | |||
|Revision ID | |||
| | |||
|- | |||
|first_content_id* | |||
|FK int 10 | |||
|Content ID | |||
| | |||
|- | |||
|second_content_id* | |||
|FK int 10 | |||
|Second content ID. | |||
Second content is <relation> of the first. | |||
| | |||
|- | |||
|relation* | |||
|enum | |||
|Relation type | |||
* support - Second content supports first | |||
* depend - Second content depends on first | |||
* variant - Second content is variant of first | |||
* alternative - Second content is alternative to first | |||
* visual - Second content is a visualization of first | |||
* related - Second content is related to first | |||
* comment - Second content is a comment | |||
* part - Second content is part of first | |||
| | | | ||
|- | |- | ||
| | |relation_name | ||
| | |string | ||
| | |More detailed name of the relation (thumbnail, icon, texture, character) | ||
| | | | ||
|- | |- | ||
Line 435: | Line 554: | ||
|- | |- | ||
|updated_at | |updated_at | ||
|datetime | |datetime | ||
| | | | ||
Line 1,708: | Line 1,822: | ||
| | | | ||
|} | |} | ||
=== Render microservice === | |||
Render microservice does not have any databases. Its only job is to render 3D assets to 2D thumbnails. | |||
Character accessories are rendered onto supported character models and then uploaded as thumbnail image assets. | |||
GameObjects are also rendered here. | |||
This microservice also does transcoding and reformatting - formatting variable formats into commonly used ones. |