Studio Service

Content JSON Reference

content  is the field in database for many tables like “channel, screen, cast and playlist” which explain the structure of content inside that record. eg. the list and order of files in a playlist.

_ref

_ref is a pointer to other Object

  • type: can be "file", "playlist", "channel", "app", "link"
  • id: UUID of that object
{
_ref: { type:"playlist", id:"uuid" }
}
{
_ref: { type:"file", id:"uuid" }
}
{
_ref: { type: "channel", id:"uuid"}
}

Meta

  • type: the type of the object, eg ‘image/jpeg’
  • size: bytes / size of file

Props

  • default_durations: Object
  • duration: always in millisecond
  • sizing_type: "fit", "fill"
  • default_transition: Object
  • transition: Object

Props Example

{
props: {
default_durations: {
app: 60000,
document: 10000,
image: 10000,
link: 60000
},
sizing_type: {
document: 'fit', // fit,fill
image: 'fill',
video: 'fit'
},
default_transition: {
type: "fade",
color: "#dfdfdf",
duration: 1000,
}
}
}

Default Durations

Default durations of all content(app, document(per page), image, and link) added into current list

Default Durations Example

{
default_durations: {
app: 60000,
document: 10000,
image: 10000,
link: 60000
}
}

Transitions

  • type: can be one of "none", "fade", "dissolve", "jackinthebox", "slide", "roll", "zoom", "bounce", and "flip"
  • duration: always in millisecond
  • direction: can be one of "center", "right", "left", "up", and "down" depends on transition type
  • color: hex color eg. #FEC600 (optional background color for type "fade")
TypeDirections
"none", "fade", "dissolve", "jackinthebox"-
"slide", "roll""right", "left", "up", "down"
"zoom", "bounce""center", "right", "left", "up", "down"
"flip""right", "down"

Transition Example

{
default_transition: {
type: "fade",
color: "#dfdfdf",
duration: 1000
}
}

JSON Schema Validator

ref:

https://github.com/furstenheim/is_jsonb_valid/tree/master/expected

https://github.com/gavinwahl/postgres-json-schema