fix(api): add nullable context to #96/#98 DTOs; regen OpenAPI + SPA types
Build ErsatzTV Image / Build & test (.NET) (pull_request) Successful in 3m57s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (pull_request) Successful in 4m53s
Build ErsatzTV Image / Build & push image (amd64) (pull_request) Has been skipped

ChannelResponseModel and BulkChannelRequests DTOs lacked file-scoped
#nullable enable, so the OpenAPI generator emitted every string
property as a ["null","string"] union (project Nullable default is
disable), polluting SPA typegen with needless `| null` unions.
ChannelStateResponseModel already complied with this convention
(precedent: PlayoutResponseModel). All properties in both files are
always populated (never null in practice), so no property needed to
become explicitly optional/nullable - just adding #nullable enable
was sufficient to clean up the generated schema.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 08:02:28 +02:00
co-authored by Claude Fable 5
parent 7bd694394a
commit 8d89ab1624
4 changed files with 27 additions and 61 deletions
+12 -48
View File
@@ -3916,10 +3916,7 @@
"type": "object",
"properties": {
"channelIds": {
"type": [
"null",
"array"
],
"type": "array",
"items": {
"type": "integer",
"format": "int32"
@@ -3935,20 +3932,14 @@
"type": "object",
"properties": {
"channelIds": {
"type": [
"null",
"array"
],
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
},
"group": {
"type": [
"null",
"string"
]
"type": "string"
}
}
},
@@ -3964,10 +3955,7 @@
"format": "int32"
},
"number": {
"type": [
"null",
"string"
]
"type": "string"
}
}
},
@@ -3978,10 +3966,7 @@
"type": "object",
"properties": {
"channels": {
"type": [
"null",
"array"
],
"type": "array",
"items": {
"$ref": "#/components/schemas/BulkRenumberChannelRequest"
}
@@ -4143,50 +4128,29 @@
"format": "int32"
},
"number": {
"type": [
"null",
"string"
]
"type": "string"
},
"sortNumber": {
"type": "number",
"format": "double"
},
"name": {
"type": [
"null",
"string"
]
"type": "string"
},
"group": {
"type": [
"null",
"string"
]
"type": "string"
},
"categories": {
"type": [
"null",
"string"
]
"type": "string"
},
"fFmpegProfile": {
"type": [
"null",
"string"
]
"type": "string"
},
"language": {
"type": [
"null",
"string"
]
"type": "string"
},
"streamingMode": {
"type": [
"null",
"string"
]
"type": "string"
},
"isEnabled": {
"type": "boolean"