Merge remote-tracking branch 'origin/main' into feat/144-s1-blocks
Build ErsatzTV Image / Build & test (.NET) (pull_request) Successful in 4m31s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (pull_request) Successful in 4m42s
Build ErsatzTV Image / Build & push image (amd64) (pull_request) Has been skipped

This commit is contained in:
2026-07-07 18:15:29 +02:00
11 changed files with 1037 additions and 31 deletions
+145 -3
View File
@@ -4043,7 +4043,8 @@
"tags": [
"Playouts"
],
"summary": "Create a classic playout",
"summary": "Create a playout",
"description": "Creates a playout of any kind (Classic, Block, Sequential, Scripted, or ExternalJson) for a channel. Classic requires ProgramScheduleId; Sequential/Scripted/ExternalJson require ScheduleFile; Block requires neither. A channel may only have one playout.",
"requestBody": {
"content": {
"application/json-patch+json": {
@@ -4228,6 +4229,111 @@
}
}
},
"put": {
"tags": [
"Playouts"
],
"summary": "Update playout scheduling details",
"description": "DailyRebuildTime is always applied; omit it (null) to clear the daily reset. ScheduleFile is only valid for Sequential, Scripted, and ExternalJson playouts; omit it (null) to leave it unchanged.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/UpdatePlayoutDetailsRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePlayoutDetailsRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePlayoutDetailsRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/UpdatePlayoutDetailsRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/PlayoutResponseModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlayoutResponseModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/PlayoutResponseModel"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"422": {
"description": "Unprocessable Entity",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
},
"delete": {
"tags": [
"Playouts"
@@ -10325,7 +10431,9 @@
"CreatePlayoutRequest": {
"required": [
"channelId",
"programScheduleId"
"scheduleKind",
"programScheduleId",
"scheduleFile"
],
"type": "object",
"properties": {
@@ -10333,9 +10441,21 @@
"type": "integer",
"format": "int32"
},
"scheduleKind": {
"$ref": "#/components/schemas/PlayoutScheduleKind"
},
"programScheduleId": {
"type": "integer",
"type": [
"null",
"integer"
],
"format": "int32"
},
"scheduleFile": {
"type": [
"null",
"string"
]
}
}
},
@@ -13806,6 +13926,28 @@
}
}
},
"UpdatePlayoutDetailsRequest": {
"required": [
"dailyRebuildTime",
"scheduleFile"
],
"type": "object",
"properties": {
"dailyRebuildTime": {
"pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
"type": [
"null",
"string"
]
},
"scheduleFile": {
"type": [
"null",
"string"
]
}
}
},
"UpdatePlayoutSettingsRequest": {
"required": [
"daysToBuild",