Development whiteboard: Difference between revisions

no edit summary
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
|
|
|-
|automatic*
|boolean
|Automatically assign to new users
|false
|-
|-
|created_by
|created_by
Line 262: Line 257:
|Parent role ID
|Parent role ID
|
|
|-
|automatic*
|boolean
|Automatically assign to new users
|false
|-
|-
|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.


==== Content ====
==== Catalog categories ====
This is for searching content types more easily.
{| class="wikitable"
{| class="wikitable"
|+Base object
|+content category
!Key
!Key
!Type
!Type
Line 302: Line 293:
|id*
|id*
|PK int 10
|PK int 10
|Content ID
|
|
|autoincrement
|-
|-
|name*
|category*
|varchar 255
|Item name
|
|-
|description*
|text
|text
|Item description
|Category
|
|-
|user_id
|FK UUID
|Creator ID
|
|
|-
|-
|parent_id
|parent_id
|FK int 10
|FK int 10
|Parent content ID
|Parent category ID
|
|
|}
{| class="wikitable"
|+content category content type
!Key
!Type
!Description
!Default
|-
|-
|restricted*
|id*
|boolean
|PK int 10
|If true, asset has been restricted by a moderator.
|
|false
|autoincrement
|-
|onsale*
|boolean
|If true, asset is available for sale. If no prices defined, is free
|false
|-
|-
|published*
|content_type*
|boolean
|enum
|If false, only visible to the creator (and moderators)
|Content.type enum
|false
|
|-
|-
|comments_enabled*
|category_id
|boolean
|FK int 10
|Comments enabled
|Category ID
|true
|
|}
 
==== Content ====
{| class="wikitable"
|+Base object
!Key
!Type
!Description
!Default
|-
|-
|privacy*
|id*
|enum (public, friends, unlisted, private)
|PK int 10
|Only applies to games(?)
|Content ID
Visibility of content on the platform.
|
|public
|-
|-
|type*
|name*
|enum
|varchar 255
|Content type.
|Item name
 
* 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
|-
|stock
|int
|Max sold item count
|
|
|-
|-
|license
|description*
|text
|text
|Optional license text
|Item description
|
|
|-
|-
|created_by
|user_id
|FK UUID
|FK UUID
|User id
|Creator ID
|
|
|-
|-
|updated_by
|parent_id
|FK UUID
|FK int 10
|User id
|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
|
|
|-
|-
|deleted_at
|relation_name
|datetime
|string
|
|More detailed name of the relation (thumbnail, icon, texture, character)
|
|}
{| class="wikitable"
|+Content revision
!Key
!Type
!Description
!Default
|-
|id*
|PK int 10
|Revision ID
|
|-
|content_id*
|FK int 10
|Content ID
|
|
|-
|-
Line 435: Line 554:
|-
|-
|updated_at
|updated_at
|datetime
|
|
|-
|deleted_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.