* add vue ui
* add channels mock api
* Initial Vue framework with Vuetify UI (#688)
* fix hls direct streaming mode (#682)
* duration analysis on files with missing duration metadata (#683)
* first pass
* analyze zero-duration files
* add readme note for WIP
* add vuetify and basic sidebar layout - responsive
* add vue-router and initial home page
* setup composition-api for vue2
* install pinia ie... vuex4
* mixing for automatic page title
* add logo files
* tweak theme colors
* install store
* use store for menu toggle
* replicate old menu
* implement menu and children menus
* rename state to application state
* update vue files and add version to sidebar
* lock logo and make expandable list remove minified menu
* remove todo, will add to PR
* top bar links and attempt at snackbar with state
* fix snackbar
* add search basic component
* fix search bar placement
* remove un-used footer
* Revert "Merge branch 'jasongdove:main' into intitial-vuetify-ui"
This reverts commit 43016d502b.
Co-authored-by: Jason Dove <jason@jasondove.me>
* Add ESLint and Prettier for VueJS (#691)
* add prettier to config
* run npm run lint over project to clean up files
* replace hr tag with v-dividers
* add vue-lint github action
* fix the dodo in me
* Hu
* Fix path
* convert to multi-run step
* forgot the name
* add vue-lint github action
fix the dodo in me
Hu
Fix path
convert to multi-run step
forgot the name
* Fix new line at end of file
* WIP
* dockerfile consistency
* use npm ci and node v14
* force prettier indenting and end of line (#695)
* disable filename hashing
* don't build tests in docker
* update dependencies
* fix running both uis
Co-authored-by: James Mackay <info@notexpectedyet.com>
92 lines
2.9 KiB
JSON
92 lines
2.9 KiB
JSON
{
|
|
"uuid": "49d843b2-cad8-4e26-a7f7-e2081683ee0e",
|
|
"lastMigration": 19,
|
|
"name": "ErsatzTV (copy)",
|
|
"endpointPrefix": "",
|
|
"latency": 0,
|
|
"port": 3000,
|
|
"hostname": "0.0.0.0",
|
|
"routes": [
|
|
{
|
|
"uuid": "56cb284d-6911-4695-a8ca-eecffbfcbd57",
|
|
"documentation": "get all channels",
|
|
"method": "get",
|
|
"endpoint": "api/channels",
|
|
"responses": [
|
|
{
|
|
"uuid": "4fc6ab6f-6a1b-4084-8bb2-94f00d62840c",
|
|
"body": "[\n {{#repeat (faker 'datatype.number' min=1 max=5)}}\n { \n \"id\": {{@index}},\n \"number\": {{faker 'datatype.number' min=1 max=25}},\n \"name\": \"{{faker 'hacker.adjective'}} {{faker 'hacker.noun'}}\",\n \"group\": \"\",\n \"categories\": [],\n \"ffmpegProfileId\": 1,\n \"logo\": \"\",\n \"language\": \"{{oneOf (array '' 'eng')}}\",\n \"streamingMode\": \"{{oneOf (array 'HLS Segmenter' 'MPEG-TS')}}\"\n }\n {{/repeat}}\n]",
|
|
"latency": 0,
|
|
"statusCode": 200,
|
|
"label": "",
|
|
"headers": [],
|
|
"filePath": "",
|
|
"sendFileAsBody": false,
|
|
"rules": [],
|
|
"rulesOperator": "OR",
|
|
"disableTemplating": false,
|
|
"fallbackTo404": false
|
|
}
|
|
],
|
|
"enabled": true,
|
|
"randomResponse": false,
|
|
"sequentialResponse": false
|
|
},
|
|
{
|
|
"uuid": "a87f888a-2038-495e-9f89-2ae32b854004",
|
|
"documentation": "get all ffmpeg profiles",
|
|
"method": "get",
|
|
"endpoint": "api/ffmpeg/profiles",
|
|
"responses": [
|
|
{
|
|
"uuid": "2f42cd38-2591-475f-a4bf-e5fb3455a8b3",
|
|
"body": "[\n {{#repeat (faker 'datatype.number' min=2 max=3)}}\n { \n \"id\": {{@index}},\n \"name\": \"{{faker 'hacker.adjective'}} {{faker 'hacker.noun'}}\",\n \"transcode\": {{faker 'datatype.boolean'}},\n \"resolution\": \"{{oneOf (array '1920x1080' '1280x720' '720x480')}}\",\n \"videoCodec\": \"{{oneOf (array 'hevc_nvenc' 'h264_nvenc')}}\",\n \"audioCodec\": \"{{oneOf (array 'aac' 'ac3')}}\"\n }\n {{/repeat}}\n]",
|
|
"latency": 0,
|
|
"statusCode": 200,
|
|
"label": "",
|
|
"headers": [],
|
|
"filePath": "",
|
|
"sendFileAsBody": false,
|
|
"rules": [],
|
|
"rulesOperator": "OR",
|
|
"disableTemplating": false,
|
|
"fallbackTo404": false
|
|
}
|
|
],
|
|
"enabled": true,
|
|
"randomResponse": false,
|
|
"sequentialResponse": false
|
|
}
|
|
],
|
|
"proxyMode": false,
|
|
"proxyHost": "",
|
|
"proxyRemovePrefix": false,
|
|
"tlsOptions": {
|
|
"enabled": false,
|
|
"type": "CERT",
|
|
"pfxPath": "",
|
|
"certPath": "",
|
|
"keyPath": "",
|
|
"caPath": "",
|
|
"passphrase": ""
|
|
},
|
|
"cors": true,
|
|
"headers": [
|
|
{
|
|
"key": "Content-Type",
|
|
"value": "application/json"
|
|
}
|
|
],
|
|
"proxyReqHeaders": [
|
|
{
|
|
"key": "",
|
|
"value": ""
|
|
}
|
|
],
|
|
"proxyResHeaders": [
|
|
{
|
|
"key": "",
|
|
"value": ""
|
|
}
|
|
]
|
|
} |