Files
ontime/server/data/db.json
T
Carlos Valente 8c740b7111 Feat/excel (#45)
* add dependency

adding dependency to parse the excel file in the node side

* import file

ability to import file
- add extension
- safeguard file type and size

* user is able to upload json or excel

* chore: extract logic into self contained function

* associate model with version

* test id generation

* parse excel data

* prevent UI crash on bad data

* extract validation into self contained function

* chore: add more tests for bad data

* config: stop from opening browser on start

* fix comma in sample db

* handle corrupt files

* error boundary around main components

* jsdocs

* increase id length

* parse excel time string

* feat: excel parsing

* validate json db before import

* chore: test event validator

* feat: make function to clean convert strings

* chore: test parser

* chore: jsdocs

* fix: bug on upload

prevent bug where the component would prevent upload of same file twice
2021-11-24 22:07:31 +01:00

127 lines
2.9 KiB
JSON

{
"events": [
{
"title": "Welcome to Ontime",
"subtitle": "Subtitles are useful",
"presenter": "cpvalente",
"note": "Maybe a running note for the operator?",
"timeStart": 28800000,
"timeEnd": 30600000,
"isPublic": false,
"type": "event",
"revision": 7,
"id": "5946"
},
{
"title": "This is your event list",
"subtitle": "",
"presenter": "cpvalente",
"note": "",
"timeStart": 30600000,
"timeEnd": 34200000,
"isPublic": false,
"type": "event",
"revision": 4,
"id": "c2e7"
},
{
"title": "Events run in the list order",
"subtitle": "",
"presenter": "",
"note": "",
"timeStart": 34200000,
"timeEnd": 34800000,
"isPublic": false,
"type": "event",
"revision": 4,
"id": "cc0f"
},
{
"title": "Unless recalled by the OSC address",
"subtitle": "",
"presenter": "",
"note": "In green, below",
"timeStart": 34800000,
"timeEnd": 35400000,
"isPublic": false,
"type": "event",
"revision": 7,
"id": "8ee5"
},
{
"title": "Use simpler times to create a timer",
"subtitle": "",
"presenter": "",
"note": "",
"timeStart": 0,
"timeEnd": 600000,
"isPublic": false,
"type": "event",
"revision": 2,
"id": "8222"
},
{
"duration": 900000,
"type": "delay",
"revision": 1,
"id": "a386"
},
{
"title": "Add delay blocks to affect all events",
"subtitle": "",
"presenter": "",
"note": "* Until a block is found",
"timeStart": 35400000,
"timeEnd": 36600000,
"isPublic": false,
"type": "event",
"revision": 6,
"id": "6dce"
},
{
"title": "Add and remove events with [+] and [-]",
"subtitle": "",
"presenter": "",
"note": "Orange and red buttons on the right",
"timeStart": 36600000,
"timeEnd": 43200000,
"isPublic": false,
"type": "event",
"revision": 9,
"id": "2651"
},
{
"type": "block",
"id": "e6a1"
},
{
"title": "And control whether they are public",
"subtitle": "",
"presenter": "",
"note": "Blue button on the right",
"timeStart": 46800000,
"timeEnd": 57600000,
"isPublic": false,
"type": "event",
"revision": 6,
"id": "1358"
}
],
"event": {
"title": "All about Carlos demo event",
"url": "www.carlosvalente.com",
"publicInfo": "WiFi: demoproject \nPassword: ontimeproject",
"backstageInfo": "WiFi: demobackstage\nPassword: ontimeproject",
"endMessage": ""
},
"settings": {
"app": "ontime",
"version": 1,
"serverPort": 4001,
"oscInPort": 8888,
"oscOutPort": 9999,
"oscOutIP": "127.0.0.1",
"oscEnabled": true,
"lock": false
}
}